diff --git a/example/testBot.js b/example/testBot.js index 10df363..7d8c733 100644 --- a/example/testBot.js +++ b/example/testBot.js @@ -1,4 +1,4 @@ -const nmv = require('../dist/index'); +const nmv = require('../dist/index'); const loginParameters = new nmv.LoginParameters(); const parameters = require('./loginParameters.json'); @@ -10,11 +10,16 @@ loginParameters.start = "last"; const bot = new nmv.Bot(loginParameters); -bot.Login().then(() => +bot.Login().then((response) => { - + //Establish circuit wit region + return response.region.circuit.establish(response.agent.agentID); +}).then(() => +{ + console.log("Region circuit established"); }).catch((error) => { + console.log("Error:"); console.error(error); }); diff --git a/lib/classes/Circuit.ts b/lib/classes/Circuit.ts index 982e180..0816384 100644 --- a/lib/classes/Circuit.ts +++ b/lib/classes/Circuit.ts @@ -1,5 +1,18 @@ import {UUID} from './UUID'; -import {MessageDecoder} from './MessageDecoder'; +import {AddressInfo, Socket} from 'dgram'; +import * as dgram from 'dgram'; +import {PacketFlags} from '../enums/PacketFlags'; +import {Packet} from './Packet'; +import {UseCircuitCodeMessage} from './messages/UseCircuitCode'; +import {MessageBase} from './MessageBase'; +import {PacketAckMessage} from './messages/PacketAck'; +import {Message} from '../enums/Message'; +import {StartPingCheckMessage} from './messages/StartPingCheck'; +import {CompletePingCheckMessage} from './messages/CompletePingCheck'; +import {CompleteAgentMovementMessage} from './messages/CompleteAgentMovement'; +import {Subscription} from 'rxjs/Subscription'; +import {Subject} from 'rxjs/Subject'; +import Timer = NodeJS.Timer; export class Circuit { @@ -9,10 +22,213 @@ export class Circuit udpBlacklist: string[]; timestamp: number; seedCapability: string; - decoder: MessageDecoder; + client: Socket | null = null; + port: number; + ipAddress: string; + sequenceNumber = 0; + + awaitingAck: { + [key: number]: { + packet: Packet, + timeout: number + } + } = {}; + + onPacketReceived: Subject; constructor() { - this.decoder = new MessageDecoder(); + this.onPacketReceived = new Subject(); + } + + sendMessage(message: MessageBase, flags: PacketFlags) + { + const packet: Packet = new Packet(); + packet.message = message; + packet.sequenceNumber = this.sequenceNumber++; + packet.packetFlags = flags; + this.sendPacket(packet); + } + + resend(sequenceNumber: number) + { + if (this.awaitingAck[sequenceNumber]) + { + const toResend: Packet = this.awaitingAck[sequenceNumber].packet; + toResend.packetFlags = toResend.packetFlags | PacketFlags.Resent; + this.sendPacket(toResend); + } + } + + waitForMessage(id: Message, timeout: number) + { + return new Promise((resolve, reject) => + { + const handleObj: { + timeout: Timer | null, + subscription: Subscription | null + } = { + timeout: null, + subscription: null + }; + handleObj.timeout = setTimeout(() => + { + if (handleObj.subscription !== null) + { + handleObj.subscription.unsubscribe(); + reject(new Error('Timeout')); + } + }, timeout); + + handleObj.subscription = this.onPacketReceived.subscribe((packet: Packet) => + { + if (packet.message.id === id) + { + if (handleObj.timeout !== null) + { + clearTimeout(handleObj.timeout); + handleObj.timeout = null; + } + if (handleObj.subscription !== null) + { + handleObj.subscription.unsubscribe(); + handleObj.subscription = null; + } + resolve(packet); + } + }, + (err) => + { + console.error(err); + }, () => + { + console.log('Subscription complete'); + }); + }); + } + + sendPacket(packet: Packet) + { + if (packet.packetFlags & PacketFlags.Reliable) + { + this.awaitingAck[packet.sequenceNumber] = + { + packet: packet, + timeout: setTimeout(this.resend.bind(this, packet.sequenceNumber), 1000) + }; + } + let size = packet.getSize(); + const dataToSend: Buffer = Buffer.allocUnsafe(size); + packet.writeToBuffer(dataToSend, 0); + if (this.client !== null) + { + this.client.send(dataToSend, 0, dataToSend.length, this.port, this.ipAddress, (err, bytes) => + { + let resend = ''; + if (packet.packetFlags & PacketFlags.Resent) + { + resend = ' (resent)'; + } + console.log('--> ' + packet.message.name + resend); + }) + } + else + { + console.error('Attempted to send packet but UDP client is null'); + } + } + + ackReceived(sequenceID: number) + { + if (this.awaitingAck[sequenceID]) + { + clearTimeout(this.awaitingAck[sequenceID].timeout); + delete this.awaitingAck[sequenceID]; + } + } + + sendAck(sequenceID: number) + { + const msg: PacketAckMessage = new PacketAckMessage(); + msg.Packets = [ + { + ID: sequenceID + } + ]; + this.sendMessage(msg, 0); + } + + receivedPacket(bytes: Buffer) + { + const packet = new Packet(); + packet.readFromBuffer(bytes, 0, this.ackReceived.bind(this), this.sendAck.bind(this)); + console.log('<--- ' + packet.message.name); + + if (packet.message.id === Message.PacketAck) + { + const msg = packet.message as PacketAckMessage; + msg.Packets.forEach((obj) => + { + this.ackReceived(obj.ID); + }); + } + else if (packet.message.id === Message.StartPingCheck) + { + const msg = packet.message as StartPingCheckMessage; + const reply: CompletePingCheckMessage = new CompletePingCheckMessage(); + reply.PingID = { + PingID: msg.PingID.PingID + }; + this.sendMessage(reply, 0); + } + this.onPacketReceived.next(packet); + } + + establish(agentID: UUID) + { + return new Promise((resolve, reject) => + { + if (this.client !== null) + { + this.client.close(); + } + this.client = dgram.createSocket('udp4'); + this.client.on('listening', () => + { + + }); + + this.client.on('message', (message, remote) => + { + if (remote.address === this.ipAddress) + { + this.receivedPacket(message); + } + }); + + const msg: UseCircuitCodeMessage = new UseCircuitCodeMessage(); + msg.CircuitCode = { + SessionID: this.sessionID, + ID: agentID, + Code: this.circuitCode + }; + this.sendMessage(msg, PacketFlags.Reliable); + + const agentMovement: CompleteAgentMovementMessage = new CompleteAgentMovementMessage(); + agentMovement.AgentData = { + AgentID: agentID, + SessionID: this.sessionID, + CircuitCode: this.circuitCode + }; + this.sendMessage(agentMovement, PacketFlags.Reliable); + + this.waitForMessage(Message.RegionHandshake, 10000).then((packet: Packet) => + { + resolve(); + }).catch((error) => + { + reject(error); + }); + }); } } diff --git a/lib/classes/LoginResponse.ts b/lib/classes/LoginResponse.ts index 0156741..66520a0 100644 --- a/lib/classes/LoginResponse.ts +++ b/lib/classes/LoginResponse.ts @@ -1,6 +1,5 @@ import {UUID} from './UUID'; import {Agent} from './Agent'; -import {Circuit} from './Circuit'; import {Region} from './Region'; import {LoginFlags} from '../enums/LoginFlags'; import {Vector3} from './Vector3'; @@ -69,8 +68,6 @@ export class LoginResponse const json = str.replace(/[\[\]']/g, '\"'); const parsed = JSON.parse(json); - console.log(parsed); - if (parsed['region_handle']) { const coords = parsed['region_handle'].replace(/r/g, '').split(', '); @@ -217,10 +214,10 @@ export class LoginResponse }); break; case 'sim_port': - this.region.port = parseInt(val, 10); + this.region.circuit.port = parseInt(val, 10); break; case 'sim_ip': - this.region.ipAddress = String(val); + this.region.circuit.ipAddress = String(val); break; case 'agent_appearance_service': this.agent.agentAppearanceService = val; diff --git a/lib/classes/MessageBase.ts b/lib/classes/MessageBase.ts new file mode 100644 index 0000000..25429a7 --- /dev/null +++ b/lib/classes/MessageBase.ts @@ -0,0 +1,13 @@ +import {MessageFlags} from '../enums/MessageFlags'; +import {Message} from '../enums/Message'; + +export interface MessageBase +{ + name: string; + messageFlags: MessageFlags; + id: Message; + + getSize(): number; + writeToBuffer(buf: Buffer, pos: number): number; + readFromBuffer(buf: Buffer, pos: number): number; +} diff --git a/lib/classes/MessageClasses.ts b/lib/classes/MessageClasses.ts index fc684f4..7704632 100644 --- a/lib/classes/MessageClasses.ts +++ b/lib/classes/MessageClasses.ts @@ -1,964 +1,964 @@ -// This file has been automatically generated by writePacketClasses.js +// This file has been automatically generated by writeMessageClasses.js -export * from './packets/TestMessage'; -export * from './packets/PacketAck'; -export * from './packets/OpenCircuit'; -export * from './packets/CloseCircuit'; -export * from './packets/StartPingCheck'; -export * from './packets/CompletePingCheck'; -export * from './packets/AddCircuitCode'; -export * from './packets/UseCircuitCode'; -export * from './packets/NeighborList'; -export * from './packets/AvatarTextureUpdate'; -export * from './packets/SimulatorMapUpdate'; -export * from './packets/SimulatorSetMap'; -export * from './packets/SubscribeLoad'; -export * from './packets/UnsubscribeLoad'; -export * from './packets/SimulatorReady'; -export * from './packets/TelehubInfo'; -export * from './packets/SimulatorPresentAtLocation'; -export * from './packets/SimulatorLoad'; -export * from './packets/SimulatorShutdownRequest'; -export * from './packets/RegionPresenceRequestByRegionID'; -export * from './packets/RegionPresenceRequestByHandle'; -export * from './packets/RegionPresenceResponse'; -export * from './packets/UpdateSimulator'; -export * from './packets/LogDwellTime'; -export * from './packets/FeatureDisabled'; -export * from './packets/LogFailedMoneyTransaction'; -export * from './packets/UserReportInternal'; -export * from './packets/SetSimStatusInDatabase'; -export * from './packets/SetSimPresenceInDatabase'; -export * from './packets/EconomyDataRequest'; -export * from './packets/EconomyData'; -export * from './packets/AvatarPickerRequest'; -export * from './packets/AvatarPickerRequestBackend'; -export * from './packets/AvatarPickerReply'; -export * from './packets/PlacesQuery'; -export * from './packets/PlacesReply'; -export * from './packets/DirFindQuery'; -export * from './packets/DirFindQueryBackend'; -export * from './packets/DirPlacesQuery'; -export * from './packets/DirPlacesQueryBackend'; -export * from './packets/DirPlacesReply'; -export * from './packets/DirPeopleReply'; -export * from './packets/DirEventsReply'; -export * from './packets/DirGroupsReply'; -export * from './packets/DirClassifiedQuery'; -export * from './packets/DirClassifiedQueryBackend'; -export * from './packets/DirClassifiedReply'; -export * from './packets/AvatarClassifiedReply'; -export * from './packets/ClassifiedInfoRequest'; -export * from './packets/ClassifiedInfoReply'; -export * from './packets/ClassifiedInfoUpdate'; -export * from './packets/ClassifiedDelete'; -export * from './packets/ClassifiedGodDelete'; -export * from './packets/DirLandQuery'; -export * from './packets/DirLandQueryBackend'; -export * from './packets/DirLandReply'; -export * from './packets/DirPopularQuery'; -export * from './packets/DirPopularQueryBackend'; -export * from './packets/DirPopularReply'; -export * from './packets/ParcelInfoRequest'; -export * from './packets/ParcelInfoReply'; -export * from './packets/ParcelObjectOwnersRequest'; -export * from './packets/ParcelObjectOwnersReply'; -export * from './packets/GroupNoticesListRequest'; -export * from './packets/GroupNoticesListReply'; -export * from './packets/GroupNoticeRequest'; -export * from './packets/GroupNoticeAdd'; -export * from './packets/TeleportRequest'; -export * from './packets/TeleportLocationRequest'; -export * from './packets/TeleportLocal'; -export * from './packets/TeleportLandmarkRequest'; -export * from './packets/TeleportProgress'; -export * from './packets/DataHomeLocationRequest'; -export * from './packets/DataHomeLocationReply'; -export * from './packets/TeleportFinish'; -export * from './packets/StartLure'; -export * from './packets/TeleportLureRequest'; -export * from './packets/TeleportCancel'; -export * from './packets/TeleportStart'; -export * from './packets/TeleportFailed'; -export * from './packets/Undo'; -export * from './packets/Redo'; -export * from './packets/UndoLand'; -export * from './packets/AgentPause'; -export * from './packets/AgentResume'; -export * from './packets/AgentUpdate'; -export * from './packets/ChatFromViewer'; -export * from './packets/AgentThrottle'; -export * from './packets/AgentFOV'; -export * from './packets/AgentHeightWidth'; -export * from './packets/AgentSetAppearance'; -export * from './packets/AgentAnimation'; -export * from './packets/AgentRequestSit'; -export * from './packets/AgentSit'; -export * from './packets/AgentQuitCopy'; -export * from './packets/RequestImage'; -export * from './packets/ImageNotInDatabase'; -export * from './packets/RebakeAvatarTextures'; -export * from './packets/SetAlwaysRun'; -export * from './packets/ObjectAdd'; -export * from './packets/ObjectDelete'; -export * from './packets/ObjectDuplicate'; -export * from './packets/ObjectDuplicateOnRay'; -export * from './packets/MultipleObjectUpdate'; -export * from './packets/RequestMultipleObjects'; -export * from './packets/ObjectPosition'; -export * from './packets/ObjectScale'; -export * from './packets/ObjectRotation'; -export * from './packets/ObjectFlagUpdate'; -export * from './packets/ObjectClickAction'; -export * from './packets/ObjectImage'; -export * from './packets/ObjectMaterial'; -export * from './packets/ObjectShape'; -export * from './packets/ObjectExtraParams'; -export * from './packets/ObjectOwner'; -export * from './packets/ObjectGroup'; -export * from './packets/ObjectBuy'; -export * from './packets/BuyObjectInventory'; -export * from './packets/DerezContainer'; -export * from './packets/ObjectPermissions'; -export * from './packets/ObjectSaleInfo'; -export * from './packets/ObjectName'; -export * from './packets/ObjectDescription'; -export * from './packets/ObjectCategory'; -export * from './packets/ObjectSelect'; -export * from './packets/ObjectDeselect'; -export * from './packets/ObjectAttach'; -export * from './packets/ObjectDetach'; -export * from './packets/ObjectDrop'; -export * from './packets/ObjectLink'; -export * from './packets/ObjectDelink'; -export * from './packets/ObjectGrab'; -export * from './packets/ObjectGrabUpdate'; -export * from './packets/ObjectDeGrab'; -export * from './packets/ObjectSpinStart'; -export * from './packets/ObjectSpinUpdate'; -export * from './packets/ObjectSpinStop'; -export * from './packets/ObjectExportSelected'; -export * from './packets/ModifyLand'; -export * from './packets/VelocityInterpolateOn'; -export * from './packets/VelocityInterpolateOff'; -export * from './packets/StateSave'; -export * from './packets/ReportAutosaveCrash'; -export * from './packets/SimWideDeletes'; -export * from './packets/RequestObjectPropertiesFamily'; -export * from './packets/TrackAgent'; -export * from './packets/ViewerStats'; -export * from './packets/ScriptAnswerYes'; -export * from './packets/UserReport'; -export * from './packets/AlertMessage'; -export * from './packets/AgentAlertMessage'; -export * from './packets/MeanCollisionAlert'; -export * from './packets/ViewerFrozenMessage'; -export * from './packets/HealthMessage'; -export * from './packets/ChatFromSimulator'; -export * from './packets/SimStats'; -export * from './packets/RequestRegionInfo'; -export * from './packets/RegionInfo'; -export * from './packets/GodUpdateRegionInfo'; -export * from './packets/NearestLandingRegionRequest'; -export * from './packets/NearestLandingRegionReply'; -export * from './packets/NearestLandingRegionUpdated'; -export * from './packets/TeleportLandingStatusChanged'; -export * from './packets/RegionHandshake'; -export * from './packets/RegionHandshakeReply'; -export * from './packets/CoarseLocationUpdate'; -export * from './packets/ImageData'; -export * from './packets/ImagePacket'; -export * from './packets/LayerData'; -export * from './packets/ObjectUpdate'; -export * from './packets/ObjectUpdateCompressed'; -export * from './packets/ObjectUpdateCached'; -export * from './packets/ImprovedTerseObjectUpdate'; -export * from './packets/KillObject'; -export * from './packets/CrossedRegion'; -export * from './packets/SimulatorViewerTimeMessage'; -export * from './packets/EnableSimulator'; -export * from './packets/DisableSimulator'; -export * from './packets/ConfirmEnableSimulator'; -export * from './packets/TransferRequest'; -export * from './packets/TransferInfo'; -export * from './packets/TransferPacket'; -export * from './packets/TransferAbort'; -export * from './packets/RequestXfer'; -export * from './packets/SendXferPacket'; -export * from './packets/ConfirmXferPacket'; -export * from './packets/AbortXfer'; -export * from './packets/AvatarAnimation'; -export * from './packets/AvatarAppearance'; -export * from './packets/AvatarSitResponse'; -export * from './packets/SetFollowCamProperties'; -export * from './packets/ClearFollowCamProperties'; -export * from './packets/CameraConstraint'; -export * from './packets/ObjectProperties'; -export * from './packets/ObjectPropertiesFamily'; -export * from './packets/RequestPayPrice'; -export * from './packets/PayPriceReply'; -export * from './packets/KickUser'; -export * from './packets/KickUserAck'; -export * from './packets/GodKickUser'; -export * from './packets/SystemKickUser'; -export * from './packets/EjectUser'; -export * from './packets/FreezeUser'; -export * from './packets/AvatarPropertiesRequest'; -export * from './packets/AvatarPropertiesRequestBackend'; -export * from './packets/AvatarPropertiesReply'; -export * from './packets/AvatarInterestsReply'; -export * from './packets/AvatarGroupsReply'; -export * from './packets/AvatarPropertiesUpdate'; -export * from './packets/AvatarInterestsUpdate'; -export * from './packets/AvatarNotesReply'; -export * from './packets/AvatarNotesUpdate'; -export * from './packets/AvatarPicksReply'; -export * from './packets/EventInfoRequest'; -export * from './packets/EventInfoReply'; -export * from './packets/EventNotificationAddRequest'; -export * from './packets/EventNotificationRemoveRequest'; -export * from './packets/EventGodDelete'; -export * from './packets/PickInfoReply'; -export * from './packets/PickInfoUpdate'; -export * from './packets/PickDelete'; -export * from './packets/PickGodDelete'; -export * from './packets/ScriptQuestion'; -export * from './packets/ScriptControlChange'; -export * from './packets/ScriptDialog'; -export * from './packets/ScriptDialogReply'; -export * from './packets/ForceScriptControlRelease'; -export * from './packets/RevokePermissions'; -export * from './packets/LoadURL'; -export * from './packets/ScriptTeleportRequest'; -export * from './packets/ParcelOverlay'; -export * from './packets/ParcelPropertiesRequest'; -export * from './packets/ParcelPropertiesRequestByID'; -export * from './packets/ParcelProperties'; -export * from './packets/ParcelPropertiesUpdate'; -export * from './packets/ParcelReturnObjects'; -export * from './packets/ParcelSetOtherCleanTime'; -export * from './packets/ParcelDisableObjects'; -export * from './packets/ParcelSelectObjects'; -export * from './packets/EstateCovenantRequest'; -export * from './packets/EstateCovenantReply'; -export * from './packets/ForceObjectSelect'; -export * from './packets/ParcelBuyPass'; -export * from './packets/ParcelDeedToGroup'; -export * from './packets/ParcelReclaim'; -export * from './packets/ParcelClaim'; -export * from './packets/ParcelJoin'; -export * from './packets/ParcelDivide'; -export * from './packets/ParcelRelease'; -export * from './packets/ParcelBuy'; -export * from './packets/ParcelGodForceOwner'; -export * from './packets/ParcelAccessListRequest'; -export * from './packets/ParcelAccessListReply'; -export * from './packets/ParcelAccessListUpdate'; -export * from './packets/ParcelDwellRequest'; -export * from './packets/ParcelDwellReply'; -export * from './packets/RequestParcelTransfer'; -export * from './packets/UpdateParcel'; -export * from './packets/RemoveParcel'; -export * from './packets/MergeParcel'; -export * from './packets/LogParcelChanges'; -export * from './packets/CheckParcelSales'; -export * from './packets/ParcelSales'; -export * from './packets/ParcelGodMarkAsContent'; -export * from './packets/ViewerStartAuction'; -export * from './packets/StartAuction'; -export * from './packets/ConfirmAuctionStart'; -export * from './packets/CompleteAuction'; -export * from './packets/CancelAuction'; -export * from './packets/CheckParcelAuctions'; -export * from './packets/ParcelAuctions'; -export * from './packets/UUIDNameRequest'; -export * from './packets/UUIDNameReply'; -export * from './packets/UUIDGroupNameRequest'; -export * from './packets/UUIDGroupNameReply'; -export * from './packets/ChatPass'; -export * from './packets/EdgeDataPacket'; -export * from './packets/SimStatus'; -export * from './packets/ChildAgentUpdate'; -export * from './packets/ChildAgentAlive'; -export * from './packets/ChildAgentPositionUpdate'; -export * from './packets/ChildAgentDying'; -export * from './packets/ChildAgentUnknown'; -export * from './packets/AtomicPassObject'; -export * from './packets/KillChildAgents'; -export * from './packets/GetScriptRunning'; -export * from './packets/ScriptRunningReply'; -export * from './packets/SetScriptRunning'; -export * from './packets/ScriptReset'; -export * from './packets/ScriptSensorRequest'; -export * from './packets/ScriptSensorReply'; -export * from './packets/CompleteAgentMovement'; -export * from './packets/AgentMovementComplete'; -export * from './packets/DataServerLogout'; -export * from './packets/LogoutRequest'; -export * from './packets/LogoutReply'; -export * from './packets/ImprovedInstantMessage'; -export * from './packets/RetrieveInstantMessages'; -export * from './packets/FindAgent'; -export * from './packets/RequestGodlikePowers'; -export * from './packets/GrantGodlikePowers'; -export * from './packets/GodlikeMessage'; -export * from './packets/EstateOwnerMessage'; -export * from './packets/GenericMessage'; -export * from './packets/MuteListRequest'; -export * from './packets/UpdateMuteListEntry'; -export * from './packets/RemoveMuteListEntry'; -export * from './packets/CopyInventoryFromNotecard'; -export * from './packets/UpdateInventoryItem'; -export * from './packets/UpdateCreateInventoryItem'; -export * from './packets/MoveInventoryItem'; -export * from './packets/CopyInventoryItem'; -export * from './packets/RemoveInventoryItem'; -export * from './packets/ChangeInventoryItemFlags'; -export * from './packets/SaveAssetIntoInventory'; -export * from './packets/CreateInventoryFolder'; -export * from './packets/UpdateInventoryFolder'; -export * from './packets/MoveInventoryFolder'; -export * from './packets/RemoveInventoryFolder'; -export * from './packets/FetchInventoryDescendents'; -export * from './packets/InventoryDescendents'; -export * from './packets/FetchInventory'; -export * from './packets/FetchInventoryReply'; -export * from './packets/BulkUpdateInventory'; -export * from './packets/RequestInventoryAsset'; -export * from './packets/InventoryAssetResponse'; -export * from './packets/RemoveInventoryObjects'; -export * from './packets/PurgeInventoryDescendents'; -export * from './packets/UpdateTaskInventory'; -export * from './packets/RemoveTaskInventory'; -export * from './packets/MoveTaskInventory'; -export * from './packets/RequestTaskInventory'; -export * from './packets/ReplyTaskInventory'; -export * from './packets/DeRezObject'; -export * from './packets/DeRezAck'; -export * from './packets/RezObject'; -export * from './packets/RezObjectFromNotecard'; -export * from './packets/TransferInventory'; -export * from './packets/TransferInventoryAck'; -export * from './packets/AcceptFriendship'; -export * from './packets/DeclineFriendship'; -export * from './packets/FormFriendship'; -export * from './packets/TerminateFriendship'; -export * from './packets/OfferCallingCard'; -export * from './packets/AcceptCallingCard'; -export * from './packets/DeclineCallingCard'; -export * from './packets/RezScript'; -export * from './packets/CreateInventoryItem'; -export * from './packets/CreateLandmarkForEvent'; -export * from './packets/EventLocationRequest'; -export * from './packets/EventLocationReply'; -export * from './packets/RegionHandleRequest'; -export * from './packets/RegionIDAndHandleReply'; -export * from './packets/MoneyTransferRequest'; -export * from './packets/MoneyTransferBackend'; -export * from './packets/MoneyBalanceRequest'; -export * from './packets/MoneyBalanceReply'; -export * from './packets/RoutedMoneyBalanceReply'; -export * from './packets/ActivateGestures'; -export * from './packets/DeactivateGestures'; -export * from './packets/MuteListUpdate'; -export * from './packets/UseCachedMuteList'; -export * from './packets/GrantUserRights'; -export * from './packets/ChangeUserRights'; -export * from './packets/OnlineNotification'; -export * from './packets/OfflineNotification'; -export * from './packets/SetStartLocationRequest'; -export * from './packets/SetStartLocation'; -export * from './packets/NetTest'; -export * from './packets/SetCPURatio'; -export * from './packets/SimCrashed'; -export * from './packets/NameValuePair'; -export * from './packets/RemoveNameValuePair'; -export * from './packets/UpdateAttachment'; -export * from './packets/RemoveAttachment'; -export * from './packets/SoundTrigger'; -export * from './packets/AttachedSound'; -export * from './packets/AttachedSoundGainChange'; -export * from './packets/PreloadSound'; -export * from './packets/AssetUploadRequest'; -export * from './packets/AssetUploadComplete'; -export * from './packets/EmailMessageRequest'; -export * from './packets/EmailMessageReply'; -export * from './packets/InternalScriptMail'; -export * from './packets/ScriptDataRequest'; -export * from './packets/ScriptDataReply'; -export * from './packets/CreateGroupRequest'; -export * from './packets/CreateGroupReply'; -export * from './packets/UpdateGroupInfo'; -export * from './packets/GroupRoleChanges'; -export * from './packets/JoinGroupRequest'; -export * from './packets/JoinGroupReply'; -export * from './packets/EjectGroupMemberRequest'; -export * from './packets/EjectGroupMemberReply'; -export * from './packets/LeaveGroupRequest'; -export * from './packets/LeaveGroupReply'; -export * from './packets/InviteGroupRequest'; -export * from './packets/InviteGroupResponse'; -export * from './packets/GroupProfileRequest'; -export * from './packets/GroupProfileReply'; -export * from './packets/GroupAccountSummaryRequest'; -export * from './packets/GroupAccountSummaryReply'; -export * from './packets/GroupAccountDetailsRequest'; -export * from './packets/GroupAccountDetailsReply'; -export * from './packets/GroupAccountTransactionsRequest'; -export * from './packets/GroupAccountTransactionsReply'; -export * from './packets/GroupActiveProposalsRequest'; -export * from './packets/GroupActiveProposalItemReply'; -export * from './packets/GroupVoteHistoryRequest'; -export * from './packets/GroupVoteHistoryItemReply'; -export * from './packets/StartGroupProposal'; -export * from './packets/GroupProposalBallot'; -export * from './packets/TallyVotes'; -export * from './packets/GroupMembersRequest'; -export * from './packets/GroupMembersReply'; -export * from './packets/ActivateGroup'; -export * from './packets/SetGroupContribution'; -export * from './packets/SetGroupAcceptNotices'; -export * from './packets/GroupRoleDataRequest'; -export * from './packets/GroupRoleDataReply'; -export * from './packets/GroupRoleMembersRequest'; -export * from './packets/GroupRoleMembersReply'; -export * from './packets/GroupTitlesRequest'; -export * from './packets/GroupTitlesReply'; -export * from './packets/GroupTitleUpdate'; -export * from './packets/GroupRoleUpdate'; -export * from './packets/LiveHelpGroupRequest'; -export * from './packets/LiveHelpGroupReply'; -export * from './packets/AgentWearablesRequest'; -export * from './packets/AgentWearablesUpdate'; -export * from './packets/AgentIsNowWearing'; -export * from './packets/AgentCachedTexture'; -export * from './packets/AgentCachedTextureResponse'; -export * from './packets/AgentDataUpdateRequest'; -export * from './packets/AgentDataUpdate'; -export * from './packets/GroupDataUpdate'; -export * from './packets/AgentGroupDataUpdate'; -export * from './packets/AgentDropGroup'; -export * from './packets/LogTextMessage'; -export * from './packets/ViewerEffect'; -export * from './packets/CreateTrustedCircuit'; -export * from './packets/DenyTrustedCircuit'; -export * from './packets/RequestTrustedCircuit'; -export * from './packets/RezSingleAttachmentFromInv'; -export * from './packets/RezMultipleAttachmentsFromInv'; -export * from './packets/DetachAttachmentIntoInv'; -export * from './packets/CreateNewOutfitAttachments'; -export * from './packets/UserInfoRequest'; -export * from './packets/UserInfoReply'; -export * from './packets/UpdateUserInfo'; -export * from './packets/ParcelRename'; -export * from './packets/InitiateDownload'; -export * from './packets/SystemMessage'; -export * from './packets/MapLayerRequest'; -export * from './packets/MapLayerReply'; -export * from './packets/MapBlockRequest'; -export * from './packets/MapNameRequest'; -export * from './packets/MapBlockReply'; -export * from './packets/MapItemRequest'; -export * from './packets/MapItemReply'; -export * from './packets/SendPostcard'; -export * from './packets/RpcChannelRequest'; -export * from './packets/RpcChannelReply'; -export * from './packets/RpcScriptRequestInbound'; -export * from './packets/RpcScriptRequestInboundForward'; -export * from './packets/RpcScriptReplyInbound'; -export * from './packets/ScriptMailRegistration'; -export * from './packets/ParcelMediaCommandMessage'; -export * from './packets/ParcelMediaUpdate'; -export * from './packets/LandStatRequest'; -export * from './packets/LandStatReply'; -export * from './packets/Error'; -export * from './packets/ObjectIncludeInSearch'; -export * from './packets/RezRestoreToWorld'; -export * from './packets/LinkInventoryItem'; -export * from './packets/RetrieveIMsExtended'; -export * from './packets/JoinGroupRequestExtended'; -export * from './packets/CreateGroupRequestExtended'; +export * from './messages/TestMessage'; +export * from './messages/PacketAck'; +export * from './messages/OpenCircuit'; +export * from './messages/CloseCircuit'; +export * from './messages/StartPingCheck'; +export * from './messages/CompletePingCheck'; +export * from './messages/AddCircuitCode'; +export * from './messages/UseCircuitCode'; +export * from './messages/NeighborList'; +export * from './messages/AvatarTextureUpdate'; +export * from './messages/SimulatorMapUpdate'; +export * from './messages/SimulatorSetMap'; +export * from './messages/SubscribeLoad'; +export * from './messages/UnsubscribeLoad'; +export * from './messages/SimulatorReady'; +export * from './messages/TelehubInfo'; +export * from './messages/SimulatorPresentAtLocation'; +export * from './messages/SimulatorLoad'; +export * from './messages/SimulatorShutdownRequest'; +export * from './messages/RegionPresenceRequestByRegionID'; +export * from './messages/RegionPresenceRequestByHandle'; +export * from './messages/RegionPresenceResponse'; +export * from './messages/UpdateSimulator'; +export * from './messages/LogDwellTime'; +export * from './messages/FeatureDisabled'; +export * from './messages/LogFailedMoneyTransaction'; +export * from './messages/UserReportInternal'; +export * from './messages/SetSimStatusInDatabase'; +export * from './messages/SetSimPresenceInDatabase'; +export * from './messages/EconomyDataRequest'; +export * from './messages/EconomyData'; +export * from './messages/AvatarPickerRequest'; +export * from './messages/AvatarPickerRequestBackend'; +export * from './messages/AvatarPickerReply'; +export * from './messages/PlacesQuery'; +export * from './messages/PlacesReply'; +export * from './messages/DirFindQuery'; +export * from './messages/DirFindQueryBackend'; +export * from './messages/DirPlacesQuery'; +export * from './messages/DirPlacesQueryBackend'; +export * from './messages/DirPlacesReply'; +export * from './messages/DirPeopleReply'; +export * from './messages/DirEventsReply'; +export * from './messages/DirGroupsReply'; +export * from './messages/DirClassifiedQuery'; +export * from './messages/DirClassifiedQueryBackend'; +export * from './messages/DirClassifiedReply'; +export * from './messages/AvatarClassifiedReply'; +export * from './messages/ClassifiedInfoRequest'; +export * from './messages/ClassifiedInfoReply'; +export * from './messages/ClassifiedInfoUpdate'; +export * from './messages/ClassifiedDelete'; +export * from './messages/ClassifiedGodDelete'; +export * from './messages/DirLandQuery'; +export * from './messages/DirLandQueryBackend'; +export * from './messages/DirLandReply'; +export * from './messages/DirPopularQuery'; +export * from './messages/DirPopularQueryBackend'; +export * from './messages/DirPopularReply'; +export * from './messages/ParcelInfoRequest'; +export * from './messages/ParcelInfoReply'; +export * from './messages/ParcelObjectOwnersRequest'; +export * from './messages/ParcelObjectOwnersReply'; +export * from './messages/GroupNoticesListRequest'; +export * from './messages/GroupNoticesListReply'; +export * from './messages/GroupNoticeRequest'; +export * from './messages/GroupNoticeAdd'; +export * from './messages/TeleportRequest'; +export * from './messages/TeleportLocationRequest'; +export * from './messages/TeleportLocal'; +export * from './messages/TeleportLandmarkRequest'; +export * from './messages/TeleportProgress'; +export * from './messages/DataHomeLocationRequest'; +export * from './messages/DataHomeLocationReply'; +export * from './messages/TeleportFinish'; +export * from './messages/StartLure'; +export * from './messages/TeleportLureRequest'; +export * from './messages/TeleportCancel'; +export * from './messages/TeleportStart'; +export * from './messages/TeleportFailed'; +export * from './messages/Undo'; +export * from './messages/Redo'; +export * from './messages/UndoLand'; +export * from './messages/AgentPause'; +export * from './messages/AgentResume'; +export * from './messages/AgentUpdate'; +export * from './messages/ChatFromViewer'; +export * from './messages/AgentThrottle'; +export * from './messages/AgentFOV'; +export * from './messages/AgentHeightWidth'; +export * from './messages/AgentSetAppearance'; +export * from './messages/AgentAnimation'; +export * from './messages/AgentRequestSit'; +export * from './messages/AgentSit'; +export * from './messages/AgentQuitCopy'; +export * from './messages/RequestImage'; +export * from './messages/ImageNotInDatabase'; +export * from './messages/RebakeAvatarTextures'; +export * from './messages/SetAlwaysRun'; +export * from './messages/ObjectAdd'; +export * from './messages/ObjectDelete'; +export * from './messages/ObjectDuplicate'; +export * from './messages/ObjectDuplicateOnRay'; +export * from './messages/MultipleObjectUpdate'; +export * from './messages/RequestMultipleObjects'; +export * from './messages/ObjectPosition'; +export * from './messages/ObjectScale'; +export * from './messages/ObjectRotation'; +export * from './messages/ObjectFlagUpdate'; +export * from './messages/ObjectClickAction'; +export * from './messages/ObjectImage'; +export * from './messages/ObjectMaterial'; +export * from './messages/ObjectShape'; +export * from './messages/ObjectExtraParams'; +export * from './messages/ObjectOwner'; +export * from './messages/ObjectGroup'; +export * from './messages/ObjectBuy'; +export * from './messages/BuyObjectInventory'; +export * from './messages/DerezContainer'; +export * from './messages/ObjectPermissions'; +export * from './messages/ObjectSaleInfo'; +export * from './messages/ObjectName'; +export * from './messages/ObjectDescription'; +export * from './messages/ObjectCategory'; +export * from './messages/ObjectSelect'; +export * from './messages/ObjectDeselect'; +export * from './messages/ObjectAttach'; +export * from './messages/ObjectDetach'; +export * from './messages/ObjectDrop'; +export * from './messages/ObjectLink'; +export * from './messages/ObjectDelink'; +export * from './messages/ObjectGrab'; +export * from './messages/ObjectGrabUpdate'; +export * from './messages/ObjectDeGrab'; +export * from './messages/ObjectSpinStart'; +export * from './messages/ObjectSpinUpdate'; +export * from './messages/ObjectSpinStop'; +export * from './messages/ObjectExportSelected'; +export * from './messages/ModifyLand'; +export * from './messages/VelocityInterpolateOn'; +export * from './messages/VelocityInterpolateOff'; +export * from './messages/StateSave'; +export * from './messages/ReportAutosaveCrash'; +export * from './messages/SimWideDeletes'; +export * from './messages/RequestObjectPropertiesFamily'; +export * from './messages/TrackAgent'; +export * from './messages/ViewerStats'; +export * from './messages/ScriptAnswerYes'; +export * from './messages/UserReport'; +export * from './messages/AlertMessage'; +export * from './messages/AgentAlertMessage'; +export * from './messages/MeanCollisionAlert'; +export * from './messages/ViewerFrozenMessage'; +export * from './messages/HealthMessage'; +export * from './messages/ChatFromSimulator'; +export * from './messages/SimStats'; +export * from './messages/RequestRegionInfo'; +export * from './messages/RegionInfo'; +export * from './messages/GodUpdateRegionInfo'; +export * from './messages/NearestLandingRegionRequest'; +export * from './messages/NearestLandingRegionReply'; +export * from './messages/NearestLandingRegionUpdated'; +export * from './messages/TeleportLandingStatusChanged'; +export * from './messages/RegionHandshake'; +export * from './messages/RegionHandshakeReply'; +export * from './messages/CoarseLocationUpdate'; +export * from './messages/ImageData'; +export * from './messages/ImagePacket'; +export * from './messages/LayerData'; +export * from './messages/ObjectUpdate'; +export * from './messages/ObjectUpdateCompressed'; +export * from './messages/ObjectUpdateCached'; +export * from './messages/ImprovedTerseObjectUpdate'; +export * from './messages/KillObject'; +export * from './messages/CrossedRegion'; +export * from './messages/SimulatorViewerTimeMessage'; +export * from './messages/EnableSimulator'; +export * from './messages/DisableSimulator'; +export * from './messages/ConfirmEnableSimulator'; +export * from './messages/TransferRequest'; +export * from './messages/TransferInfo'; +export * from './messages/TransferPacket'; +export * from './messages/TransferAbort'; +export * from './messages/RequestXfer'; +export * from './messages/SendXferPacket'; +export * from './messages/ConfirmXferPacket'; +export * from './messages/AbortXfer'; +export * from './messages/AvatarAnimation'; +export * from './messages/AvatarAppearance'; +export * from './messages/AvatarSitResponse'; +export * from './messages/SetFollowCamProperties'; +export * from './messages/ClearFollowCamProperties'; +export * from './messages/CameraConstraint'; +export * from './messages/ObjectProperties'; +export * from './messages/ObjectPropertiesFamily'; +export * from './messages/RequestPayPrice'; +export * from './messages/PayPriceReply'; +export * from './messages/KickUser'; +export * from './messages/KickUserAck'; +export * from './messages/GodKickUser'; +export * from './messages/SystemKickUser'; +export * from './messages/EjectUser'; +export * from './messages/FreezeUser'; +export * from './messages/AvatarPropertiesRequest'; +export * from './messages/AvatarPropertiesRequestBackend'; +export * from './messages/AvatarPropertiesReply'; +export * from './messages/AvatarInterestsReply'; +export * from './messages/AvatarGroupsReply'; +export * from './messages/AvatarPropertiesUpdate'; +export * from './messages/AvatarInterestsUpdate'; +export * from './messages/AvatarNotesReply'; +export * from './messages/AvatarNotesUpdate'; +export * from './messages/AvatarPicksReply'; +export * from './messages/EventInfoRequest'; +export * from './messages/EventInfoReply'; +export * from './messages/EventNotificationAddRequest'; +export * from './messages/EventNotificationRemoveRequest'; +export * from './messages/EventGodDelete'; +export * from './messages/PickInfoReply'; +export * from './messages/PickInfoUpdate'; +export * from './messages/PickDelete'; +export * from './messages/PickGodDelete'; +export * from './messages/ScriptQuestion'; +export * from './messages/ScriptControlChange'; +export * from './messages/ScriptDialog'; +export * from './messages/ScriptDialogReply'; +export * from './messages/ForceScriptControlRelease'; +export * from './messages/RevokePermissions'; +export * from './messages/LoadURL'; +export * from './messages/ScriptTeleportRequest'; +export * from './messages/ParcelOverlay'; +export * from './messages/ParcelPropertiesRequest'; +export * from './messages/ParcelPropertiesRequestByID'; +export * from './messages/ParcelProperties'; +export * from './messages/ParcelPropertiesUpdate'; +export * from './messages/ParcelReturnObjects'; +export * from './messages/ParcelSetOtherCleanTime'; +export * from './messages/ParcelDisableObjects'; +export * from './messages/ParcelSelectObjects'; +export * from './messages/EstateCovenantRequest'; +export * from './messages/EstateCovenantReply'; +export * from './messages/ForceObjectSelect'; +export * from './messages/ParcelBuyPass'; +export * from './messages/ParcelDeedToGroup'; +export * from './messages/ParcelReclaim'; +export * from './messages/ParcelClaim'; +export * from './messages/ParcelJoin'; +export * from './messages/ParcelDivide'; +export * from './messages/ParcelRelease'; +export * from './messages/ParcelBuy'; +export * from './messages/ParcelGodForceOwner'; +export * from './messages/ParcelAccessListRequest'; +export * from './messages/ParcelAccessListReply'; +export * from './messages/ParcelAccessListUpdate'; +export * from './messages/ParcelDwellRequest'; +export * from './messages/ParcelDwellReply'; +export * from './messages/RequestParcelTransfer'; +export * from './messages/UpdateParcel'; +export * from './messages/RemoveParcel'; +export * from './messages/MergeParcel'; +export * from './messages/LogParcelChanges'; +export * from './messages/CheckParcelSales'; +export * from './messages/ParcelSales'; +export * from './messages/ParcelGodMarkAsContent'; +export * from './messages/ViewerStartAuction'; +export * from './messages/StartAuction'; +export * from './messages/ConfirmAuctionStart'; +export * from './messages/CompleteAuction'; +export * from './messages/CancelAuction'; +export * from './messages/CheckParcelAuctions'; +export * from './messages/ParcelAuctions'; +export * from './messages/UUIDNameRequest'; +export * from './messages/UUIDNameReply'; +export * from './messages/UUIDGroupNameRequest'; +export * from './messages/UUIDGroupNameReply'; +export * from './messages/ChatPass'; +export * from './messages/EdgeDataPacket'; +export * from './messages/SimStatus'; +export * from './messages/ChildAgentUpdate'; +export * from './messages/ChildAgentAlive'; +export * from './messages/ChildAgentPositionUpdate'; +export * from './messages/ChildAgentDying'; +export * from './messages/ChildAgentUnknown'; +export * from './messages/AtomicPassObject'; +export * from './messages/KillChildAgents'; +export * from './messages/GetScriptRunning'; +export * from './messages/ScriptRunningReply'; +export * from './messages/SetScriptRunning'; +export * from './messages/ScriptReset'; +export * from './messages/ScriptSensorRequest'; +export * from './messages/ScriptSensorReply'; +export * from './messages/CompleteAgentMovement'; +export * from './messages/AgentMovementComplete'; +export * from './messages/DataServerLogout'; +export * from './messages/LogoutRequest'; +export * from './messages/LogoutReply'; +export * from './messages/ImprovedInstantMessage'; +export * from './messages/RetrieveInstantMessages'; +export * from './messages/FindAgent'; +export * from './messages/RequestGodlikePowers'; +export * from './messages/GrantGodlikePowers'; +export * from './messages/GodlikeMessage'; +export * from './messages/EstateOwnerMessage'; +export * from './messages/GenericMessage'; +export * from './messages/MuteListRequest'; +export * from './messages/UpdateMuteListEntry'; +export * from './messages/RemoveMuteListEntry'; +export * from './messages/CopyInventoryFromNotecard'; +export * from './messages/UpdateInventoryItem'; +export * from './messages/UpdateCreateInventoryItem'; +export * from './messages/MoveInventoryItem'; +export * from './messages/CopyInventoryItem'; +export * from './messages/RemoveInventoryItem'; +export * from './messages/ChangeInventoryItemFlags'; +export * from './messages/SaveAssetIntoInventory'; +export * from './messages/CreateInventoryFolder'; +export * from './messages/UpdateInventoryFolder'; +export * from './messages/MoveInventoryFolder'; +export * from './messages/RemoveInventoryFolder'; +export * from './messages/FetchInventoryDescendents'; +export * from './messages/InventoryDescendents'; +export * from './messages/FetchInventory'; +export * from './messages/FetchInventoryReply'; +export * from './messages/BulkUpdateInventory'; +export * from './messages/RequestInventoryAsset'; +export * from './messages/InventoryAssetResponse'; +export * from './messages/RemoveInventoryObjects'; +export * from './messages/PurgeInventoryDescendents'; +export * from './messages/UpdateTaskInventory'; +export * from './messages/RemoveTaskInventory'; +export * from './messages/MoveTaskInventory'; +export * from './messages/RequestTaskInventory'; +export * from './messages/ReplyTaskInventory'; +export * from './messages/DeRezObject'; +export * from './messages/DeRezAck'; +export * from './messages/RezObject'; +export * from './messages/RezObjectFromNotecard'; +export * from './messages/TransferInventory'; +export * from './messages/TransferInventoryAck'; +export * from './messages/AcceptFriendship'; +export * from './messages/DeclineFriendship'; +export * from './messages/FormFriendship'; +export * from './messages/TerminateFriendship'; +export * from './messages/OfferCallingCard'; +export * from './messages/AcceptCallingCard'; +export * from './messages/DeclineCallingCard'; +export * from './messages/RezScript'; +export * from './messages/CreateInventoryItem'; +export * from './messages/CreateLandmarkForEvent'; +export * from './messages/EventLocationRequest'; +export * from './messages/EventLocationReply'; +export * from './messages/RegionHandleRequest'; +export * from './messages/RegionIDAndHandleReply'; +export * from './messages/MoneyTransferRequest'; +export * from './messages/MoneyTransferBackend'; +export * from './messages/MoneyBalanceRequest'; +export * from './messages/MoneyBalanceReply'; +export * from './messages/RoutedMoneyBalanceReply'; +export * from './messages/ActivateGestures'; +export * from './messages/DeactivateGestures'; +export * from './messages/MuteListUpdate'; +export * from './messages/UseCachedMuteList'; +export * from './messages/GrantUserRights'; +export * from './messages/ChangeUserRights'; +export * from './messages/OnlineNotification'; +export * from './messages/OfflineNotification'; +export * from './messages/SetStartLocationRequest'; +export * from './messages/SetStartLocation'; +export * from './messages/NetTest'; +export * from './messages/SetCPURatio'; +export * from './messages/SimCrashed'; +export * from './messages/NameValuePair'; +export * from './messages/RemoveNameValuePair'; +export * from './messages/UpdateAttachment'; +export * from './messages/RemoveAttachment'; +export * from './messages/SoundTrigger'; +export * from './messages/AttachedSound'; +export * from './messages/AttachedSoundGainChange'; +export * from './messages/PreloadSound'; +export * from './messages/AssetUploadRequest'; +export * from './messages/AssetUploadComplete'; +export * from './messages/EmailMessageRequest'; +export * from './messages/EmailMessageReply'; +export * from './messages/InternalScriptMail'; +export * from './messages/ScriptDataRequest'; +export * from './messages/ScriptDataReply'; +export * from './messages/CreateGroupRequest'; +export * from './messages/CreateGroupReply'; +export * from './messages/UpdateGroupInfo'; +export * from './messages/GroupRoleChanges'; +export * from './messages/JoinGroupRequest'; +export * from './messages/JoinGroupReply'; +export * from './messages/EjectGroupMemberRequest'; +export * from './messages/EjectGroupMemberReply'; +export * from './messages/LeaveGroupRequest'; +export * from './messages/LeaveGroupReply'; +export * from './messages/InviteGroupRequest'; +export * from './messages/InviteGroupResponse'; +export * from './messages/GroupProfileRequest'; +export * from './messages/GroupProfileReply'; +export * from './messages/GroupAccountSummaryRequest'; +export * from './messages/GroupAccountSummaryReply'; +export * from './messages/GroupAccountDetailsRequest'; +export * from './messages/GroupAccountDetailsReply'; +export * from './messages/GroupAccountTransactionsRequest'; +export * from './messages/GroupAccountTransactionsReply'; +export * from './messages/GroupActiveProposalsRequest'; +export * from './messages/GroupActiveProposalItemReply'; +export * from './messages/GroupVoteHistoryRequest'; +export * from './messages/GroupVoteHistoryItemReply'; +export * from './messages/StartGroupProposal'; +export * from './messages/GroupProposalBallot'; +export * from './messages/TallyVotes'; +export * from './messages/GroupMembersRequest'; +export * from './messages/GroupMembersReply'; +export * from './messages/ActivateGroup'; +export * from './messages/SetGroupContribution'; +export * from './messages/SetGroupAcceptNotices'; +export * from './messages/GroupRoleDataRequest'; +export * from './messages/GroupRoleDataReply'; +export * from './messages/GroupRoleMembersRequest'; +export * from './messages/GroupRoleMembersReply'; +export * from './messages/GroupTitlesRequest'; +export * from './messages/GroupTitlesReply'; +export * from './messages/GroupTitleUpdate'; +export * from './messages/GroupRoleUpdate'; +export * from './messages/LiveHelpGroupRequest'; +export * from './messages/LiveHelpGroupReply'; +export * from './messages/AgentWearablesRequest'; +export * from './messages/AgentWearablesUpdate'; +export * from './messages/AgentIsNowWearing'; +export * from './messages/AgentCachedTexture'; +export * from './messages/AgentCachedTextureResponse'; +export * from './messages/AgentDataUpdateRequest'; +export * from './messages/AgentDataUpdate'; +export * from './messages/GroupDataUpdate'; +export * from './messages/AgentGroupDataUpdate'; +export * from './messages/AgentDropGroup'; +export * from './messages/LogTextMessage'; +export * from './messages/ViewerEffect'; +export * from './messages/CreateTrustedCircuit'; +export * from './messages/DenyTrustedCircuit'; +export * from './messages/RequestTrustedCircuit'; +export * from './messages/RezSingleAttachmentFromInv'; +export * from './messages/RezMultipleAttachmentsFromInv'; +export * from './messages/DetachAttachmentIntoInv'; +export * from './messages/CreateNewOutfitAttachments'; +export * from './messages/UserInfoRequest'; +export * from './messages/UserInfoReply'; +export * from './messages/UpdateUserInfo'; +export * from './messages/ParcelRename'; +export * from './messages/InitiateDownload'; +export * from './messages/SystemMessage'; +export * from './messages/MapLayerRequest'; +export * from './messages/MapLayerReply'; +export * from './messages/MapBlockRequest'; +export * from './messages/MapNameRequest'; +export * from './messages/MapBlockReply'; +export * from './messages/MapItemRequest'; +export * from './messages/MapItemReply'; +export * from './messages/SendPostcard'; +export * from './messages/RpcChannelRequest'; +export * from './messages/RpcChannelReply'; +export * from './messages/RpcScriptRequestInbound'; +export * from './messages/RpcScriptRequestInboundForward'; +export * from './messages/RpcScriptReplyInbound'; +export * from './messages/ScriptMailRegistration'; +export * from './messages/ParcelMediaCommandMessage'; +export * from './messages/ParcelMediaUpdate'; +export * from './messages/LandStatRequest'; +export * from './messages/LandStatReply'; +export * from './messages/Error'; +export * from './messages/ObjectIncludeInSearch'; +export * from './messages/RezRestoreToWorld'; +export * from './messages/LinkInventoryItem'; +export * from './messages/RetrieveIMsExtended'; +export * from './messages/JoinGroupRequestExtended'; +export * from './messages/CreateGroupRequestExtended'; import {Message} from '../enums/Message'; const messages: {[index: number]: string} = {}; -messages[Message.TestMessage] = 'TestMessagePacket'; -messages[Message.PacketAck] = 'PacketAckPacket'; -messages[Message.OpenCircuit] = 'OpenCircuitPacket'; -messages[Message.CloseCircuit] = 'CloseCircuitPacket'; -messages[Message.StartPingCheck] = 'StartPingCheckPacket'; -messages[Message.CompletePingCheck] = 'CompletePingCheckPacket'; -messages[Message.AddCircuitCode] = 'AddCircuitCodePacket'; -messages[Message.UseCircuitCode] = 'UseCircuitCodePacket'; -messages[Message.NeighborList] = 'NeighborListPacket'; -messages[Message.AvatarTextureUpdate] = 'AvatarTextureUpdatePacket'; -messages[Message.SimulatorMapUpdate] = 'SimulatorMapUpdatePacket'; -messages[Message.SimulatorSetMap] = 'SimulatorSetMapPacket'; -messages[Message.SubscribeLoad] = 'SubscribeLoadPacket'; -messages[Message.UnsubscribeLoad] = 'UnsubscribeLoadPacket'; -messages[Message.SimulatorReady] = 'SimulatorReadyPacket'; -messages[Message.TelehubInfo] = 'TelehubInfoPacket'; -messages[Message.SimulatorPresentAtLocation] = 'SimulatorPresentAtLocationPacket'; -messages[Message.SimulatorLoad] = 'SimulatorLoadPacket'; -messages[Message.SimulatorShutdownRequest] = 'SimulatorShutdownRequestPacket'; -messages[Message.RegionPresenceRequestByRegionID] = 'RegionPresenceRequestByRegionIDPacket'; -messages[Message.RegionPresenceRequestByHandle] = 'RegionPresenceRequestByHandlePacket'; -messages[Message.RegionPresenceResponse] = 'RegionPresenceResponsePacket'; -messages[Message.UpdateSimulator] = 'UpdateSimulatorPacket'; -messages[Message.LogDwellTime] = 'LogDwellTimePacket'; -messages[Message.FeatureDisabled] = 'FeatureDisabledPacket'; -messages[Message.LogFailedMoneyTransaction] = 'LogFailedMoneyTransactionPacket'; -messages[Message.UserReportInternal] = 'UserReportInternalPacket'; -messages[Message.SetSimStatusInDatabase] = 'SetSimStatusInDatabasePacket'; -messages[Message.SetSimPresenceInDatabase] = 'SetSimPresenceInDatabasePacket'; -messages[Message.EconomyDataRequest] = 'EconomyDataRequestPacket'; -messages[Message.EconomyData] = 'EconomyDataPacket'; -messages[Message.AvatarPickerRequest] = 'AvatarPickerRequestPacket'; -messages[Message.AvatarPickerRequestBackend] = 'AvatarPickerRequestBackendPacket'; -messages[Message.AvatarPickerReply] = 'AvatarPickerReplyPacket'; -messages[Message.PlacesQuery] = 'PlacesQueryPacket'; -messages[Message.PlacesReply] = 'PlacesReplyPacket'; -messages[Message.DirFindQuery] = 'DirFindQueryPacket'; -messages[Message.DirFindQueryBackend] = 'DirFindQueryBackendPacket'; -messages[Message.DirPlacesQuery] = 'DirPlacesQueryPacket'; -messages[Message.DirPlacesQueryBackend] = 'DirPlacesQueryBackendPacket'; -messages[Message.DirPlacesReply] = 'DirPlacesReplyPacket'; -messages[Message.DirPeopleReply] = 'DirPeopleReplyPacket'; -messages[Message.DirEventsReply] = 'DirEventsReplyPacket'; -messages[Message.DirGroupsReply] = 'DirGroupsReplyPacket'; -messages[Message.DirClassifiedQuery] = 'DirClassifiedQueryPacket'; -messages[Message.DirClassifiedQueryBackend] = 'DirClassifiedQueryBackendPacket'; -messages[Message.DirClassifiedReply] = 'DirClassifiedReplyPacket'; -messages[Message.AvatarClassifiedReply] = 'AvatarClassifiedReplyPacket'; -messages[Message.ClassifiedInfoRequest] = 'ClassifiedInfoRequestPacket'; -messages[Message.ClassifiedInfoReply] = 'ClassifiedInfoReplyPacket'; -messages[Message.ClassifiedInfoUpdate] = 'ClassifiedInfoUpdatePacket'; -messages[Message.ClassifiedDelete] = 'ClassifiedDeletePacket'; -messages[Message.ClassifiedGodDelete] = 'ClassifiedGodDeletePacket'; -messages[Message.DirLandQuery] = 'DirLandQueryPacket'; -messages[Message.DirLandQueryBackend] = 'DirLandQueryBackendPacket'; -messages[Message.DirLandReply] = 'DirLandReplyPacket'; -messages[Message.DirPopularQuery] = 'DirPopularQueryPacket'; -messages[Message.DirPopularQueryBackend] = 'DirPopularQueryBackendPacket'; -messages[Message.DirPopularReply] = 'DirPopularReplyPacket'; -messages[Message.ParcelInfoRequest] = 'ParcelInfoRequestPacket'; -messages[Message.ParcelInfoReply] = 'ParcelInfoReplyPacket'; -messages[Message.ParcelObjectOwnersRequest] = 'ParcelObjectOwnersRequestPacket'; -messages[Message.ParcelObjectOwnersReply] = 'ParcelObjectOwnersReplyPacket'; -messages[Message.GroupNoticesListRequest] = 'GroupNoticesListRequestPacket'; -messages[Message.GroupNoticesListReply] = 'GroupNoticesListReplyPacket'; -messages[Message.GroupNoticeRequest] = 'GroupNoticeRequestPacket'; -messages[Message.GroupNoticeAdd] = 'GroupNoticeAddPacket'; -messages[Message.TeleportRequest] = 'TeleportRequestPacket'; -messages[Message.TeleportLocationRequest] = 'TeleportLocationRequestPacket'; -messages[Message.TeleportLocal] = 'TeleportLocalPacket'; -messages[Message.TeleportLandmarkRequest] = 'TeleportLandmarkRequestPacket'; -messages[Message.TeleportProgress] = 'TeleportProgressPacket'; -messages[Message.DataHomeLocationRequest] = 'DataHomeLocationRequestPacket'; -messages[Message.DataHomeLocationReply] = 'DataHomeLocationReplyPacket'; -messages[Message.TeleportFinish] = 'TeleportFinishPacket'; -messages[Message.StartLure] = 'StartLurePacket'; -messages[Message.TeleportLureRequest] = 'TeleportLureRequestPacket'; -messages[Message.TeleportCancel] = 'TeleportCancelPacket'; -messages[Message.TeleportStart] = 'TeleportStartPacket'; -messages[Message.TeleportFailed] = 'TeleportFailedPacket'; -messages[Message.Undo] = 'UndoPacket'; -messages[Message.Redo] = 'RedoPacket'; -messages[Message.UndoLand] = 'UndoLandPacket'; -messages[Message.AgentPause] = 'AgentPausePacket'; -messages[Message.AgentResume] = 'AgentResumePacket'; -messages[Message.AgentUpdate] = 'AgentUpdatePacket'; -messages[Message.ChatFromViewer] = 'ChatFromViewerPacket'; -messages[Message.AgentThrottle] = 'AgentThrottlePacket'; -messages[Message.AgentFOV] = 'AgentFOVPacket'; -messages[Message.AgentHeightWidth] = 'AgentHeightWidthPacket'; -messages[Message.AgentSetAppearance] = 'AgentSetAppearancePacket'; -messages[Message.AgentAnimation] = 'AgentAnimationPacket'; -messages[Message.AgentRequestSit] = 'AgentRequestSitPacket'; -messages[Message.AgentSit] = 'AgentSitPacket'; -messages[Message.AgentQuitCopy] = 'AgentQuitCopyPacket'; -messages[Message.RequestImage] = 'RequestImagePacket'; -messages[Message.ImageNotInDatabase] = 'ImageNotInDatabasePacket'; -messages[Message.RebakeAvatarTextures] = 'RebakeAvatarTexturesPacket'; -messages[Message.SetAlwaysRun] = 'SetAlwaysRunPacket'; -messages[Message.ObjectAdd] = 'ObjectAddPacket'; -messages[Message.ObjectDelete] = 'ObjectDeletePacket'; -messages[Message.ObjectDuplicate] = 'ObjectDuplicatePacket'; -messages[Message.ObjectDuplicateOnRay] = 'ObjectDuplicateOnRayPacket'; -messages[Message.MultipleObjectUpdate] = 'MultipleObjectUpdatePacket'; -messages[Message.RequestMultipleObjects] = 'RequestMultipleObjectsPacket'; -messages[Message.ObjectPosition] = 'ObjectPositionPacket'; -messages[Message.ObjectScale] = 'ObjectScalePacket'; -messages[Message.ObjectRotation] = 'ObjectRotationPacket'; -messages[Message.ObjectFlagUpdate] = 'ObjectFlagUpdatePacket'; -messages[Message.ObjectClickAction] = 'ObjectClickActionPacket'; -messages[Message.ObjectImage] = 'ObjectImagePacket'; -messages[Message.ObjectMaterial] = 'ObjectMaterialPacket'; -messages[Message.ObjectShape] = 'ObjectShapePacket'; -messages[Message.ObjectExtraParams] = 'ObjectExtraParamsPacket'; -messages[Message.ObjectOwner] = 'ObjectOwnerPacket'; -messages[Message.ObjectGroup] = 'ObjectGroupPacket'; -messages[Message.ObjectBuy] = 'ObjectBuyPacket'; -messages[Message.BuyObjectInventory] = 'BuyObjectInventoryPacket'; -messages[Message.DerezContainer] = 'DerezContainerPacket'; -messages[Message.ObjectPermissions] = 'ObjectPermissionsPacket'; -messages[Message.ObjectSaleInfo] = 'ObjectSaleInfoPacket'; -messages[Message.ObjectName] = 'ObjectNamePacket'; -messages[Message.ObjectDescription] = 'ObjectDescriptionPacket'; -messages[Message.ObjectCategory] = 'ObjectCategoryPacket'; -messages[Message.ObjectSelect] = 'ObjectSelectPacket'; -messages[Message.ObjectDeselect] = 'ObjectDeselectPacket'; -messages[Message.ObjectAttach] = 'ObjectAttachPacket'; -messages[Message.ObjectDetach] = 'ObjectDetachPacket'; -messages[Message.ObjectDrop] = 'ObjectDropPacket'; -messages[Message.ObjectLink] = 'ObjectLinkPacket'; -messages[Message.ObjectDelink] = 'ObjectDelinkPacket'; -messages[Message.ObjectGrab] = 'ObjectGrabPacket'; -messages[Message.ObjectGrabUpdate] = 'ObjectGrabUpdatePacket'; -messages[Message.ObjectDeGrab] = 'ObjectDeGrabPacket'; -messages[Message.ObjectSpinStart] = 'ObjectSpinStartPacket'; -messages[Message.ObjectSpinUpdate] = 'ObjectSpinUpdatePacket'; -messages[Message.ObjectSpinStop] = 'ObjectSpinStopPacket'; -messages[Message.ObjectExportSelected] = 'ObjectExportSelectedPacket'; -messages[Message.ModifyLand] = 'ModifyLandPacket'; -messages[Message.VelocityInterpolateOn] = 'VelocityInterpolateOnPacket'; -messages[Message.VelocityInterpolateOff] = 'VelocityInterpolateOffPacket'; -messages[Message.StateSave] = 'StateSavePacket'; -messages[Message.ReportAutosaveCrash] = 'ReportAutosaveCrashPacket'; -messages[Message.SimWideDeletes] = 'SimWideDeletesPacket'; -messages[Message.RequestObjectPropertiesFamily] = 'RequestObjectPropertiesFamilyPacket'; -messages[Message.TrackAgent] = 'TrackAgentPacket'; -messages[Message.ViewerStats] = 'ViewerStatsPacket'; -messages[Message.ScriptAnswerYes] = 'ScriptAnswerYesPacket'; -messages[Message.UserReport] = 'UserReportPacket'; -messages[Message.AlertMessage] = 'AlertMessagePacket'; -messages[Message.AgentAlertMessage] = 'AgentAlertMessagePacket'; -messages[Message.MeanCollisionAlert] = 'MeanCollisionAlertPacket'; -messages[Message.ViewerFrozenMessage] = 'ViewerFrozenMessagePacket'; -messages[Message.HealthMessage] = 'HealthMessagePacket'; -messages[Message.ChatFromSimulator] = 'ChatFromSimulatorPacket'; -messages[Message.SimStats] = 'SimStatsPacket'; -messages[Message.RequestRegionInfo] = 'RequestRegionInfoPacket'; -messages[Message.RegionInfo] = 'RegionInfoPacket'; -messages[Message.GodUpdateRegionInfo] = 'GodUpdateRegionInfoPacket'; -messages[Message.NearestLandingRegionRequest] = 'NearestLandingRegionRequestPacket'; -messages[Message.NearestLandingRegionReply] = 'NearestLandingRegionReplyPacket'; -messages[Message.NearestLandingRegionUpdated] = 'NearestLandingRegionUpdatedPacket'; -messages[Message.TeleportLandingStatusChanged] = 'TeleportLandingStatusChangedPacket'; -messages[Message.RegionHandshake] = 'RegionHandshakePacket'; -messages[Message.RegionHandshakeReply] = 'RegionHandshakeReplyPacket'; -messages[Message.CoarseLocationUpdate] = 'CoarseLocationUpdatePacket'; -messages[Message.ImageData] = 'ImageDataPacket'; -messages[Message.ImagePacket] = 'ImagePacketPacket'; -messages[Message.LayerData] = 'LayerDataPacket'; -messages[Message.ObjectUpdate] = 'ObjectUpdatePacket'; -messages[Message.ObjectUpdateCompressed] = 'ObjectUpdateCompressedPacket'; -messages[Message.ObjectUpdateCached] = 'ObjectUpdateCachedPacket'; -messages[Message.ImprovedTerseObjectUpdate] = 'ImprovedTerseObjectUpdatePacket'; -messages[Message.KillObject] = 'KillObjectPacket'; -messages[Message.CrossedRegion] = 'CrossedRegionPacket'; -messages[Message.SimulatorViewerTimeMessage] = 'SimulatorViewerTimeMessagePacket'; -messages[Message.EnableSimulator] = 'EnableSimulatorPacket'; -messages[Message.DisableSimulator] = 'DisableSimulatorPacket'; -messages[Message.ConfirmEnableSimulator] = 'ConfirmEnableSimulatorPacket'; -messages[Message.TransferRequest] = 'TransferRequestPacket'; -messages[Message.TransferInfo] = 'TransferInfoPacket'; -messages[Message.TransferPacket] = 'TransferPacketPacket'; -messages[Message.TransferAbort] = 'TransferAbortPacket'; -messages[Message.RequestXfer] = 'RequestXferPacket'; -messages[Message.SendXferPacket] = 'SendXferPacketPacket'; -messages[Message.ConfirmXferPacket] = 'ConfirmXferPacketPacket'; -messages[Message.AbortXfer] = 'AbortXferPacket'; -messages[Message.AvatarAnimation] = 'AvatarAnimationPacket'; -messages[Message.AvatarAppearance] = 'AvatarAppearancePacket'; -messages[Message.AvatarSitResponse] = 'AvatarSitResponsePacket'; -messages[Message.SetFollowCamProperties] = 'SetFollowCamPropertiesPacket'; -messages[Message.ClearFollowCamProperties] = 'ClearFollowCamPropertiesPacket'; -messages[Message.CameraConstraint] = 'CameraConstraintPacket'; -messages[Message.ObjectProperties] = 'ObjectPropertiesPacket'; -messages[Message.ObjectPropertiesFamily] = 'ObjectPropertiesFamilyPacket'; -messages[Message.RequestPayPrice] = 'RequestPayPricePacket'; -messages[Message.PayPriceReply] = 'PayPriceReplyPacket'; -messages[Message.KickUser] = 'KickUserPacket'; -messages[Message.KickUserAck] = 'KickUserAckPacket'; -messages[Message.GodKickUser] = 'GodKickUserPacket'; -messages[Message.SystemKickUser] = 'SystemKickUserPacket'; -messages[Message.EjectUser] = 'EjectUserPacket'; -messages[Message.FreezeUser] = 'FreezeUserPacket'; -messages[Message.AvatarPropertiesRequest] = 'AvatarPropertiesRequestPacket'; -messages[Message.AvatarPropertiesRequestBackend] = 'AvatarPropertiesRequestBackendPacket'; -messages[Message.AvatarPropertiesReply] = 'AvatarPropertiesReplyPacket'; -messages[Message.AvatarInterestsReply] = 'AvatarInterestsReplyPacket'; -messages[Message.AvatarGroupsReply] = 'AvatarGroupsReplyPacket'; -messages[Message.AvatarPropertiesUpdate] = 'AvatarPropertiesUpdatePacket'; -messages[Message.AvatarInterestsUpdate] = 'AvatarInterestsUpdatePacket'; -messages[Message.AvatarNotesReply] = 'AvatarNotesReplyPacket'; -messages[Message.AvatarNotesUpdate] = 'AvatarNotesUpdatePacket'; -messages[Message.AvatarPicksReply] = 'AvatarPicksReplyPacket'; -messages[Message.EventInfoRequest] = 'EventInfoRequestPacket'; -messages[Message.EventInfoReply] = 'EventInfoReplyPacket'; -messages[Message.EventNotificationAddRequest] = 'EventNotificationAddRequestPacket'; -messages[Message.EventNotificationRemoveRequest] = 'EventNotificationRemoveRequestPacket'; -messages[Message.EventGodDelete] = 'EventGodDeletePacket'; -messages[Message.PickInfoReply] = 'PickInfoReplyPacket'; -messages[Message.PickInfoUpdate] = 'PickInfoUpdatePacket'; -messages[Message.PickDelete] = 'PickDeletePacket'; -messages[Message.PickGodDelete] = 'PickGodDeletePacket'; -messages[Message.ScriptQuestion] = 'ScriptQuestionPacket'; -messages[Message.ScriptControlChange] = 'ScriptControlChangePacket'; -messages[Message.ScriptDialog] = 'ScriptDialogPacket'; -messages[Message.ScriptDialogReply] = 'ScriptDialogReplyPacket'; -messages[Message.ForceScriptControlRelease] = 'ForceScriptControlReleasePacket'; -messages[Message.RevokePermissions] = 'RevokePermissionsPacket'; -messages[Message.LoadURL] = 'LoadURLPacket'; -messages[Message.ScriptTeleportRequest] = 'ScriptTeleportRequestPacket'; -messages[Message.ParcelOverlay] = 'ParcelOverlayPacket'; -messages[Message.ParcelPropertiesRequest] = 'ParcelPropertiesRequestPacket'; -messages[Message.ParcelPropertiesRequestByID] = 'ParcelPropertiesRequestByIDPacket'; -messages[Message.ParcelProperties] = 'ParcelPropertiesPacket'; -messages[Message.ParcelPropertiesUpdate] = 'ParcelPropertiesUpdatePacket'; -messages[Message.ParcelReturnObjects] = 'ParcelReturnObjectsPacket'; -messages[Message.ParcelSetOtherCleanTime] = 'ParcelSetOtherCleanTimePacket'; -messages[Message.ParcelDisableObjects] = 'ParcelDisableObjectsPacket'; -messages[Message.ParcelSelectObjects] = 'ParcelSelectObjectsPacket'; -messages[Message.EstateCovenantRequest] = 'EstateCovenantRequestPacket'; -messages[Message.EstateCovenantReply] = 'EstateCovenantReplyPacket'; -messages[Message.ForceObjectSelect] = 'ForceObjectSelectPacket'; -messages[Message.ParcelBuyPass] = 'ParcelBuyPassPacket'; -messages[Message.ParcelDeedToGroup] = 'ParcelDeedToGroupPacket'; -messages[Message.ParcelReclaim] = 'ParcelReclaimPacket'; -messages[Message.ParcelClaim] = 'ParcelClaimPacket'; -messages[Message.ParcelJoin] = 'ParcelJoinPacket'; -messages[Message.ParcelDivide] = 'ParcelDividePacket'; -messages[Message.ParcelRelease] = 'ParcelReleasePacket'; -messages[Message.ParcelBuy] = 'ParcelBuyPacket'; -messages[Message.ParcelGodForceOwner] = 'ParcelGodForceOwnerPacket'; -messages[Message.ParcelAccessListRequest] = 'ParcelAccessListRequestPacket'; -messages[Message.ParcelAccessListReply] = 'ParcelAccessListReplyPacket'; -messages[Message.ParcelAccessListUpdate] = 'ParcelAccessListUpdatePacket'; -messages[Message.ParcelDwellRequest] = 'ParcelDwellRequestPacket'; -messages[Message.ParcelDwellReply] = 'ParcelDwellReplyPacket'; -messages[Message.RequestParcelTransfer] = 'RequestParcelTransferPacket'; -messages[Message.UpdateParcel] = 'UpdateParcelPacket'; -messages[Message.RemoveParcel] = 'RemoveParcelPacket'; -messages[Message.MergeParcel] = 'MergeParcelPacket'; -messages[Message.LogParcelChanges] = 'LogParcelChangesPacket'; -messages[Message.CheckParcelSales] = 'CheckParcelSalesPacket'; -messages[Message.ParcelSales] = 'ParcelSalesPacket'; -messages[Message.ParcelGodMarkAsContent] = 'ParcelGodMarkAsContentPacket'; -messages[Message.ViewerStartAuction] = 'ViewerStartAuctionPacket'; -messages[Message.StartAuction] = 'StartAuctionPacket'; -messages[Message.ConfirmAuctionStart] = 'ConfirmAuctionStartPacket'; -messages[Message.CompleteAuction] = 'CompleteAuctionPacket'; -messages[Message.CancelAuction] = 'CancelAuctionPacket'; -messages[Message.CheckParcelAuctions] = 'CheckParcelAuctionsPacket'; -messages[Message.ParcelAuctions] = 'ParcelAuctionsPacket'; -messages[Message.UUIDNameRequest] = 'UUIDNameRequestPacket'; -messages[Message.UUIDNameReply] = 'UUIDNameReplyPacket'; -messages[Message.UUIDGroupNameRequest] = 'UUIDGroupNameRequestPacket'; -messages[Message.UUIDGroupNameReply] = 'UUIDGroupNameReplyPacket'; -messages[Message.ChatPass] = 'ChatPassPacket'; -messages[Message.EdgeDataPacket] = 'EdgeDataPacketPacket'; -messages[Message.SimStatus] = 'SimStatusPacket'; -messages[Message.ChildAgentUpdate] = 'ChildAgentUpdatePacket'; -messages[Message.ChildAgentAlive] = 'ChildAgentAlivePacket'; -messages[Message.ChildAgentPositionUpdate] = 'ChildAgentPositionUpdatePacket'; -messages[Message.ChildAgentDying] = 'ChildAgentDyingPacket'; -messages[Message.ChildAgentUnknown] = 'ChildAgentUnknownPacket'; -messages[Message.AtomicPassObject] = 'AtomicPassObjectPacket'; -messages[Message.KillChildAgents] = 'KillChildAgentsPacket'; -messages[Message.GetScriptRunning] = 'GetScriptRunningPacket'; -messages[Message.ScriptRunningReply] = 'ScriptRunningReplyPacket'; -messages[Message.SetScriptRunning] = 'SetScriptRunningPacket'; -messages[Message.ScriptReset] = 'ScriptResetPacket'; -messages[Message.ScriptSensorRequest] = 'ScriptSensorRequestPacket'; -messages[Message.ScriptSensorReply] = 'ScriptSensorReplyPacket'; -messages[Message.CompleteAgentMovement] = 'CompleteAgentMovementPacket'; -messages[Message.AgentMovementComplete] = 'AgentMovementCompletePacket'; -messages[Message.DataServerLogout] = 'DataServerLogoutPacket'; -messages[Message.LogoutRequest] = 'LogoutRequestPacket'; -messages[Message.LogoutReply] = 'LogoutReplyPacket'; -messages[Message.ImprovedInstantMessage] = 'ImprovedInstantMessagePacket'; -messages[Message.RetrieveInstantMessages] = 'RetrieveInstantMessagesPacket'; -messages[Message.FindAgent] = 'FindAgentPacket'; -messages[Message.RequestGodlikePowers] = 'RequestGodlikePowersPacket'; -messages[Message.GrantGodlikePowers] = 'GrantGodlikePowersPacket'; -messages[Message.GodlikeMessage] = 'GodlikeMessagePacket'; -messages[Message.EstateOwnerMessage] = 'EstateOwnerMessagePacket'; -messages[Message.GenericMessage] = 'GenericMessagePacket'; -messages[Message.MuteListRequest] = 'MuteListRequestPacket'; -messages[Message.UpdateMuteListEntry] = 'UpdateMuteListEntryPacket'; -messages[Message.RemoveMuteListEntry] = 'RemoveMuteListEntryPacket'; -messages[Message.CopyInventoryFromNotecard] = 'CopyInventoryFromNotecardPacket'; -messages[Message.UpdateInventoryItem] = 'UpdateInventoryItemPacket'; -messages[Message.UpdateCreateInventoryItem] = 'UpdateCreateInventoryItemPacket'; -messages[Message.MoveInventoryItem] = 'MoveInventoryItemPacket'; -messages[Message.CopyInventoryItem] = 'CopyInventoryItemPacket'; -messages[Message.RemoveInventoryItem] = 'RemoveInventoryItemPacket'; -messages[Message.ChangeInventoryItemFlags] = 'ChangeInventoryItemFlagsPacket'; -messages[Message.SaveAssetIntoInventory] = 'SaveAssetIntoInventoryPacket'; -messages[Message.CreateInventoryFolder] = 'CreateInventoryFolderPacket'; -messages[Message.UpdateInventoryFolder] = 'UpdateInventoryFolderPacket'; -messages[Message.MoveInventoryFolder] = 'MoveInventoryFolderPacket'; -messages[Message.RemoveInventoryFolder] = 'RemoveInventoryFolderPacket'; -messages[Message.FetchInventoryDescendents] = 'FetchInventoryDescendentsPacket'; -messages[Message.InventoryDescendents] = 'InventoryDescendentsPacket'; -messages[Message.FetchInventory] = 'FetchInventoryPacket'; -messages[Message.FetchInventoryReply] = 'FetchInventoryReplyPacket'; -messages[Message.BulkUpdateInventory] = 'BulkUpdateInventoryPacket'; -messages[Message.RequestInventoryAsset] = 'RequestInventoryAssetPacket'; -messages[Message.InventoryAssetResponse] = 'InventoryAssetResponsePacket'; -messages[Message.RemoveInventoryObjects] = 'RemoveInventoryObjectsPacket'; -messages[Message.PurgeInventoryDescendents] = 'PurgeInventoryDescendentsPacket'; -messages[Message.UpdateTaskInventory] = 'UpdateTaskInventoryPacket'; -messages[Message.RemoveTaskInventory] = 'RemoveTaskInventoryPacket'; -messages[Message.MoveTaskInventory] = 'MoveTaskInventoryPacket'; -messages[Message.RequestTaskInventory] = 'RequestTaskInventoryPacket'; -messages[Message.ReplyTaskInventory] = 'ReplyTaskInventoryPacket'; -messages[Message.DeRezObject] = 'DeRezObjectPacket'; -messages[Message.DeRezAck] = 'DeRezAckPacket'; -messages[Message.RezObject] = 'RezObjectPacket'; -messages[Message.RezObjectFromNotecard] = 'RezObjectFromNotecardPacket'; -messages[Message.TransferInventory] = 'TransferInventoryPacket'; -messages[Message.TransferInventoryAck] = 'TransferInventoryAckPacket'; -messages[Message.AcceptFriendship] = 'AcceptFriendshipPacket'; -messages[Message.DeclineFriendship] = 'DeclineFriendshipPacket'; -messages[Message.FormFriendship] = 'FormFriendshipPacket'; -messages[Message.TerminateFriendship] = 'TerminateFriendshipPacket'; -messages[Message.OfferCallingCard] = 'OfferCallingCardPacket'; -messages[Message.AcceptCallingCard] = 'AcceptCallingCardPacket'; -messages[Message.DeclineCallingCard] = 'DeclineCallingCardPacket'; -messages[Message.RezScript] = 'RezScriptPacket'; -messages[Message.CreateInventoryItem] = 'CreateInventoryItemPacket'; -messages[Message.CreateLandmarkForEvent] = 'CreateLandmarkForEventPacket'; -messages[Message.EventLocationRequest] = 'EventLocationRequestPacket'; -messages[Message.EventLocationReply] = 'EventLocationReplyPacket'; -messages[Message.RegionHandleRequest] = 'RegionHandleRequestPacket'; -messages[Message.RegionIDAndHandleReply] = 'RegionIDAndHandleReplyPacket'; -messages[Message.MoneyTransferRequest] = 'MoneyTransferRequestPacket'; -messages[Message.MoneyTransferBackend] = 'MoneyTransferBackendPacket'; -messages[Message.MoneyBalanceRequest] = 'MoneyBalanceRequestPacket'; -messages[Message.MoneyBalanceReply] = 'MoneyBalanceReplyPacket'; -messages[Message.RoutedMoneyBalanceReply] = 'RoutedMoneyBalanceReplyPacket'; -messages[Message.ActivateGestures] = 'ActivateGesturesPacket'; -messages[Message.DeactivateGestures] = 'DeactivateGesturesPacket'; -messages[Message.MuteListUpdate] = 'MuteListUpdatePacket'; -messages[Message.UseCachedMuteList] = 'UseCachedMuteListPacket'; -messages[Message.GrantUserRights] = 'GrantUserRightsPacket'; -messages[Message.ChangeUserRights] = 'ChangeUserRightsPacket'; -messages[Message.OnlineNotification] = 'OnlineNotificationPacket'; -messages[Message.OfflineNotification] = 'OfflineNotificationPacket'; -messages[Message.SetStartLocationRequest] = 'SetStartLocationRequestPacket'; -messages[Message.SetStartLocation] = 'SetStartLocationPacket'; -messages[Message.NetTest] = 'NetTestPacket'; -messages[Message.SetCPURatio] = 'SetCPURatioPacket'; -messages[Message.SimCrashed] = 'SimCrashedPacket'; -messages[Message.NameValuePair] = 'NameValuePairPacket'; -messages[Message.RemoveNameValuePair] = 'RemoveNameValuePairPacket'; -messages[Message.UpdateAttachment] = 'UpdateAttachmentPacket'; -messages[Message.RemoveAttachment] = 'RemoveAttachmentPacket'; -messages[Message.SoundTrigger] = 'SoundTriggerPacket'; -messages[Message.AttachedSound] = 'AttachedSoundPacket'; -messages[Message.AttachedSoundGainChange] = 'AttachedSoundGainChangePacket'; -messages[Message.PreloadSound] = 'PreloadSoundPacket'; -messages[Message.AssetUploadRequest] = 'AssetUploadRequestPacket'; -messages[Message.AssetUploadComplete] = 'AssetUploadCompletePacket'; -messages[Message.EmailMessageRequest] = 'EmailMessageRequestPacket'; -messages[Message.EmailMessageReply] = 'EmailMessageReplyPacket'; -messages[Message.InternalScriptMail] = 'InternalScriptMailPacket'; -messages[Message.ScriptDataRequest] = 'ScriptDataRequestPacket'; -messages[Message.ScriptDataReply] = 'ScriptDataReplyPacket'; -messages[Message.CreateGroupRequest] = 'CreateGroupRequestPacket'; -messages[Message.CreateGroupReply] = 'CreateGroupReplyPacket'; -messages[Message.UpdateGroupInfo] = 'UpdateGroupInfoPacket'; -messages[Message.GroupRoleChanges] = 'GroupRoleChangesPacket'; -messages[Message.JoinGroupRequest] = 'JoinGroupRequestPacket'; -messages[Message.JoinGroupReply] = 'JoinGroupReplyPacket'; -messages[Message.EjectGroupMemberRequest] = 'EjectGroupMemberRequestPacket'; -messages[Message.EjectGroupMemberReply] = 'EjectGroupMemberReplyPacket'; -messages[Message.LeaveGroupRequest] = 'LeaveGroupRequestPacket'; -messages[Message.LeaveGroupReply] = 'LeaveGroupReplyPacket'; -messages[Message.InviteGroupRequest] = 'InviteGroupRequestPacket'; -messages[Message.InviteGroupResponse] = 'InviteGroupResponsePacket'; -messages[Message.GroupProfileRequest] = 'GroupProfileRequestPacket'; -messages[Message.GroupProfileReply] = 'GroupProfileReplyPacket'; -messages[Message.GroupAccountSummaryRequest] = 'GroupAccountSummaryRequestPacket'; -messages[Message.GroupAccountSummaryReply] = 'GroupAccountSummaryReplyPacket'; -messages[Message.GroupAccountDetailsRequest] = 'GroupAccountDetailsRequestPacket'; -messages[Message.GroupAccountDetailsReply] = 'GroupAccountDetailsReplyPacket'; -messages[Message.GroupAccountTransactionsRequest] = 'GroupAccountTransactionsRequestPacket'; -messages[Message.GroupAccountTransactionsReply] = 'GroupAccountTransactionsReplyPacket'; -messages[Message.GroupActiveProposalsRequest] = 'GroupActiveProposalsRequestPacket'; -messages[Message.GroupActiveProposalItemReply] = 'GroupActiveProposalItemReplyPacket'; -messages[Message.GroupVoteHistoryRequest] = 'GroupVoteHistoryRequestPacket'; -messages[Message.GroupVoteHistoryItemReply] = 'GroupVoteHistoryItemReplyPacket'; -messages[Message.StartGroupProposal] = 'StartGroupProposalPacket'; -messages[Message.GroupProposalBallot] = 'GroupProposalBallotPacket'; -messages[Message.TallyVotes] = 'TallyVotesPacket'; -messages[Message.GroupMembersRequest] = 'GroupMembersRequestPacket'; -messages[Message.GroupMembersReply] = 'GroupMembersReplyPacket'; -messages[Message.ActivateGroup] = 'ActivateGroupPacket'; -messages[Message.SetGroupContribution] = 'SetGroupContributionPacket'; -messages[Message.SetGroupAcceptNotices] = 'SetGroupAcceptNoticesPacket'; -messages[Message.GroupRoleDataRequest] = 'GroupRoleDataRequestPacket'; -messages[Message.GroupRoleDataReply] = 'GroupRoleDataReplyPacket'; -messages[Message.GroupRoleMembersRequest] = 'GroupRoleMembersRequestPacket'; -messages[Message.GroupRoleMembersReply] = 'GroupRoleMembersReplyPacket'; -messages[Message.GroupTitlesRequest] = 'GroupTitlesRequestPacket'; -messages[Message.GroupTitlesReply] = 'GroupTitlesReplyPacket'; -messages[Message.GroupTitleUpdate] = 'GroupTitleUpdatePacket'; -messages[Message.GroupRoleUpdate] = 'GroupRoleUpdatePacket'; -messages[Message.LiveHelpGroupRequest] = 'LiveHelpGroupRequestPacket'; -messages[Message.LiveHelpGroupReply] = 'LiveHelpGroupReplyPacket'; -messages[Message.AgentWearablesRequest] = 'AgentWearablesRequestPacket'; -messages[Message.AgentWearablesUpdate] = 'AgentWearablesUpdatePacket'; -messages[Message.AgentIsNowWearing] = 'AgentIsNowWearingPacket'; -messages[Message.AgentCachedTexture] = 'AgentCachedTexturePacket'; -messages[Message.AgentCachedTextureResponse] = 'AgentCachedTextureResponsePacket'; -messages[Message.AgentDataUpdateRequest] = 'AgentDataUpdateRequestPacket'; -messages[Message.AgentDataUpdate] = 'AgentDataUpdatePacket'; -messages[Message.GroupDataUpdate] = 'GroupDataUpdatePacket'; -messages[Message.AgentGroupDataUpdate] = 'AgentGroupDataUpdatePacket'; -messages[Message.AgentDropGroup] = 'AgentDropGroupPacket'; -messages[Message.LogTextMessage] = 'LogTextMessagePacket'; -messages[Message.ViewerEffect] = 'ViewerEffectPacket'; -messages[Message.CreateTrustedCircuit] = 'CreateTrustedCircuitPacket'; -messages[Message.DenyTrustedCircuit] = 'DenyTrustedCircuitPacket'; -messages[Message.RequestTrustedCircuit] = 'RequestTrustedCircuitPacket'; -messages[Message.RezSingleAttachmentFromInv] = 'RezSingleAttachmentFromInvPacket'; -messages[Message.RezMultipleAttachmentsFromInv] = 'RezMultipleAttachmentsFromInvPacket'; -messages[Message.DetachAttachmentIntoInv] = 'DetachAttachmentIntoInvPacket'; -messages[Message.CreateNewOutfitAttachments] = 'CreateNewOutfitAttachmentsPacket'; -messages[Message.UserInfoRequest] = 'UserInfoRequestPacket'; -messages[Message.UserInfoReply] = 'UserInfoReplyPacket'; -messages[Message.UpdateUserInfo] = 'UpdateUserInfoPacket'; -messages[Message.ParcelRename] = 'ParcelRenamePacket'; -messages[Message.InitiateDownload] = 'InitiateDownloadPacket'; -messages[Message.SystemMessage] = 'SystemMessagePacket'; -messages[Message.MapLayerRequest] = 'MapLayerRequestPacket'; -messages[Message.MapLayerReply] = 'MapLayerReplyPacket'; -messages[Message.MapBlockRequest] = 'MapBlockRequestPacket'; -messages[Message.MapNameRequest] = 'MapNameRequestPacket'; -messages[Message.MapBlockReply] = 'MapBlockReplyPacket'; -messages[Message.MapItemRequest] = 'MapItemRequestPacket'; -messages[Message.MapItemReply] = 'MapItemReplyPacket'; -messages[Message.SendPostcard] = 'SendPostcardPacket'; -messages[Message.RpcChannelRequest] = 'RpcChannelRequestPacket'; -messages[Message.RpcChannelReply] = 'RpcChannelReplyPacket'; -messages[Message.RpcScriptRequestInbound] = 'RpcScriptRequestInboundPacket'; -messages[Message.RpcScriptRequestInboundForward] = 'RpcScriptRequestInboundForwardPacket'; -messages[Message.RpcScriptReplyInbound] = 'RpcScriptReplyInboundPacket'; -messages[Message.ScriptMailRegistration] = 'ScriptMailRegistrationPacket'; -messages[Message.ParcelMediaCommandMessage] = 'ParcelMediaCommandMessagePacket'; -messages[Message.ParcelMediaUpdate] = 'ParcelMediaUpdatePacket'; -messages[Message.LandStatRequest] = 'LandStatRequestPacket'; -messages[Message.LandStatReply] = 'LandStatReplyPacket'; -messages[Message.Error] = 'ErrorPacket'; -messages[Message.ObjectIncludeInSearch] = 'ObjectIncludeInSearchPacket'; -messages[Message.RezRestoreToWorld] = 'RezRestoreToWorldPacket'; -messages[Message.LinkInventoryItem] = 'LinkInventoryItemPacket'; -messages[Message.RetrieveIMsExtended] = 'RetrieveIMsExtendedPacket'; -messages[Message.JoinGroupRequestExtended] = 'JoinGroupRequestExtendedPacket'; -messages[Message.CreateGroupRequestExtended] = 'CreateGroupRequestExtendedPacket'; +messages[Message.TestMessage] = 'TestMessageMessage'; +messages[Message.PacketAck] = 'PacketAckMessage'; +messages[Message.OpenCircuit] = 'OpenCircuitMessage'; +messages[Message.CloseCircuit] = 'CloseCircuitMessage'; +messages[Message.StartPingCheck] = 'StartPingCheckMessage'; +messages[Message.CompletePingCheck] = 'CompletePingCheckMessage'; +messages[Message.AddCircuitCode] = 'AddCircuitCodeMessage'; +messages[Message.UseCircuitCode] = 'UseCircuitCodeMessage'; +messages[Message.NeighborList] = 'NeighborListMessage'; +messages[Message.AvatarTextureUpdate] = 'AvatarTextureUpdateMessage'; +messages[Message.SimulatorMapUpdate] = 'SimulatorMapUpdateMessage'; +messages[Message.SimulatorSetMap] = 'SimulatorSetMapMessage'; +messages[Message.SubscribeLoad] = 'SubscribeLoadMessage'; +messages[Message.UnsubscribeLoad] = 'UnsubscribeLoadMessage'; +messages[Message.SimulatorReady] = 'SimulatorReadyMessage'; +messages[Message.TelehubInfo] = 'TelehubInfoMessage'; +messages[Message.SimulatorPresentAtLocation] = 'SimulatorPresentAtLocationMessage'; +messages[Message.SimulatorLoad] = 'SimulatorLoadMessage'; +messages[Message.SimulatorShutdownRequest] = 'SimulatorShutdownRequestMessage'; +messages[Message.RegionPresenceRequestByRegionID] = 'RegionPresenceRequestByRegionIDMessage'; +messages[Message.RegionPresenceRequestByHandle] = 'RegionPresenceRequestByHandleMessage'; +messages[Message.RegionPresenceResponse] = 'RegionPresenceResponseMessage'; +messages[Message.UpdateSimulator] = 'UpdateSimulatorMessage'; +messages[Message.LogDwellTime] = 'LogDwellTimeMessage'; +messages[Message.FeatureDisabled] = 'FeatureDisabledMessage'; +messages[Message.LogFailedMoneyTransaction] = 'LogFailedMoneyTransactionMessage'; +messages[Message.UserReportInternal] = 'UserReportInternalMessage'; +messages[Message.SetSimStatusInDatabase] = 'SetSimStatusInDatabaseMessage'; +messages[Message.SetSimPresenceInDatabase] = 'SetSimPresenceInDatabaseMessage'; +messages[Message.EconomyDataRequest] = 'EconomyDataRequestMessage'; +messages[Message.EconomyData] = 'EconomyDataMessage'; +messages[Message.AvatarPickerRequest] = 'AvatarPickerRequestMessage'; +messages[Message.AvatarPickerRequestBackend] = 'AvatarPickerRequestBackendMessage'; +messages[Message.AvatarPickerReply] = 'AvatarPickerReplyMessage'; +messages[Message.PlacesQuery] = 'PlacesQueryMessage'; +messages[Message.PlacesReply] = 'PlacesReplyMessage'; +messages[Message.DirFindQuery] = 'DirFindQueryMessage'; +messages[Message.DirFindQueryBackend] = 'DirFindQueryBackendMessage'; +messages[Message.DirPlacesQuery] = 'DirPlacesQueryMessage'; +messages[Message.DirPlacesQueryBackend] = 'DirPlacesQueryBackendMessage'; +messages[Message.DirPlacesReply] = 'DirPlacesReplyMessage'; +messages[Message.DirPeopleReply] = 'DirPeopleReplyMessage'; +messages[Message.DirEventsReply] = 'DirEventsReplyMessage'; +messages[Message.DirGroupsReply] = 'DirGroupsReplyMessage'; +messages[Message.DirClassifiedQuery] = 'DirClassifiedQueryMessage'; +messages[Message.DirClassifiedQueryBackend] = 'DirClassifiedQueryBackendMessage'; +messages[Message.DirClassifiedReply] = 'DirClassifiedReplyMessage'; +messages[Message.AvatarClassifiedReply] = 'AvatarClassifiedReplyMessage'; +messages[Message.ClassifiedInfoRequest] = 'ClassifiedInfoRequestMessage'; +messages[Message.ClassifiedInfoReply] = 'ClassifiedInfoReplyMessage'; +messages[Message.ClassifiedInfoUpdate] = 'ClassifiedInfoUpdateMessage'; +messages[Message.ClassifiedDelete] = 'ClassifiedDeleteMessage'; +messages[Message.ClassifiedGodDelete] = 'ClassifiedGodDeleteMessage'; +messages[Message.DirLandQuery] = 'DirLandQueryMessage'; +messages[Message.DirLandQueryBackend] = 'DirLandQueryBackendMessage'; +messages[Message.DirLandReply] = 'DirLandReplyMessage'; +messages[Message.DirPopularQuery] = 'DirPopularQueryMessage'; +messages[Message.DirPopularQueryBackend] = 'DirPopularQueryBackendMessage'; +messages[Message.DirPopularReply] = 'DirPopularReplyMessage'; +messages[Message.ParcelInfoRequest] = 'ParcelInfoRequestMessage'; +messages[Message.ParcelInfoReply] = 'ParcelInfoReplyMessage'; +messages[Message.ParcelObjectOwnersRequest] = 'ParcelObjectOwnersRequestMessage'; +messages[Message.ParcelObjectOwnersReply] = 'ParcelObjectOwnersReplyMessage'; +messages[Message.GroupNoticesListRequest] = 'GroupNoticesListRequestMessage'; +messages[Message.GroupNoticesListReply] = 'GroupNoticesListReplyMessage'; +messages[Message.GroupNoticeRequest] = 'GroupNoticeRequestMessage'; +messages[Message.GroupNoticeAdd] = 'GroupNoticeAddMessage'; +messages[Message.TeleportRequest] = 'TeleportRequestMessage'; +messages[Message.TeleportLocationRequest] = 'TeleportLocationRequestMessage'; +messages[Message.TeleportLocal] = 'TeleportLocalMessage'; +messages[Message.TeleportLandmarkRequest] = 'TeleportLandmarkRequestMessage'; +messages[Message.TeleportProgress] = 'TeleportProgressMessage'; +messages[Message.DataHomeLocationRequest] = 'DataHomeLocationRequestMessage'; +messages[Message.DataHomeLocationReply] = 'DataHomeLocationReplyMessage'; +messages[Message.TeleportFinish] = 'TeleportFinishMessage'; +messages[Message.StartLure] = 'StartLureMessage'; +messages[Message.TeleportLureRequest] = 'TeleportLureRequestMessage'; +messages[Message.TeleportCancel] = 'TeleportCancelMessage'; +messages[Message.TeleportStart] = 'TeleportStartMessage'; +messages[Message.TeleportFailed] = 'TeleportFailedMessage'; +messages[Message.Undo] = 'UndoMessage'; +messages[Message.Redo] = 'RedoMessage'; +messages[Message.UndoLand] = 'UndoLandMessage'; +messages[Message.AgentPause] = 'AgentPauseMessage'; +messages[Message.AgentResume] = 'AgentResumeMessage'; +messages[Message.AgentUpdate] = 'AgentUpdateMessage'; +messages[Message.ChatFromViewer] = 'ChatFromViewerMessage'; +messages[Message.AgentThrottle] = 'AgentThrottleMessage'; +messages[Message.AgentFOV] = 'AgentFOVMessage'; +messages[Message.AgentHeightWidth] = 'AgentHeightWidthMessage'; +messages[Message.AgentSetAppearance] = 'AgentSetAppearanceMessage'; +messages[Message.AgentAnimation] = 'AgentAnimationMessage'; +messages[Message.AgentRequestSit] = 'AgentRequestSitMessage'; +messages[Message.AgentSit] = 'AgentSitMessage'; +messages[Message.AgentQuitCopy] = 'AgentQuitCopyMessage'; +messages[Message.RequestImage] = 'RequestImageMessage'; +messages[Message.ImageNotInDatabase] = 'ImageNotInDatabaseMessage'; +messages[Message.RebakeAvatarTextures] = 'RebakeAvatarTexturesMessage'; +messages[Message.SetAlwaysRun] = 'SetAlwaysRunMessage'; +messages[Message.ObjectAdd] = 'ObjectAddMessage'; +messages[Message.ObjectDelete] = 'ObjectDeleteMessage'; +messages[Message.ObjectDuplicate] = 'ObjectDuplicateMessage'; +messages[Message.ObjectDuplicateOnRay] = 'ObjectDuplicateOnRayMessage'; +messages[Message.MultipleObjectUpdate] = 'MultipleObjectUpdateMessage'; +messages[Message.RequestMultipleObjects] = 'RequestMultipleObjectsMessage'; +messages[Message.ObjectPosition] = 'ObjectPositionMessage'; +messages[Message.ObjectScale] = 'ObjectScaleMessage'; +messages[Message.ObjectRotation] = 'ObjectRotationMessage'; +messages[Message.ObjectFlagUpdate] = 'ObjectFlagUpdateMessage'; +messages[Message.ObjectClickAction] = 'ObjectClickActionMessage'; +messages[Message.ObjectImage] = 'ObjectImageMessage'; +messages[Message.ObjectMaterial] = 'ObjectMaterialMessage'; +messages[Message.ObjectShape] = 'ObjectShapeMessage'; +messages[Message.ObjectExtraParams] = 'ObjectExtraParamsMessage'; +messages[Message.ObjectOwner] = 'ObjectOwnerMessage'; +messages[Message.ObjectGroup] = 'ObjectGroupMessage'; +messages[Message.ObjectBuy] = 'ObjectBuyMessage'; +messages[Message.BuyObjectInventory] = 'BuyObjectInventoryMessage'; +messages[Message.DerezContainer] = 'DerezContainerMessage'; +messages[Message.ObjectPermissions] = 'ObjectPermissionsMessage'; +messages[Message.ObjectSaleInfo] = 'ObjectSaleInfoMessage'; +messages[Message.ObjectName] = 'ObjectNameMessage'; +messages[Message.ObjectDescription] = 'ObjectDescriptionMessage'; +messages[Message.ObjectCategory] = 'ObjectCategoryMessage'; +messages[Message.ObjectSelect] = 'ObjectSelectMessage'; +messages[Message.ObjectDeselect] = 'ObjectDeselectMessage'; +messages[Message.ObjectAttach] = 'ObjectAttachMessage'; +messages[Message.ObjectDetach] = 'ObjectDetachMessage'; +messages[Message.ObjectDrop] = 'ObjectDropMessage'; +messages[Message.ObjectLink] = 'ObjectLinkMessage'; +messages[Message.ObjectDelink] = 'ObjectDelinkMessage'; +messages[Message.ObjectGrab] = 'ObjectGrabMessage'; +messages[Message.ObjectGrabUpdate] = 'ObjectGrabUpdateMessage'; +messages[Message.ObjectDeGrab] = 'ObjectDeGrabMessage'; +messages[Message.ObjectSpinStart] = 'ObjectSpinStartMessage'; +messages[Message.ObjectSpinUpdate] = 'ObjectSpinUpdateMessage'; +messages[Message.ObjectSpinStop] = 'ObjectSpinStopMessage'; +messages[Message.ObjectExportSelected] = 'ObjectExportSelectedMessage'; +messages[Message.ModifyLand] = 'ModifyLandMessage'; +messages[Message.VelocityInterpolateOn] = 'VelocityInterpolateOnMessage'; +messages[Message.VelocityInterpolateOff] = 'VelocityInterpolateOffMessage'; +messages[Message.StateSave] = 'StateSaveMessage'; +messages[Message.ReportAutosaveCrash] = 'ReportAutosaveCrashMessage'; +messages[Message.SimWideDeletes] = 'SimWideDeletesMessage'; +messages[Message.RequestObjectPropertiesFamily] = 'RequestObjectPropertiesFamilyMessage'; +messages[Message.TrackAgent] = 'TrackAgentMessage'; +messages[Message.ViewerStats] = 'ViewerStatsMessage'; +messages[Message.ScriptAnswerYes] = 'ScriptAnswerYesMessage'; +messages[Message.UserReport] = 'UserReportMessage'; +messages[Message.AlertMessage] = 'AlertMessageMessage'; +messages[Message.AgentAlertMessage] = 'AgentAlertMessageMessage'; +messages[Message.MeanCollisionAlert] = 'MeanCollisionAlertMessage'; +messages[Message.ViewerFrozenMessage] = 'ViewerFrozenMessageMessage'; +messages[Message.HealthMessage] = 'HealthMessageMessage'; +messages[Message.ChatFromSimulator] = 'ChatFromSimulatorMessage'; +messages[Message.SimStats] = 'SimStatsMessage'; +messages[Message.RequestRegionInfo] = 'RequestRegionInfoMessage'; +messages[Message.RegionInfo] = 'RegionInfoMessage'; +messages[Message.GodUpdateRegionInfo] = 'GodUpdateRegionInfoMessage'; +messages[Message.NearestLandingRegionRequest] = 'NearestLandingRegionRequestMessage'; +messages[Message.NearestLandingRegionReply] = 'NearestLandingRegionReplyMessage'; +messages[Message.NearestLandingRegionUpdated] = 'NearestLandingRegionUpdatedMessage'; +messages[Message.TeleportLandingStatusChanged] = 'TeleportLandingStatusChangedMessage'; +messages[Message.RegionHandshake] = 'RegionHandshakeMessage'; +messages[Message.RegionHandshakeReply] = 'RegionHandshakeReplyMessage'; +messages[Message.CoarseLocationUpdate] = 'CoarseLocationUpdateMessage'; +messages[Message.ImageData] = 'ImageDataMessage'; +messages[Message.ImagePacket] = 'ImagePacketMessage'; +messages[Message.LayerData] = 'LayerDataMessage'; +messages[Message.ObjectUpdate] = 'ObjectUpdateMessage'; +messages[Message.ObjectUpdateCompressed] = 'ObjectUpdateCompressedMessage'; +messages[Message.ObjectUpdateCached] = 'ObjectUpdateCachedMessage'; +messages[Message.ImprovedTerseObjectUpdate] = 'ImprovedTerseObjectUpdateMessage'; +messages[Message.KillObject] = 'KillObjectMessage'; +messages[Message.CrossedRegion] = 'CrossedRegionMessage'; +messages[Message.SimulatorViewerTimeMessage] = 'SimulatorViewerTimeMessageMessage'; +messages[Message.EnableSimulator] = 'EnableSimulatorMessage'; +messages[Message.DisableSimulator] = 'DisableSimulatorMessage'; +messages[Message.ConfirmEnableSimulator] = 'ConfirmEnableSimulatorMessage'; +messages[Message.TransferRequest] = 'TransferRequestMessage'; +messages[Message.TransferInfo] = 'TransferInfoMessage'; +messages[Message.TransferPacket] = 'TransferPacketMessage'; +messages[Message.TransferAbort] = 'TransferAbortMessage'; +messages[Message.RequestXfer] = 'RequestXferMessage'; +messages[Message.SendXferPacket] = 'SendXferPacketMessage'; +messages[Message.ConfirmXferPacket] = 'ConfirmXferPacketMessage'; +messages[Message.AbortXfer] = 'AbortXferMessage'; +messages[Message.AvatarAnimation] = 'AvatarAnimationMessage'; +messages[Message.AvatarAppearance] = 'AvatarAppearanceMessage'; +messages[Message.AvatarSitResponse] = 'AvatarSitResponseMessage'; +messages[Message.SetFollowCamProperties] = 'SetFollowCamPropertiesMessage'; +messages[Message.ClearFollowCamProperties] = 'ClearFollowCamPropertiesMessage'; +messages[Message.CameraConstraint] = 'CameraConstraintMessage'; +messages[Message.ObjectProperties] = 'ObjectPropertiesMessage'; +messages[Message.ObjectPropertiesFamily] = 'ObjectPropertiesFamilyMessage'; +messages[Message.RequestPayPrice] = 'RequestPayPriceMessage'; +messages[Message.PayPriceReply] = 'PayPriceReplyMessage'; +messages[Message.KickUser] = 'KickUserMessage'; +messages[Message.KickUserAck] = 'KickUserAckMessage'; +messages[Message.GodKickUser] = 'GodKickUserMessage'; +messages[Message.SystemKickUser] = 'SystemKickUserMessage'; +messages[Message.EjectUser] = 'EjectUserMessage'; +messages[Message.FreezeUser] = 'FreezeUserMessage'; +messages[Message.AvatarPropertiesRequest] = 'AvatarPropertiesRequestMessage'; +messages[Message.AvatarPropertiesRequestBackend] = 'AvatarPropertiesRequestBackendMessage'; +messages[Message.AvatarPropertiesReply] = 'AvatarPropertiesReplyMessage'; +messages[Message.AvatarInterestsReply] = 'AvatarInterestsReplyMessage'; +messages[Message.AvatarGroupsReply] = 'AvatarGroupsReplyMessage'; +messages[Message.AvatarPropertiesUpdate] = 'AvatarPropertiesUpdateMessage'; +messages[Message.AvatarInterestsUpdate] = 'AvatarInterestsUpdateMessage'; +messages[Message.AvatarNotesReply] = 'AvatarNotesReplyMessage'; +messages[Message.AvatarNotesUpdate] = 'AvatarNotesUpdateMessage'; +messages[Message.AvatarPicksReply] = 'AvatarPicksReplyMessage'; +messages[Message.EventInfoRequest] = 'EventInfoRequestMessage'; +messages[Message.EventInfoReply] = 'EventInfoReplyMessage'; +messages[Message.EventNotificationAddRequest] = 'EventNotificationAddRequestMessage'; +messages[Message.EventNotificationRemoveRequest] = 'EventNotificationRemoveRequestMessage'; +messages[Message.EventGodDelete] = 'EventGodDeleteMessage'; +messages[Message.PickInfoReply] = 'PickInfoReplyMessage'; +messages[Message.PickInfoUpdate] = 'PickInfoUpdateMessage'; +messages[Message.PickDelete] = 'PickDeleteMessage'; +messages[Message.PickGodDelete] = 'PickGodDeleteMessage'; +messages[Message.ScriptQuestion] = 'ScriptQuestionMessage'; +messages[Message.ScriptControlChange] = 'ScriptControlChangeMessage'; +messages[Message.ScriptDialog] = 'ScriptDialogMessage'; +messages[Message.ScriptDialogReply] = 'ScriptDialogReplyMessage'; +messages[Message.ForceScriptControlRelease] = 'ForceScriptControlReleaseMessage'; +messages[Message.RevokePermissions] = 'RevokePermissionsMessage'; +messages[Message.LoadURL] = 'LoadURLMessage'; +messages[Message.ScriptTeleportRequest] = 'ScriptTeleportRequestMessage'; +messages[Message.ParcelOverlay] = 'ParcelOverlayMessage'; +messages[Message.ParcelPropertiesRequest] = 'ParcelPropertiesRequestMessage'; +messages[Message.ParcelPropertiesRequestByID] = 'ParcelPropertiesRequestByIDMessage'; +messages[Message.ParcelProperties] = 'ParcelPropertiesMessage'; +messages[Message.ParcelPropertiesUpdate] = 'ParcelPropertiesUpdateMessage'; +messages[Message.ParcelReturnObjects] = 'ParcelReturnObjectsMessage'; +messages[Message.ParcelSetOtherCleanTime] = 'ParcelSetOtherCleanTimeMessage'; +messages[Message.ParcelDisableObjects] = 'ParcelDisableObjectsMessage'; +messages[Message.ParcelSelectObjects] = 'ParcelSelectObjectsMessage'; +messages[Message.EstateCovenantRequest] = 'EstateCovenantRequestMessage'; +messages[Message.EstateCovenantReply] = 'EstateCovenantReplyMessage'; +messages[Message.ForceObjectSelect] = 'ForceObjectSelectMessage'; +messages[Message.ParcelBuyPass] = 'ParcelBuyPassMessage'; +messages[Message.ParcelDeedToGroup] = 'ParcelDeedToGroupMessage'; +messages[Message.ParcelReclaim] = 'ParcelReclaimMessage'; +messages[Message.ParcelClaim] = 'ParcelClaimMessage'; +messages[Message.ParcelJoin] = 'ParcelJoinMessage'; +messages[Message.ParcelDivide] = 'ParcelDivideMessage'; +messages[Message.ParcelRelease] = 'ParcelReleaseMessage'; +messages[Message.ParcelBuy] = 'ParcelBuyMessage'; +messages[Message.ParcelGodForceOwner] = 'ParcelGodForceOwnerMessage'; +messages[Message.ParcelAccessListRequest] = 'ParcelAccessListRequestMessage'; +messages[Message.ParcelAccessListReply] = 'ParcelAccessListReplyMessage'; +messages[Message.ParcelAccessListUpdate] = 'ParcelAccessListUpdateMessage'; +messages[Message.ParcelDwellRequest] = 'ParcelDwellRequestMessage'; +messages[Message.ParcelDwellReply] = 'ParcelDwellReplyMessage'; +messages[Message.RequestParcelTransfer] = 'RequestParcelTransferMessage'; +messages[Message.UpdateParcel] = 'UpdateParcelMessage'; +messages[Message.RemoveParcel] = 'RemoveParcelMessage'; +messages[Message.MergeParcel] = 'MergeParcelMessage'; +messages[Message.LogParcelChanges] = 'LogParcelChangesMessage'; +messages[Message.CheckParcelSales] = 'CheckParcelSalesMessage'; +messages[Message.ParcelSales] = 'ParcelSalesMessage'; +messages[Message.ParcelGodMarkAsContent] = 'ParcelGodMarkAsContentMessage'; +messages[Message.ViewerStartAuction] = 'ViewerStartAuctionMessage'; +messages[Message.StartAuction] = 'StartAuctionMessage'; +messages[Message.ConfirmAuctionStart] = 'ConfirmAuctionStartMessage'; +messages[Message.CompleteAuction] = 'CompleteAuctionMessage'; +messages[Message.CancelAuction] = 'CancelAuctionMessage'; +messages[Message.CheckParcelAuctions] = 'CheckParcelAuctionsMessage'; +messages[Message.ParcelAuctions] = 'ParcelAuctionsMessage'; +messages[Message.UUIDNameRequest] = 'UUIDNameRequestMessage'; +messages[Message.UUIDNameReply] = 'UUIDNameReplyMessage'; +messages[Message.UUIDGroupNameRequest] = 'UUIDGroupNameRequestMessage'; +messages[Message.UUIDGroupNameReply] = 'UUIDGroupNameReplyMessage'; +messages[Message.ChatPass] = 'ChatPassMessage'; +messages[Message.EdgeDataPacket] = 'EdgeDataPacketMessage'; +messages[Message.SimStatus] = 'SimStatusMessage'; +messages[Message.ChildAgentUpdate] = 'ChildAgentUpdateMessage'; +messages[Message.ChildAgentAlive] = 'ChildAgentAliveMessage'; +messages[Message.ChildAgentPositionUpdate] = 'ChildAgentPositionUpdateMessage'; +messages[Message.ChildAgentDying] = 'ChildAgentDyingMessage'; +messages[Message.ChildAgentUnknown] = 'ChildAgentUnknownMessage'; +messages[Message.AtomicPassObject] = 'AtomicPassObjectMessage'; +messages[Message.KillChildAgents] = 'KillChildAgentsMessage'; +messages[Message.GetScriptRunning] = 'GetScriptRunningMessage'; +messages[Message.ScriptRunningReply] = 'ScriptRunningReplyMessage'; +messages[Message.SetScriptRunning] = 'SetScriptRunningMessage'; +messages[Message.ScriptReset] = 'ScriptResetMessage'; +messages[Message.ScriptSensorRequest] = 'ScriptSensorRequestMessage'; +messages[Message.ScriptSensorReply] = 'ScriptSensorReplyMessage'; +messages[Message.CompleteAgentMovement] = 'CompleteAgentMovementMessage'; +messages[Message.AgentMovementComplete] = 'AgentMovementCompleteMessage'; +messages[Message.DataServerLogout] = 'DataServerLogoutMessage'; +messages[Message.LogoutRequest] = 'LogoutRequestMessage'; +messages[Message.LogoutReply] = 'LogoutReplyMessage'; +messages[Message.ImprovedInstantMessage] = 'ImprovedInstantMessageMessage'; +messages[Message.RetrieveInstantMessages] = 'RetrieveInstantMessagesMessage'; +messages[Message.FindAgent] = 'FindAgentMessage'; +messages[Message.RequestGodlikePowers] = 'RequestGodlikePowersMessage'; +messages[Message.GrantGodlikePowers] = 'GrantGodlikePowersMessage'; +messages[Message.GodlikeMessage] = 'GodlikeMessageMessage'; +messages[Message.EstateOwnerMessage] = 'EstateOwnerMessageMessage'; +messages[Message.GenericMessage] = 'GenericMessageMessage'; +messages[Message.MuteListRequest] = 'MuteListRequestMessage'; +messages[Message.UpdateMuteListEntry] = 'UpdateMuteListEntryMessage'; +messages[Message.RemoveMuteListEntry] = 'RemoveMuteListEntryMessage'; +messages[Message.CopyInventoryFromNotecard] = 'CopyInventoryFromNotecardMessage'; +messages[Message.UpdateInventoryItem] = 'UpdateInventoryItemMessage'; +messages[Message.UpdateCreateInventoryItem] = 'UpdateCreateInventoryItemMessage'; +messages[Message.MoveInventoryItem] = 'MoveInventoryItemMessage'; +messages[Message.CopyInventoryItem] = 'CopyInventoryItemMessage'; +messages[Message.RemoveInventoryItem] = 'RemoveInventoryItemMessage'; +messages[Message.ChangeInventoryItemFlags] = 'ChangeInventoryItemFlagsMessage'; +messages[Message.SaveAssetIntoInventory] = 'SaveAssetIntoInventoryMessage'; +messages[Message.CreateInventoryFolder] = 'CreateInventoryFolderMessage'; +messages[Message.UpdateInventoryFolder] = 'UpdateInventoryFolderMessage'; +messages[Message.MoveInventoryFolder] = 'MoveInventoryFolderMessage'; +messages[Message.RemoveInventoryFolder] = 'RemoveInventoryFolderMessage'; +messages[Message.FetchInventoryDescendents] = 'FetchInventoryDescendentsMessage'; +messages[Message.InventoryDescendents] = 'InventoryDescendentsMessage'; +messages[Message.FetchInventory] = 'FetchInventoryMessage'; +messages[Message.FetchInventoryReply] = 'FetchInventoryReplyMessage'; +messages[Message.BulkUpdateInventory] = 'BulkUpdateInventoryMessage'; +messages[Message.RequestInventoryAsset] = 'RequestInventoryAssetMessage'; +messages[Message.InventoryAssetResponse] = 'InventoryAssetResponseMessage'; +messages[Message.RemoveInventoryObjects] = 'RemoveInventoryObjectsMessage'; +messages[Message.PurgeInventoryDescendents] = 'PurgeInventoryDescendentsMessage'; +messages[Message.UpdateTaskInventory] = 'UpdateTaskInventoryMessage'; +messages[Message.RemoveTaskInventory] = 'RemoveTaskInventoryMessage'; +messages[Message.MoveTaskInventory] = 'MoveTaskInventoryMessage'; +messages[Message.RequestTaskInventory] = 'RequestTaskInventoryMessage'; +messages[Message.ReplyTaskInventory] = 'ReplyTaskInventoryMessage'; +messages[Message.DeRezObject] = 'DeRezObjectMessage'; +messages[Message.DeRezAck] = 'DeRezAckMessage'; +messages[Message.RezObject] = 'RezObjectMessage'; +messages[Message.RezObjectFromNotecard] = 'RezObjectFromNotecardMessage'; +messages[Message.TransferInventory] = 'TransferInventoryMessage'; +messages[Message.TransferInventoryAck] = 'TransferInventoryAckMessage'; +messages[Message.AcceptFriendship] = 'AcceptFriendshipMessage'; +messages[Message.DeclineFriendship] = 'DeclineFriendshipMessage'; +messages[Message.FormFriendship] = 'FormFriendshipMessage'; +messages[Message.TerminateFriendship] = 'TerminateFriendshipMessage'; +messages[Message.OfferCallingCard] = 'OfferCallingCardMessage'; +messages[Message.AcceptCallingCard] = 'AcceptCallingCardMessage'; +messages[Message.DeclineCallingCard] = 'DeclineCallingCardMessage'; +messages[Message.RezScript] = 'RezScriptMessage'; +messages[Message.CreateInventoryItem] = 'CreateInventoryItemMessage'; +messages[Message.CreateLandmarkForEvent] = 'CreateLandmarkForEventMessage'; +messages[Message.EventLocationRequest] = 'EventLocationRequestMessage'; +messages[Message.EventLocationReply] = 'EventLocationReplyMessage'; +messages[Message.RegionHandleRequest] = 'RegionHandleRequestMessage'; +messages[Message.RegionIDAndHandleReply] = 'RegionIDAndHandleReplyMessage'; +messages[Message.MoneyTransferRequest] = 'MoneyTransferRequestMessage'; +messages[Message.MoneyTransferBackend] = 'MoneyTransferBackendMessage'; +messages[Message.MoneyBalanceRequest] = 'MoneyBalanceRequestMessage'; +messages[Message.MoneyBalanceReply] = 'MoneyBalanceReplyMessage'; +messages[Message.RoutedMoneyBalanceReply] = 'RoutedMoneyBalanceReplyMessage'; +messages[Message.ActivateGestures] = 'ActivateGesturesMessage'; +messages[Message.DeactivateGestures] = 'DeactivateGesturesMessage'; +messages[Message.MuteListUpdate] = 'MuteListUpdateMessage'; +messages[Message.UseCachedMuteList] = 'UseCachedMuteListMessage'; +messages[Message.GrantUserRights] = 'GrantUserRightsMessage'; +messages[Message.ChangeUserRights] = 'ChangeUserRightsMessage'; +messages[Message.OnlineNotification] = 'OnlineNotificationMessage'; +messages[Message.OfflineNotification] = 'OfflineNotificationMessage'; +messages[Message.SetStartLocationRequest] = 'SetStartLocationRequestMessage'; +messages[Message.SetStartLocation] = 'SetStartLocationMessage'; +messages[Message.NetTest] = 'NetTestMessage'; +messages[Message.SetCPURatio] = 'SetCPURatioMessage'; +messages[Message.SimCrashed] = 'SimCrashedMessage'; +messages[Message.NameValuePair] = 'NameValuePairMessage'; +messages[Message.RemoveNameValuePair] = 'RemoveNameValuePairMessage'; +messages[Message.UpdateAttachment] = 'UpdateAttachmentMessage'; +messages[Message.RemoveAttachment] = 'RemoveAttachmentMessage'; +messages[Message.SoundTrigger] = 'SoundTriggerMessage'; +messages[Message.AttachedSound] = 'AttachedSoundMessage'; +messages[Message.AttachedSoundGainChange] = 'AttachedSoundGainChangeMessage'; +messages[Message.PreloadSound] = 'PreloadSoundMessage'; +messages[Message.AssetUploadRequest] = 'AssetUploadRequestMessage'; +messages[Message.AssetUploadComplete] = 'AssetUploadCompleteMessage'; +messages[Message.EmailMessageRequest] = 'EmailMessageRequestMessage'; +messages[Message.EmailMessageReply] = 'EmailMessageReplyMessage'; +messages[Message.InternalScriptMail] = 'InternalScriptMailMessage'; +messages[Message.ScriptDataRequest] = 'ScriptDataRequestMessage'; +messages[Message.ScriptDataReply] = 'ScriptDataReplyMessage'; +messages[Message.CreateGroupRequest] = 'CreateGroupRequestMessage'; +messages[Message.CreateGroupReply] = 'CreateGroupReplyMessage'; +messages[Message.UpdateGroupInfo] = 'UpdateGroupInfoMessage'; +messages[Message.GroupRoleChanges] = 'GroupRoleChangesMessage'; +messages[Message.JoinGroupRequest] = 'JoinGroupRequestMessage'; +messages[Message.JoinGroupReply] = 'JoinGroupReplyMessage'; +messages[Message.EjectGroupMemberRequest] = 'EjectGroupMemberRequestMessage'; +messages[Message.EjectGroupMemberReply] = 'EjectGroupMemberReplyMessage'; +messages[Message.LeaveGroupRequest] = 'LeaveGroupRequestMessage'; +messages[Message.LeaveGroupReply] = 'LeaveGroupReplyMessage'; +messages[Message.InviteGroupRequest] = 'InviteGroupRequestMessage'; +messages[Message.InviteGroupResponse] = 'InviteGroupResponseMessage'; +messages[Message.GroupProfileRequest] = 'GroupProfileRequestMessage'; +messages[Message.GroupProfileReply] = 'GroupProfileReplyMessage'; +messages[Message.GroupAccountSummaryRequest] = 'GroupAccountSummaryRequestMessage'; +messages[Message.GroupAccountSummaryReply] = 'GroupAccountSummaryReplyMessage'; +messages[Message.GroupAccountDetailsRequest] = 'GroupAccountDetailsRequestMessage'; +messages[Message.GroupAccountDetailsReply] = 'GroupAccountDetailsReplyMessage'; +messages[Message.GroupAccountTransactionsRequest] = 'GroupAccountTransactionsRequestMessage'; +messages[Message.GroupAccountTransactionsReply] = 'GroupAccountTransactionsReplyMessage'; +messages[Message.GroupActiveProposalsRequest] = 'GroupActiveProposalsRequestMessage'; +messages[Message.GroupActiveProposalItemReply] = 'GroupActiveProposalItemReplyMessage'; +messages[Message.GroupVoteHistoryRequest] = 'GroupVoteHistoryRequestMessage'; +messages[Message.GroupVoteHistoryItemReply] = 'GroupVoteHistoryItemReplyMessage'; +messages[Message.StartGroupProposal] = 'StartGroupProposalMessage'; +messages[Message.GroupProposalBallot] = 'GroupProposalBallotMessage'; +messages[Message.TallyVotes] = 'TallyVotesMessage'; +messages[Message.GroupMembersRequest] = 'GroupMembersRequestMessage'; +messages[Message.GroupMembersReply] = 'GroupMembersReplyMessage'; +messages[Message.ActivateGroup] = 'ActivateGroupMessage'; +messages[Message.SetGroupContribution] = 'SetGroupContributionMessage'; +messages[Message.SetGroupAcceptNotices] = 'SetGroupAcceptNoticesMessage'; +messages[Message.GroupRoleDataRequest] = 'GroupRoleDataRequestMessage'; +messages[Message.GroupRoleDataReply] = 'GroupRoleDataReplyMessage'; +messages[Message.GroupRoleMembersRequest] = 'GroupRoleMembersRequestMessage'; +messages[Message.GroupRoleMembersReply] = 'GroupRoleMembersReplyMessage'; +messages[Message.GroupTitlesRequest] = 'GroupTitlesRequestMessage'; +messages[Message.GroupTitlesReply] = 'GroupTitlesReplyMessage'; +messages[Message.GroupTitleUpdate] = 'GroupTitleUpdateMessage'; +messages[Message.GroupRoleUpdate] = 'GroupRoleUpdateMessage'; +messages[Message.LiveHelpGroupRequest] = 'LiveHelpGroupRequestMessage'; +messages[Message.LiveHelpGroupReply] = 'LiveHelpGroupReplyMessage'; +messages[Message.AgentWearablesRequest] = 'AgentWearablesRequestMessage'; +messages[Message.AgentWearablesUpdate] = 'AgentWearablesUpdateMessage'; +messages[Message.AgentIsNowWearing] = 'AgentIsNowWearingMessage'; +messages[Message.AgentCachedTexture] = 'AgentCachedTextureMessage'; +messages[Message.AgentCachedTextureResponse] = 'AgentCachedTextureResponseMessage'; +messages[Message.AgentDataUpdateRequest] = 'AgentDataUpdateRequestMessage'; +messages[Message.AgentDataUpdate] = 'AgentDataUpdateMessage'; +messages[Message.GroupDataUpdate] = 'GroupDataUpdateMessage'; +messages[Message.AgentGroupDataUpdate] = 'AgentGroupDataUpdateMessage'; +messages[Message.AgentDropGroup] = 'AgentDropGroupMessage'; +messages[Message.LogTextMessage] = 'LogTextMessageMessage'; +messages[Message.ViewerEffect] = 'ViewerEffectMessage'; +messages[Message.CreateTrustedCircuit] = 'CreateTrustedCircuitMessage'; +messages[Message.DenyTrustedCircuit] = 'DenyTrustedCircuitMessage'; +messages[Message.RequestTrustedCircuit] = 'RequestTrustedCircuitMessage'; +messages[Message.RezSingleAttachmentFromInv] = 'RezSingleAttachmentFromInvMessage'; +messages[Message.RezMultipleAttachmentsFromInv] = 'RezMultipleAttachmentsFromInvMessage'; +messages[Message.DetachAttachmentIntoInv] = 'DetachAttachmentIntoInvMessage'; +messages[Message.CreateNewOutfitAttachments] = 'CreateNewOutfitAttachmentsMessage'; +messages[Message.UserInfoRequest] = 'UserInfoRequestMessage'; +messages[Message.UserInfoReply] = 'UserInfoReplyMessage'; +messages[Message.UpdateUserInfo] = 'UpdateUserInfoMessage'; +messages[Message.ParcelRename] = 'ParcelRenameMessage'; +messages[Message.InitiateDownload] = 'InitiateDownloadMessage'; +messages[Message.SystemMessage] = 'SystemMessageMessage'; +messages[Message.MapLayerRequest] = 'MapLayerRequestMessage'; +messages[Message.MapLayerReply] = 'MapLayerReplyMessage'; +messages[Message.MapBlockRequest] = 'MapBlockRequestMessage'; +messages[Message.MapNameRequest] = 'MapNameRequestMessage'; +messages[Message.MapBlockReply] = 'MapBlockReplyMessage'; +messages[Message.MapItemRequest] = 'MapItemRequestMessage'; +messages[Message.MapItemReply] = 'MapItemReplyMessage'; +messages[Message.SendPostcard] = 'SendPostcardMessage'; +messages[Message.RpcChannelRequest] = 'RpcChannelRequestMessage'; +messages[Message.RpcChannelReply] = 'RpcChannelReplyMessage'; +messages[Message.RpcScriptRequestInbound] = 'RpcScriptRequestInboundMessage'; +messages[Message.RpcScriptRequestInboundForward] = 'RpcScriptRequestInboundForwardMessage'; +messages[Message.RpcScriptReplyInbound] = 'RpcScriptReplyInboundMessage'; +messages[Message.ScriptMailRegistration] = 'ScriptMailRegistrationMessage'; +messages[Message.ParcelMediaCommandMessage] = 'ParcelMediaCommandMessageMessage'; +messages[Message.ParcelMediaUpdate] = 'ParcelMediaUpdateMessage'; +messages[Message.LandStatRequest] = 'LandStatRequestMessage'; +messages[Message.LandStatReply] = 'LandStatReplyMessage'; +messages[Message.Error] = 'ErrorMessage'; +messages[Message.ObjectIncludeInSearch] = 'ObjectIncludeInSearchMessage'; +messages[Message.RezRestoreToWorld] = 'RezRestoreToWorldMessage'; +messages[Message.LinkInventoryItem] = 'LinkInventoryItemMessage'; +messages[Message.RetrieveIMsExtended] = 'RetrieveIMsExtendedMessage'; +messages[Message.JoinGroupRequestExtended] = 'JoinGroupRequestExtendedMessage'; +messages[Message.CreateGroupRequestExtended] = 'CreateGroupRequestExtendedMessage'; export function nameFromID(id: Message): string { diff --git a/lib/classes/MessageDecoder.ts b/lib/classes/MessageDecoder.ts deleted file mode 100644 index a5bc023..0000000 --- a/lib/classes/MessageDecoder.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {Packet} from './Packet'; -import {Message} from '../enums/Message'; -import * as MessageClass from './MessageClasses'; -import {nameFromID} from './MessageClasses'; - -export class MessageDecoder -{ - constructor() - { - //let pk: Packet = new Messages['UseCircuitCode']() as Packet; - let pk: Packet = new (MessageClass)[nameFromID(Message.UseCircuitCode)]() as Packet; - console.log(pk.name); - } -} diff --git a/lib/classes/Packet.ts b/lib/classes/Packet.ts index fdb1325..1eb2f85 100644 --- a/lib/classes/Packet.ts +++ b/lib/classes/Packet.ts @@ -1,12 +1,147 @@ +import {PacketFlags} from '../enums/PacketFlags'; +import {MessageBase} from './MessageBase'; +import {Zerocoder} from './Zerocoder'; +import {nameFromID} from './MessageClasses'; import {MessageFlags} from '../enums/MessageFlags'; +import * as MessageClass from './MessageClasses'; -export interface Packet +export class Packet { - name: string; - flags: MessageFlags; - id: number; + packetFlags: PacketFlags = 0; + sequenceNumber = 0; + extraHeader: Buffer = Buffer.allocUnsafe(0); + message: MessageBase; - getSize(): number; - writeToBuffer(buf: Buffer, pos: number): number; - readFromBuffer(buf: Buffer, pos: number): number; + getSize(): number + { + let idSize = 4; + if (this.message.messageFlags & MessageFlags.FrequencyHigh) + { + idSize = 1; + } + else if (this.message.messageFlags & MessageFlags.FrequencyMedium) + { + idSize = 2; + } + return 1 + 4 + 1 + this.extraHeader.length + idSize + this.message.getSize(); + } + + writeToBuffer(buf: Buffer, pos: number): Buffer + { + if (this.message.messageFlags & MessageFlags.Zerocoded) + { + this.packetFlags = this.packetFlags | PacketFlags.Zerocoded; + } + buf.writeUInt8(this.packetFlags, pos++); + buf.writeUInt32BE(this.sequenceNumber, pos); + pos = pos + 4; + buf.writeUInt8(this.extraHeader.length, pos++); + if (this.extraHeader.length > 0) + { + this.extraHeader.copy(buf, pos, 0, this.extraHeader.length - 1); + pos += this.extraHeader.length; + } + const bodyStart = pos; + + if (this.message.messageFlags & MessageFlags.FrequencyHigh) + { + buf.writeUInt8(this.message.id, pos++); + } + else if (this.message.messageFlags & MessageFlags.FrequencyMedium) + { + buf.writeUInt16BE(this.message.id, pos); + pos += 2; + } + else + { + buf.writeUInt32BE(this.message.id, pos); + pos += 4; + } + + const expectedLength = this.message.getSize(); + const actualLength = this.message.writeToBuffer(buf, pos); + if (actualLength !== expectedLength) + { + console.error('WARNING: Bytes written does not match expected message data length') + } + pos += actualLength; + if (pos < buf.length) + { + console.error('WARNING: BUFFER UNDERFLOW: Finished writing but we are not at the end of the buffer'); + } + if (this.packetFlags & PacketFlags.Zerocoded) + { + buf = Zerocoder.Encode(buf, bodyStart, pos); + } + return buf; + } + + readFromBuffer(buf: Buffer, pos: number, ackReceived: (sequenceID: number) => void, sendAck: (sequenceID: number) => void) + { + this.packetFlags = buf.readUInt8(pos++); + this.sequenceNumber = buf.readUInt32BE(pos); + if (this.packetFlags & PacketFlags.Reliable) + { + sendAck(this.sequenceNumber); + } + pos = pos + 4; + const extraBytes = buf.readUInt8(pos++); + if (extraBytes > 0) + { + this.extraHeader = buf.slice(pos, pos + extraBytes); + pos += extraBytes; + } + else + { + this.extraHeader = Buffer.allocUnsafe(0); + } + + if (this.packetFlags & PacketFlags.Zerocoded) + { + buf = Zerocoder.Decode(buf, pos, buf.length - 1); + } + + let messageID = buf.readUInt8(pos); + if (messageID === 0xFF) + { + messageID = buf.readUInt16BE(pos); + if (messageID === 0xFFFF) + { + messageID = buf.readUInt32BE(pos); + pos += 4; + } + else + { + pos += 2; + } + } + else + { + pos++; + } + + this.message = new (MessageClass)[nameFromID(messageID)]() as MessageBase; + + const readLength = this.message.readFromBuffer(buf, pos); + pos += readLength; + + + if (this.packetFlags & PacketFlags.Ack) + { + // Final byte in the packet contains the number of Acks + const numAcks = buf.readUInt8(buf.length - 1); + for (let i = 0; i < numAcks; i++) + { + const ackID = buf.readUInt32LE(pos); + ackReceived(ackID); + pos += 4; + } + // Account for the final byte + pos++; + } + if (pos < buf.length) + { + console.error('WARNING: Finished reading but we\'re not at the end of the packet'); + } + } } diff --git a/lib/classes/Region.ts b/lib/classes/Region.ts index cc6fdc2..4c2c99c 100644 --- a/lib/classes/Region.ts +++ b/lib/classes/Region.ts @@ -4,13 +4,10 @@ export class Region { xCoordinate: number; yCoordinate: number; - port: number; - ipAddress: string; circuit: Circuit; constructor() { - console.log("Creating circuit"); this.circuit = new Circuit(); } } diff --git a/lib/classes/UUID.ts b/lib/classes/UUID.ts index 7cae35a..b57fad9 100644 --- a/lib/classes/UUID.ts +++ b/lib/classes/UUID.ts @@ -20,7 +20,13 @@ export class UUID } else if (pos !== undefined) { - this.mUUID = uuid.unparse(buf, pos); + const uuidBuf: Buffer = buf.slice(pos, pos + 16); + const hexString = uuidBuf.toString('hex'); + this.setUUID(hexString.substr(0, 8) + '-' + + hexString.substr(8, 4) + '-' + + hexString.substr(12, 4) + '-' + + hexString.substr(16, 4) + '-' + + hexString.substr(20, 12)); } } } @@ -42,6 +48,8 @@ export class UUID writeToBuffer(buf: Buffer, pos: number) { - uuid.parse(this.mUUID, buf, pos); + const shortened = this.mUUID.substr(0, 8) + this.mUUID.substr(9, 4) + this.mUUID.substr(14, 4) + this.mUUID.substr(19, 4) + this.mUUID.substr(24, 12); + const binary = Buffer.from(shortened, 'hex'); + binary.copy(buf, pos, 0); } } diff --git a/lib/classes/Zerocoder.ts b/lib/classes/Zerocoder.ts new file mode 100644 index 0000000..c0dc6b1 --- /dev/null +++ b/lib/classes/Zerocoder.ts @@ -0,0 +1,101 @@ +export class Zerocoder +{ + static Encode(buf: Buffer, start: number, end: number): Buffer + { + // First, run through the data and calculate how many bytes we will save + let bytes = 0; + let zero = 0; + for (let i = start; i <= end; i++) + { + if (buf[i] === 0) + { + zero++; + } + else + { + if (zero > 0) + { + bytes += (zero - 2); + zero = 0; + } + } + } + if (zero > 0) + { + bytes += (zero - 2); + } + + const newBuf = Buffer.allocUnsafe((end + 1) - bytes); + buf.copy(newBuf, 0, 0, start - 1); + let newBufIndex = start; + zero = 0; + for (let i = start; i <= end; i++) + { + if (buf[i] === 0) + { + zero++; + } + else + { + if (zero > 0) + { + newBuf[newBufIndex++] = 0; + newBuf.writeUInt8(zero, newBufIndex++); + zero = 0; + } + newBuf[newBufIndex++] = buf[i]; + } + } + if (zero > 0) + { + newBuf[newBufIndex++] = 0; + newBuf.writeUInt8(zero, newBufIndex); + } + return newBuf; + } + static Decode(buf: Buffer, start: number, end: number): Buffer + { + // First, run through the data and calculate how many bytes have been compressed + let bytes = 0; + let zero = false; + for (let i = start; i <= end; i++) + { + if (zero === true) + { + zero = false; + // Minus two bytes for the overhead + bytes += buf.readUInt8(i) - 2; + } + else if (buf[i] === 0) + { + zero = true; + } + } + + const newBuf = Buffer.allocUnsafe((end + 1) + bytes); + buf.copy(newBuf, 0, 0, start - 1); + let newBufIndex = start; + zero = false; + for (let i = start; i <= end; i++) + { + if (zero === true) + { + zero = false; + const zeroCount = buf.readUInt8(i); + for (let x = 0; x < zeroCount; x++) + { + newBuf[newBufIndex++] = 0; + } + } + else if (buf[i] === 0) + { + zero = true; + } + else + { + newBuf[newBufIndex++] = buf[i]; + } + } + return newBuf; + } +} diff --git a/lib/classes/messages/AbortXfer.ts b/lib/classes/messages/AbortXfer.ts new file mode 100644 index 0000000..63f1f33 --- /dev/null +++ b/lib/classes/messages/AbortXfer.ts @@ -0,0 +1,55 @@ +// This file has been automatically generated by writeMessageClasses.js + +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AbortXferMessage implements MessageBase +{ + name = 'AbortXfer'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.AbortXfer; + + XferID: { + ID: Long; + Result: number; + }; + + getSize(): number + { + return 12; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeInt32LE(this.XferID['ID'].low, pos); + pos += 4; + buf.writeInt32LE(this.XferID['ID'].high, pos); + pos += 4; + buf.writeInt32LE(this.XferID['Result'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjXferID: { + ID: Long, + Result: number + } = { + ID: Long.ZERO, + Result: 0 + }; + newObjXferID['ID'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjXferID['Result'] = buf.readInt32LE(pos); + pos += 4; + this.XferID = newObjXferID; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AcceptCallingCard.ts b/lib/classes/messages/AcceptCallingCard.ts new file mode 100644 index 0000000..8686b4e --- /dev/null +++ b/lib/classes/messages/AcceptCallingCard.ts @@ -0,0 +1,89 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AcceptCallingCardMessage implements MessageBase +{ + name = 'AcceptCallingCard'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.AcceptCallingCard; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + TransactionBlock: { + TransactionID: UUID; + }; + FolderData: { + FolderID: UUID; + }[]; + + getSize(): number + { + return ((16) * this.FolderData.length) + 49; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.TransactionBlock['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.FolderData.length; + buf.writeUInt8(this.FolderData.length, pos++); + for (let i = 0; i < count; i++) + { + this.FolderData[i]['FolderID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjTransactionBlock: { + TransactionID: UUID + } = { + TransactionID: UUID.zero() + }; + newObjTransactionBlock['TransactionID'] = new UUID(buf, pos); + pos += 16; + this.TransactionBlock = newObjTransactionBlock; + const count = buf.readUInt8(pos++); + this.FolderData = []; + for (let i = 0; i < count; i++) + { + const newObjFolderData: { + FolderID: UUID + } = { + FolderID: UUID.zero() + }; + newObjFolderData['FolderID'] = new UUID(buf, pos); + pos += 16; + this.FolderData.push(newObjFolderData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AcceptFriendship.ts b/lib/classes/messages/AcceptFriendship.ts new file mode 100644 index 0000000..5884b7f --- /dev/null +++ b/lib/classes/messages/AcceptFriendship.ts @@ -0,0 +1,89 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AcceptFriendshipMessage implements MessageBase +{ + name = 'AcceptFriendship'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.AcceptFriendship; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + TransactionBlock: { + TransactionID: UUID; + }; + FolderData: { + FolderID: UUID; + }[]; + + getSize(): number + { + return ((16) * this.FolderData.length) + 49; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.TransactionBlock['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.FolderData.length; + buf.writeUInt8(this.FolderData.length, pos++); + for (let i = 0; i < count; i++) + { + this.FolderData[i]['FolderID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjTransactionBlock: { + TransactionID: UUID + } = { + TransactionID: UUID.zero() + }; + newObjTransactionBlock['TransactionID'] = new UUID(buf, pos); + pos += 16; + this.TransactionBlock = newObjTransactionBlock; + const count = buf.readUInt8(pos++); + this.FolderData = []; + for (let i = 0; i < count; i++) + { + const newObjFolderData: { + FolderID: UUID + } = { + FolderID: UUID.zero() + }; + newObjFolderData['FolderID'] = new UUID(buf, pos); + pos += 16; + this.FolderData.push(newObjFolderData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ActivateGestures.ts b/lib/classes/messages/ActivateGestures.ts new file mode 100644 index 0000000..4d02641 --- /dev/null +++ b/lib/classes/messages/ActivateGestures.ts @@ -0,0 +1,97 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ActivateGesturesMessage implements MessageBase +{ + name = 'ActivateGestures'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.ActivateGestures; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + Flags: number; + }; + Data: { + ItemID: UUID; + AssetID: UUID; + GestureFlags: number; + }[]; + + getSize(): number + { + return ((36) * this.Data.length) + 37; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.AgentData['Flags'], pos); + pos += 4; + const count = this.Data.length; + buf.writeUInt8(this.Data.length, pos++); + for (let i = 0; i < count; i++) + { + this.Data[i]['ItemID'].writeToBuffer(buf, pos); + pos += 16; + this.Data[i]['AssetID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.Data[i]['GestureFlags'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + Flags: number + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + Flags: 0 + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.Data = []; + for (let i = 0; i < count; i++) + { + const newObjData: { + ItemID: UUID, + AssetID: UUID, + GestureFlags: number + } = { + ItemID: UUID.zero(), + AssetID: UUID.zero(), + GestureFlags: 0 + }; + newObjData['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjData['AssetID'] = new UUID(buf, pos); + pos += 16; + newObjData['GestureFlags'] = buf.readUInt32LE(pos); + pos += 4; + this.Data.push(newObjData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ActivateGroup.ts b/lib/classes/messages/ActivateGroup.ts new file mode 100644 index 0000000..d2ededf --- /dev/null +++ b/lib/classes/messages/ActivateGroup.ts @@ -0,0 +1,60 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ActivateGroupMessage implements MessageBase +{ + name = 'ActivateGroup'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ActivateGroup; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + GroupID: UUID; + }; + + getSize(): number + { + return 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + GroupID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + GroupID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AddCircuitCode.ts b/lib/classes/messages/AddCircuitCode.ts new file mode 100644 index 0000000..cfd7260 --- /dev/null +++ b/lib/classes/messages/AddCircuitCode.ts @@ -0,0 +1,60 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AddCircuitCodeMessage implements MessageBase +{ + name = 'AddCircuitCode'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.AddCircuitCode; + + CircuitCode: { + Code: number; + SessionID: UUID; + AgentID: UUID; + }; + + getSize(): number + { + return 36; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt32LE(this.CircuitCode['Code'], pos); + pos += 4; + this.CircuitCode['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.CircuitCode['AgentID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjCircuitCode: { + Code: number, + SessionID: UUID, + AgentID: UUID + } = { + Code: 0, + SessionID: UUID.zero(), + AgentID: UUID.zero() + }; + newObjCircuitCode['Code'] = buf.readUInt32LE(pos); + pos += 4; + newObjCircuitCode['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjCircuitCode['AgentID'] = new UUID(buf, pos); + pos += 16; + this.CircuitCode = newObjCircuitCode; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AgentAlertMessage.ts b/lib/classes/messages/AgentAlertMessage.ts new file mode 100644 index 0000000..a468f3e --- /dev/null +++ b/lib/classes/messages/AgentAlertMessage.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AgentAlertMessageMessage implements MessageBase +{ + name = 'AgentAlertMessage'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.AgentAlertMessage; + + AgentData: { + AgentID: UUID; + }; + AlertData: { + Modal: boolean; + Message: string; + }; + + getSize(): number + { + return (this.AlertData['Message'].length + 1) + 17; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.AlertData['Modal']) ? 1 : 0, pos++); + buf.writeUInt8(this.AlertData['Message'].length, pos++); + buf.write(this.AlertData['Message'], pos); + pos += this.AlertData['Message'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjAlertData: { + Modal: boolean, + Message: string + } = { + Modal: false, + Message: '' + }; + newObjAlertData['Modal'] = (buf.readUInt8(pos++) === 1); + varLength = buf.readUInt8(pos++); + newObjAlertData['Message'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.AlertData = newObjAlertData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AgentAnimation.ts b/lib/classes/messages/AgentAnimation.ts new file mode 100644 index 0000000..e23d666 --- /dev/null +++ b/lib/classes/messages/AgentAnimation.ts @@ -0,0 +1,116 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AgentAnimationMessage implements MessageBase +{ + name = 'AgentAnimation'; + messageFlags = MessageFlags.FrequencyHigh; + id = Message.AgentAnimation; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + AnimationList: { + AnimID: UUID; + StartAnim: boolean; + }[]; + PhysicalAvatarEventList: { + TypeData: string; + }[]; + + getSize(): number + { + return ((17) * this.AnimationList.length) + ((this.calculateVarVarSize(this.PhysicalAvatarEventList, 'TypeData', 1)) * this.PhysicalAvatarEventList.length) + 34; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + let count = this.AnimationList.length; + buf.writeUInt8(this.AnimationList.length, pos++); + for (let i = 0; i < count; i++) + { + this.AnimationList[i]['AnimID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.AnimationList[i]['StartAnim']) ? 1 : 0, pos++); + } + count = this.PhysicalAvatarEventList.length; + buf.writeUInt8(this.PhysicalAvatarEventList.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt8(this.PhysicalAvatarEventList[i]['TypeData'].length, pos++); + buf.write(this.PhysicalAvatarEventList[i]['TypeData'], pos); + pos += this.PhysicalAvatarEventList[i]['TypeData'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + let count = buf.readUInt8(pos++); + this.AnimationList = []; + for (let i = 0; i < count; i++) + { + const newObjAnimationList: { + AnimID: UUID, + StartAnim: boolean + } = { + AnimID: UUID.zero(), + StartAnim: false + }; + newObjAnimationList['AnimID'] = new UUID(buf, pos); + pos += 16; + newObjAnimationList['StartAnim'] = (buf.readUInt8(pos++) === 1); + this.AnimationList.push(newObjAnimationList); + } + count = buf.readUInt8(pos++); + this.PhysicalAvatarEventList = []; + for (let i = 0; i < count; i++) + { + const newObjPhysicalAvatarEventList: { + TypeData: string + } = { + TypeData: '' + }; + varLength = buf.readUInt8(pos++); + newObjPhysicalAvatarEventList['TypeData'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.PhysicalAvatarEventList.push(newObjPhysicalAvatarEventList); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AgentCachedTexture.ts b/lib/classes/messages/AgentCachedTexture.ts new file mode 100644 index 0000000..fd11fe4 --- /dev/null +++ b/lib/classes/messages/AgentCachedTexture.ts @@ -0,0 +1,88 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AgentCachedTextureMessage implements MessageBase +{ + name = 'AgentCachedTexture'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.AgentCachedTexture; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + SerialNum: number; + }; + WearableData: { + ID: UUID; + TextureIndex: number; + }[]; + + getSize(): number + { + return ((17) * this.WearableData.length) + 37; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.AgentData['SerialNum'], pos); + pos += 4; + const count = this.WearableData.length; + buf.writeUInt8(this.WearableData.length, pos++); + for (let i = 0; i < count; i++) + { + this.WearableData[i]['ID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.WearableData[i]['TextureIndex'], pos++); + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + SerialNum: number + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + SerialNum: 0 + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SerialNum'] = buf.readInt32LE(pos); + pos += 4; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.WearableData = []; + for (let i = 0; i < count; i++) + { + const newObjWearableData: { + ID: UUID, + TextureIndex: number + } = { + ID: UUID.zero(), + TextureIndex: 0 + }; + newObjWearableData['ID'] = new UUID(buf, pos); + pos += 16; + newObjWearableData['TextureIndex'] = buf.readUInt8(pos++); + this.WearableData.push(newObjWearableData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AgentCachedTextureResponse.ts b/lib/classes/messages/AgentCachedTextureResponse.ts new file mode 100644 index 0000000..a16612a --- /dev/null +++ b/lib/classes/messages/AgentCachedTextureResponse.ts @@ -0,0 +1,107 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AgentCachedTextureResponseMessage implements MessageBase +{ + name = 'AgentCachedTextureResponse'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.AgentCachedTextureResponse; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + SerialNum: number; + }; + WearableData: { + TextureID: UUID; + TextureIndex: number; + HostName: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.WearableData, 'HostName', 1) + 17) * this.WearableData.length) + 37; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.AgentData['SerialNum'], pos); + pos += 4; + const count = this.WearableData.length; + buf.writeUInt8(this.WearableData.length, pos++); + for (let i = 0; i < count; i++) + { + this.WearableData[i]['TextureID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.WearableData[i]['TextureIndex'], pos++); + buf.writeUInt8(this.WearableData[i]['HostName'].length, pos++); + buf.write(this.WearableData[i]['HostName'], pos); + pos += this.WearableData[i]['HostName'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + SerialNum: number + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + SerialNum: 0 + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SerialNum'] = buf.readInt32LE(pos); + pos += 4; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.WearableData = []; + for (let i = 0; i < count; i++) + { + const newObjWearableData: { + TextureID: UUID, + TextureIndex: number, + HostName: string + } = { + TextureID: UUID.zero(), + TextureIndex: 0, + HostName: '' + }; + newObjWearableData['TextureID'] = new UUID(buf, pos); + pos += 16; + newObjWearableData['TextureIndex'] = buf.readUInt8(pos++); + varLength = buf.readUInt8(pos++); + newObjWearableData['HostName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.WearableData.push(newObjWearableData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AgentDataUpdate.ts b/lib/classes/messages/AgentDataUpdate.ts new file mode 100644 index 0000000..cf8b69d --- /dev/null +++ b/lib/classes/messages/AgentDataUpdate.ts @@ -0,0 +1,99 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AgentDataUpdateMessage implements MessageBase +{ + name = 'AgentDataUpdate'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.AgentDataUpdate; + + AgentData: { + AgentID: UUID; + FirstName: string; + LastName: string; + GroupTitle: string; + ActiveGroupID: UUID; + GroupPowers: Long; + GroupName: string; + }; + + getSize(): number + { + return (this.AgentData['FirstName'].length + 1 + this.AgentData['LastName'].length + 1 + this.AgentData['GroupTitle'].length + 1 + this.AgentData['GroupName'].length + 1) + 40; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.AgentData['FirstName'].length, pos++); + buf.write(this.AgentData['FirstName'], pos); + pos += this.AgentData['FirstName'].length; + buf.writeUInt8(this.AgentData['LastName'].length, pos++); + buf.write(this.AgentData['LastName'], pos); + pos += this.AgentData['LastName'].length; + buf.writeUInt8(this.AgentData['GroupTitle'].length, pos++); + buf.write(this.AgentData['GroupTitle'], pos); + pos += this.AgentData['GroupTitle'].length; + this.AgentData['ActiveGroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.AgentData['GroupPowers'].low, pos); + pos += 4; + buf.writeInt32LE(this.AgentData['GroupPowers'].high, pos); + pos += 4; + buf.writeUInt8(this.AgentData['GroupName'].length, pos++); + buf.write(this.AgentData['GroupName'], pos); + pos += this.AgentData['GroupName'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + FirstName: string, + LastName: string, + GroupTitle: string, + ActiveGroupID: UUID, + GroupPowers: Long, + GroupName: string + } = { + AgentID: UUID.zero(), + FirstName: '', + LastName: '', + GroupTitle: '', + ActiveGroupID: UUID.zero(), + GroupPowers: Long.ZERO, + GroupName: '' + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjAgentData['FirstName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjAgentData['LastName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjAgentData['GroupTitle'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjAgentData['ActiveGroupID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupPowers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + varLength = buf.readUInt8(pos++); + newObjAgentData['GroupName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AgentDataUpdateRequest.ts b/lib/classes/messages/AgentDataUpdateRequest.ts new file mode 100644 index 0000000..db018fb --- /dev/null +++ b/lib/classes/messages/AgentDataUpdateRequest.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AgentDataUpdateRequestMessage implements MessageBase +{ + name = 'AgentDataUpdateRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.AgentDataUpdateRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + + getSize(): number + { + return 32; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AgentDropGroup.ts b/lib/classes/messages/AgentDropGroup.ts new file mode 100644 index 0000000..368e12a --- /dev/null +++ b/lib/classes/messages/AgentDropGroup.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AgentDropGroupMessage implements MessageBase +{ + name = 'AgentDropGroup'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyLow; + id = Message.AgentDropGroup; + + AgentData: { + AgentID: UUID; + GroupID: UUID; + }; + + getSize(): number + { + return 32; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + GroupID: UUID + } = { + AgentID: UUID.zero(), + GroupID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AgentFOV.ts b/lib/classes/messages/AgentFOV.ts new file mode 100644 index 0000000..21ae392 --- /dev/null +++ b/lib/classes/messages/AgentFOV.ts @@ -0,0 +1,80 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AgentFOVMessage implements MessageBase +{ + name = 'AgentFOV'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.AgentFOV; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + CircuitCode: number; + }; + FOVBlock: { + GenCounter: number; + VerticalAngle: number; + }; + + getSize(): number + { + return 44; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.AgentData['CircuitCode'], pos); + pos += 4; + buf.writeUInt32LE(this.FOVBlock['GenCounter'], pos); + pos += 4; + buf.writeFloatLE(this.FOVBlock['VerticalAngle'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + CircuitCode: number + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + CircuitCode: 0 + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['CircuitCode'] = buf.readUInt32LE(pos); + pos += 4; + this.AgentData = newObjAgentData; + const newObjFOVBlock: { + GenCounter: number, + VerticalAngle: number + } = { + GenCounter: 0, + VerticalAngle: 0 + }; + newObjFOVBlock['GenCounter'] = buf.readUInt32LE(pos); + pos += 4; + newObjFOVBlock['VerticalAngle'] = buf.readFloatLE(pos); + pos += 4; + this.FOVBlock = newObjFOVBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AgentGroupDataUpdate.ts b/lib/classes/messages/AgentGroupDataUpdate.ts new file mode 100644 index 0000000..5be01f8 --- /dev/null +++ b/lib/classes/messages/AgentGroupDataUpdate.ts @@ -0,0 +1,117 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AgentGroupDataUpdateMessage implements MessageBase +{ + name = 'AgentGroupDataUpdate'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyLow; + id = Message.AgentGroupDataUpdate; + + AgentData: { + AgentID: UUID; + }; + GroupData: { + GroupID: UUID; + GroupPowers: Long; + AcceptNotices: boolean; + GroupInsigniaID: UUID; + Contribution: number; + GroupName: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.GroupData, 'GroupName', 1) + 45) * this.GroupData.length) + 17; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.GroupData.length; + buf.writeUInt8(this.GroupData.length, pos++); + for (let i = 0; i < count; i++) + { + this.GroupData[i]['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.GroupData[i]['GroupPowers'].low, pos); + pos += 4; + buf.writeInt32LE(this.GroupData[i]['GroupPowers'].high, pos); + pos += 4; + buf.writeUInt8((this.GroupData[i]['AcceptNotices']) ? 1 : 0, pos++); + this.GroupData[i]['GroupInsigniaID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.GroupData[i]['Contribution'], pos); + pos += 4; + buf.writeUInt8(this.GroupData[i]['GroupName'].length, pos++); + buf.write(this.GroupData[i]['GroupName'], pos); + pos += this.GroupData[i]['GroupName'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.GroupData = []; + for (let i = 0; i < count; i++) + { + const newObjGroupData: { + GroupID: UUID, + GroupPowers: Long, + AcceptNotices: boolean, + GroupInsigniaID: UUID, + Contribution: number, + GroupName: string + } = { + GroupID: UUID.zero(), + GroupPowers: Long.ZERO, + AcceptNotices: false, + GroupInsigniaID: UUID.zero(), + Contribution: 0, + GroupName: '' + }; + newObjGroupData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjGroupData['GroupPowers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjGroupData['AcceptNotices'] = (buf.readUInt8(pos++) === 1); + newObjGroupData['GroupInsigniaID'] = new UUID(buf, pos); + pos += 16; + newObjGroupData['Contribution'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjGroupData['GroupName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.GroupData.push(newObjGroupData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AgentHeightWidth.ts b/lib/classes/messages/AgentHeightWidth.ts new file mode 100644 index 0000000..ed2c0fc --- /dev/null +++ b/lib/classes/messages/AgentHeightWidth.ts @@ -0,0 +1,87 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AgentHeightWidthMessage implements MessageBase +{ + name = 'AgentHeightWidth'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.AgentHeightWidth; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + CircuitCode: number; + }; + HeightWidthBlock: { + GenCounter: number; + Height: number; + Width: number; + }; + + getSize(): number + { + return 44; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.AgentData['CircuitCode'], pos); + pos += 4; + buf.writeUInt32LE(this.HeightWidthBlock['GenCounter'], pos); + pos += 4; + buf.writeUInt16LE(this.HeightWidthBlock['Height'], pos); + pos += 2; + buf.writeUInt16LE(this.HeightWidthBlock['Width'], pos); + pos += 2; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + CircuitCode: number + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + CircuitCode: 0 + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['CircuitCode'] = buf.readUInt32LE(pos); + pos += 4; + this.AgentData = newObjAgentData; + const newObjHeightWidthBlock: { + GenCounter: number, + Height: number, + Width: number + } = { + GenCounter: 0, + Height: 0, + Width: 0 + }; + newObjHeightWidthBlock['GenCounter'] = buf.readUInt32LE(pos); + pos += 4; + newObjHeightWidthBlock['Height'] = buf.readUInt16LE(pos); + pos += 2; + newObjHeightWidthBlock['Width'] = buf.readUInt16LE(pos); + pos += 2; + this.HeightWidthBlock = newObjHeightWidthBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AgentIsNowWearing.ts b/lib/classes/messages/AgentIsNowWearing.ts new file mode 100644 index 0000000..f7e781f --- /dev/null +++ b/lib/classes/messages/AgentIsNowWearing.ts @@ -0,0 +1,81 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AgentIsNowWearingMessage implements MessageBase +{ + name = 'AgentIsNowWearing'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.AgentIsNowWearing; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + WearableData: { + ItemID: UUID; + WearableType: number; + }[]; + + getSize(): number + { + return ((17) * this.WearableData.length) + 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.WearableData.length; + buf.writeUInt8(this.WearableData.length, pos++); + for (let i = 0; i < count; i++) + { + this.WearableData[i]['ItemID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.WearableData[i]['WearableType'], pos++); + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.WearableData = []; + for (let i = 0; i < count; i++) + { + const newObjWearableData: { + ItemID: UUID, + WearableType: number + } = { + ItemID: UUID.zero(), + WearableType: 0 + }; + newObjWearableData['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjWearableData['WearableType'] = buf.readUInt8(pos++); + this.WearableData.push(newObjWearableData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AgentMovementComplete.ts b/lib/classes/messages/AgentMovementComplete.ts new file mode 100644 index 0000000..0c8165b --- /dev/null +++ b/lib/classes/messages/AgentMovementComplete.ts @@ -0,0 +1,108 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AgentMovementCompleteMessage implements MessageBase +{ + name = 'AgentMovementComplete'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.AgentMovementComplete; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + Position: Vector3; + LookAt: Vector3; + RegionHandle: Long; + Timestamp: number; + }; + SimData: { + ChannelVersion: string; + }; + + getSize(): number + { + return (this.SimData['ChannelVersion'].length + 2) + 68; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['Position'].writeToBuffer(buf, pos, false); + pos += 12; + this.Data['LookAt'].writeToBuffer(buf, pos, false); + pos += 12; + buf.writeInt32LE(this.Data['RegionHandle'].low, pos); + pos += 4; + buf.writeInt32LE(this.Data['RegionHandle'].high, pos); + pos += 4; + buf.writeUInt32LE(this.Data['Timestamp'], pos); + pos += 4; + buf.writeUInt16LE(this.SimData['ChannelVersion'].length, pos); + pos += 2; + buf.write(this.SimData['ChannelVersion'], pos); + pos += this.SimData['ChannelVersion'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + Position: Vector3, + LookAt: Vector3, + RegionHandle: Long, + Timestamp: number + } = { + Position: Vector3.getZero(), + LookAt: Vector3.getZero(), + RegionHandle: Long.ZERO, + Timestamp: 0 + }; + newObjData['Position'] = new Vector3(buf, pos, false); + pos += 12; + newObjData['LookAt'] = new Vector3(buf, pos, false); + pos += 12; + newObjData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjData['Timestamp'] = buf.readUInt32LE(pos); + pos += 4; + this.Data = newObjData; + const newObjSimData: { + ChannelVersion: string + } = { + ChannelVersion: '' + }; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjSimData['ChannelVersion'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.SimData = newObjSimData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AgentPause.ts b/lib/classes/messages/AgentPause.ts new file mode 100644 index 0000000..d8a81bb --- /dev/null +++ b/lib/classes/messages/AgentPause.ts @@ -0,0 +1,60 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AgentPauseMessage implements MessageBase +{ + name = 'AgentPause'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.AgentPause; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + SerialNum: number; + }; + + getSize(): number + { + return 36; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.AgentData['SerialNum'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + SerialNum: number + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + SerialNum: 0 + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SerialNum'] = buf.readUInt32LE(pos); + pos += 4; + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AgentQuitCopy.ts b/lib/classes/messages/AgentQuitCopy.ts new file mode 100644 index 0000000..37306f3 --- /dev/null +++ b/lib/classes/messages/AgentQuitCopy.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AgentQuitCopyMessage implements MessageBase +{ + name = 'AgentQuitCopy'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.AgentQuitCopy; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + FuseBlock: { + ViewerCircuitCode: number; + }; + + getSize(): number + { + return 36; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.FuseBlock['ViewerCircuitCode'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjFuseBlock: { + ViewerCircuitCode: number + } = { + ViewerCircuitCode: 0 + }; + newObjFuseBlock['ViewerCircuitCode'] = buf.readUInt32LE(pos); + pos += 4; + this.FuseBlock = newObjFuseBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AgentRequestSit.ts b/lib/classes/messages/AgentRequestSit.ts new file mode 100644 index 0000000..1958182 --- /dev/null +++ b/lib/classes/messages/AgentRequestSit.ts @@ -0,0 +1,74 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AgentRequestSitMessage implements MessageBase +{ + name = 'AgentRequestSit'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyHigh; + id = Message.AgentRequestSit; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + TargetObject: { + TargetID: UUID; + Offset: Vector3; + }; + + getSize(): number + { + return 60; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.TargetObject['TargetID'].writeToBuffer(buf, pos); + pos += 16; + this.TargetObject['Offset'].writeToBuffer(buf, pos, false); + pos += 12; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjTargetObject: { + TargetID: UUID, + Offset: Vector3 + } = { + TargetID: UUID.zero(), + Offset: Vector3.getZero() + }; + newObjTargetObject['TargetID'] = new UUID(buf, pos); + pos += 16; + newObjTargetObject['Offset'] = new Vector3(buf, pos, false); + pos += 12; + this.TargetObject = newObjTargetObject; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AgentResume.ts b/lib/classes/messages/AgentResume.ts new file mode 100644 index 0000000..960cdf8 --- /dev/null +++ b/lib/classes/messages/AgentResume.ts @@ -0,0 +1,60 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AgentResumeMessage implements MessageBase +{ + name = 'AgentResume'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.AgentResume; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + SerialNum: number; + }; + + getSize(): number + { + return 36; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.AgentData['SerialNum'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + SerialNum: number + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + SerialNum: 0 + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SerialNum'] = buf.readUInt32LE(pos); + pos += 4; + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AgentSetAppearance.ts b/lib/classes/messages/AgentSetAppearance.ts new file mode 100644 index 0000000..6293075 --- /dev/null +++ b/lib/classes/messages/AgentSetAppearance.ts @@ -0,0 +1,134 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AgentSetAppearanceMessage implements MessageBase +{ + name = 'AgentSetAppearance'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.AgentSetAppearance; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + SerialNum: number; + Size: Vector3; + }; + WearableData: { + CacheID: UUID; + TextureIndex: number; + }[]; + ObjectData: { + TextureEntry: string; + }; + VisualParam: { + ParamValue: number; + }[]; + + getSize(): number + { + return ((17) * this.WearableData.length) + (this.ObjectData['TextureEntry'].length + 2) + ((1) * this.VisualParam.length) + 50; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.AgentData['SerialNum'], pos); + pos += 4; + this.AgentData['Size'].writeToBuffer(buf, pos, false); + pos += 12; + let count = this.WearableData.length; + buf.writeUInt8(this.WearableData.length, pos++); + for (let i = 0; i < count; i++) + { + this.WearableData[i]['CacheID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.WearableData[i]['TextureIndex'], pos++); + } + buf.writeUInt16LE(this.ObjectData['TextureEntry'].length, pos); + pos += 2; + buf.write(this.ObjectData['TextureEntry'], pos); + pos += this.ObjectData['TextureEntry'].length; + count = this.VisualParam.length; + buf.writeUInt8(this.VisualParam.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt8(this.VisualParam[i]['ParamValue'], pos++); + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + SerialNum: number, + Size: Vector3 + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + SerialNum: 0, + Size: Vector3.getZero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SerialNum'] = buf.readUInt32LE(pos); + pos += 4; + newObjAgentData['Size'] = new Vector3(buf, pos, false); + pos += 12; + this.AgentData = newObjAgentData; + let count = buf.readUInt8(pos++); + this.WearableData = []; + for (let i = 0; i < count; i++) + { + const newObjWearableData: { + CacheID: UUID, + TextureIndex: number + } = { + CacheID: UUID.zero(), + TextureIndex: 0 + }; + newObjWearableData['CacheID'] = new UUID(buf, pos); + pos += 16; + newObjWearableData['TextureIndex'] = buf.readUInt8(pos++); + this.WearableData.push(newObjWearableData); + } + const newObjObjectData: { + TextureEntry: string + } = { + TextureEntry: '' + }; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjObjectData['TextureEntry'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ObjectData = newObjObjectData; + count = buf.readUInt8(pos++); + this.VisualParam = []; + for (let i = 0; i < count; i++) + { + const newObjVisualParam: { + ParamValue: number + } = { + ParamValue: 0 + }; + newObjVisualParam['ParamValue'] = buf.readUInt8(pos++); + this.VisualParam.push(newObjVisualParam); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AgentSit.ts b/lib/classes/messages/AgentSit.ts new file mode 100644 index 0000000..5dc5c61 --- /dev/null +++ b/lib/classes/messages/AgentSit.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AgentSitMessage implements MessageBase +{ + name = 'AgentSit'; + messageFlags = MessageFlags.FrequencyHigh; + id = Message.AgentSit; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + + getSize(): number + { + return 32; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AgentThrottle.ts b/lib/classes/messages/AgentThrottle.ts new file mode 100644 index 0000000..d449d11 --- /dev/null +++ b/lib/classes/messages/AgentThrottle.ts @@ -0,0 +1,82 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AgentThrottleMessage implements MessageBase +{ + name = 'AgentThrottle'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.AgentThrottle; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + CircuitCode: number; + }; + Throttle: { + GenCounter: number; + Throttles: string; + }; + + getSize(): number + { + return (this.Throttle['Throttles'].length + 1) + 40; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.AgentData['CircuitCode'], pos); + pos += 4; + buf.writeUInt32LE(this.Throttle['GenCounter'], pos); + pos += 4; + buf.writeUInt8(this.Throttle['Throttles'].length, pos++); + buf.write(this.Throttle['Throttles'], pos); + pos += this.Throttle['Throttles'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + CircuitCode: number + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + CircuitCode: 0 + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['CircuitCode'] = buf.readUInt32LE(pos); + pos += 4; + this.AgentData = newObjAgentData; + const newObjThrottle: { + GenCounter: number, + Throttles: string + } = { + GenCounter: 0, + Throttles: '' + }; + newObjThrottle['GenCounter'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjThrottle['Throttles'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.Throttle = newObjThrottle; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AgentUpdate.ts b/lib/classes/messages/AgentUpdate.ts new file mode 100644 index 0000000..d3d01a9 --- /dev/null +++ b/lib/classes/messages/AgentUpdate.ts @@ -0,0 +1,121 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {Quaternion} from '../Quaternion'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AgentUpdateMessage implements MessageBase +{ + name = 'AgentUpdate'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyHigh; + id = Message.AgentUpdate; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + BodyRotation: Quaternion; + HeadRotation: Quaternion; + State: number; + CameraCenter: Vector3; + CameraAtAxis: Vector3; + CameraLeftAxis: Vector3; + CameraUpAxis: Vector3; + Far: number; + ControlFlags: number; + Flags: number; + }; + + getSize(): number + { + return 114; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['BodyRotation'].writeToBuffer(buf, pos); + pos += 12; + this.AgentData['HeadRotation'].writeToBuffer(buf, pos); + pos += 12; + buf.writeUInt8(this.AgentData['State'], pos++); + this.AgentData['CameraCenter'].writeToBuffer(buf, pos, false); + pos += 12; + this.AgentData['CameraAtAxis'].writeToBuffer(buf, pos, false); + pos += 12; + this.AgentData['CameraLeftAxis'].writeToBuffer(buf, pos, false); + pos += 12; + this.AgentData['CameraUpAxis'].writeToBuffer(buf, pos, false); + pos += 12; + buf.writeFloatLE(this.AgentData['Far'], pos); + pos += 4; + buf.writeUInt32LE(this.AgentData['ControlFlags'], pos); + pos += 4; + buf.writeUInt8(this.AgentData['Flags'], pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + BodyRotation: Quaternion, + HeadRotation: Quaternion, + State: number, + CameraCenter: Vector3, + CameraAtAxis: Vector3, + CameraLeftAxis: Vector3, + CameraUpAxis: Vector3, + Far: number, + ControlFlags: number, + Flags: number + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + BodyRotation: Quaternion.getIdentity(), + HeadRotation: Quaternion.getIdentity(), + State: 0, + CameraCenter: Vector3.getZero(), + CameraAtAxis: Vector3.getZero(), + CameraLeftAxis: Vector3.getZero(), + CameraUpAxis: Vector3.getZero(), + Far: 0, + ControlFlags: 0, + Flags: 0 + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['BodyRotation'] = new Quaternion(buf, pos); + pos += 12; + newObjAgentData['HeadRotation'] = new Quaternion(buf, pos); + pos += 12; + newObjAgentData['State'] = buf.readUInt8(pos++); + newObjAgentData['CameraCenter'] = new Vector3(buf, pos, false); + pos += 12; + newObjAgentData['CameraAtAxis'] = new Vector3(buf, pos, false); + pos += 12; + newObjAgentData['CameraLeftAxis'] = new Vector3(buf, pos, false); + pos += 12; + newObjAgentData['CameraUpAxis'] = new Vector3(buf, pos, false); + pos += 12; + newObjAgentData['Far'] = buf.readFloatLE(pos); + pos += 4; + newObjAgentData['ControlFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjAgentData['Flags'] = buf.readUInt8(pos++); + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AgentWearablesRequest.ts b/lib/classes/messages/AgentWearablesRequest.ts new file mode 100644 index 0000000..2b5f4f9 --- /dev/null +++ b/lib/classes/messages/AgentWearablesRequest.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AgentWearablesRequestMessage implements MessageBase +{ + name = 'AgentWearablesRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.AgentWearablesRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + + getSize(): number + { + return 32; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AgentWearablesUpdate.ts b/lib/classes/messages/AgentWearablesUpdate.ts new file mode 100644 index 0000000..1221c1e --- /dev/null +++ b/lib/classes/messages/AgentWearablesUpdate.ts @@ -0,0 +1,95 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AgentWearablesUpdateMessage implements MessageBase +{ + name = 'AgentWearablesUpdate'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.AgentWearablesUpdate; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + SerialNum: number; + }; + WearableData: { + ItemID: UUID; + AssetID: UUID; + WearableType: number; + }[]; + + getSize(): number + { + return ((33) * this.WearableData.length) + 37; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.AgentData['SerialNum'], pos); + pos += 4; + const count = this.WearableData.length; + buf.writeUInt8(this.WearableData.length, pos++); + for (let i = 0; i < count; i++) + { + this.WearableData[i]['ItemID'].writeToBuffer(buf, pos); + pos += 16; + this.WearableData[i]['AssetID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.WearableData[i]['WearableType'], pos++); + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + SerialNum: number + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + SerialNum: 0 + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SerialNum'] = buf.readUInt32LE(pos); + pos += 4; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.WearableData = []; + for (let i = 0; i < count; i++) + { + const newObjWearableData: { + ItemID: UUID, + AssetID: UUID, + WearableType: number + } = { + ItemID: UUID.zero(), + AssetID: UUID.zero(), + WearableType: 0 + }; + newObjWearableData['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjWearableData['AssetID'] = new UUID(buf, pos); + pos += 16; + newObjWearableData['WearableType'] = buf.readUInt8(pos++); + this.WearableData.push(newObjWearableData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AlertMessage.ts b/lib/classes/messages/AlertMessage.ts new file mode 100644 index 0000000..ea9cb7e --- /dev/null +++ b/lib/classes/messages/AlertMessage.ts @@ -0,0 +1,115 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AlertMessageMessage implements MessageBase +{ + name = 'AlertMessage'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.AlertMessage; + + AlertData: { + Message: string; + }; + AlertInfo: { + Message: string; + ExtraParams: string; + }[]; + AgentInfo: { + AgentID: UUID; + }[]; + + getSize(): number + { + return (this.AlertData['Message'].length + 1) + ((this.calculateVarVarSize(this.AlertInfo, 'Message', 1) + this.calculateVarVarSize(this.AlertInfo, 'ExtraParams', 1)) * this.AlertInfo.length) + ((16) * this.AgentInfo.length) + 2; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt8(this.AlertData['Message'].length, pos++); + buf.write(this.AlertData['Message'], pos); + pos += this.AlertData['Message'].length; + let count = this.AlertInfo.length; + buf.writeUInt8(this.AlertInfo.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt8(this.AlertInfo[i]['Message'].length, pos++); + buf.write(this.AlertInfo[i]['Message'], pos); + pos += this.AlertInfo[i]['Message'].length; + buf.writeUInt8(this.AlertInfo[i]['ExtraParams'].length, pos++); + buf.write(this.AlertInfo[i]['ExtraParams'], pos); + pos += this.AlertInfo[i]['ExtraParams'].length; + } + count = this.AgentInfo.length; + buf.writeUInt8(this.AgentInfo.length, pos++); + for (let i = 0; i < count; i++) + { + this.AgentInfo[i]['AgentID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAlertData: { + Message: string + } = { + Message: '' + }; + varLength = buf.readUInt8(pos++); + newObjAlertData['Message'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.AlertData = newObjAlertData; + let count = buf.readUInt8(pos++); + this.AlertInfo = []; + for (let i = 0; i < count; i++) + { + const newObjAlertInfo: { + Message: string, + ExtraParams: string + } = { + Message: '', + ExtraParams: '' + }; + varLength = buf.readUInt8(pos++); + newObjAlertInfo['Message'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjAlertInfo['ExtraParams'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.AlertInfo.push(newObjAlertInfo); + } + count = buf.readUInt8(pos++); + this.AgentInfo = []; + for (let i = 0; i < count; i++) + { + const newObjAgentInfo: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentInfo['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentInfo.push(newObjAgentInfo); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AssetUploadComplete.ts b/lib/classes/messages/AssetUploadComplete.ts new file mode 100644 index 0000000..3a7ad10 --- /dev/null +++ b/lib/classes/messages/AssetUploadComplete.ts @@ -0,0 +1,56 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AssetUploadCompleteMessage implements MessageBase +{ + name = 'AssetUploadComplete'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.AssetUploadComplete; + + AssetBlock: { + UUID: UUID; + Type: number; + Success: boolean; + }; + + getSize(): number + { + return 18; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AssetBlock['UUID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt8(this.AssetBlock['Type'], pos++); + buf.writeUInt8((this.AssetBlock['Success']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAssetBlock: { + UUID: UUID, + Type: number, + Success: boolean + } = { + UUID: UUID.zero(), + Type: 0, + Success: false + }; + newObjAssetBlock['UUID'] = new UUID(buf, pos); + pos += 16; + newObjAssetBlock['Type'] = buf.readInt8(pos++); + newObjAssetBlock['Success'] = (buf.readUInt8(pos++) === 1); + this.AssetBlock = newObjAssetBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AssetUploadRequest.ts b/lib/classes/messages/AssetUploadRequest.ts new file mode 100644 index 0000000..df59b49 --- /dev/null +++ b/lib/classes/messages/AssetUploadRequest.ts @@ -0,0 +1,72 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AssetUploadRequestMessage implements MessageBase +{ + name = 'AssetUploadRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.AssetUploadRequest; + + AssetBlock: { + TransactionID: UUID; + Type: number; + Tempfile: boolean; + StoreLocal: boolean; + AssetData: string; + }; + + getSize(): number + { + return (this.AssetBlock['AssetData'].length + 2) + 19; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AssetBlock['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt8(this.AssetBlock['Type'], pos++); + buf.writeUInt8((this.AssetBlock['Tempfile']) ? 1 : 0, pos++); + buf.writeUInt8((this.AssetBlock['StoreLocal']) ? 1 : 0, pos++); + buf.writeUInt16LE(this.AssetBlock['AssetData'].length, pos); + pos += 2; + buf.write(this.AssetBlock['AssetData'], pos); + pos += this.AssetBlock['AssetData'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAssetBlock: { + TransactionID: UUID, + Type: number, + Tempfile: boolean, + StoreLocal: boolean, + AssetData: string + } = { + TransactionID: UUID.zero(), + Type: 0, + Tempfile: false, + StoreLocal: false, + AssetData: '' + }; + newObjAssetBlock['TransactionID'] = new UUID(buf, pos); + pos += 16; + newObjAssetBlock['Type'] = buf.readInt8(pos++); + newObjAssetBlock['Tempfile'] = (buf.readUInt8(pos++) === 1); + newObjAssetBlock['StoreLocal'] = (buf.readUInt8(pos++) === 1); + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjAssetBlock['AssetData'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.AssetBlock = newObjAssetBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AtomicPassObject.ts b/lib/classes/messages/AtomicPassObject.ts new file mode 100644 index 0000000..5f4e16a --- /dev/null +++ b/lib/classes/messages/AtomicPassObject.ts @@ -0,0 +1,51 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AtomicPassObjectMessage implements MessageBase +{ + name = 'AtomicPassObject'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyHigh; + id = Message.AtomicPassObject; + + TaskData: { + TaskID: UUID; + AttachmentNeedsSave: boolean; + }; + + getSize(): number + { + return 17; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.TaskData['TaskID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.TaskData['AttachmentNeedsSave']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjTaskData: { + TaskID: UUID, + AttachmentNeedsSave: boolean + } = { + TaskID: UUID.zero(), + AttachmentNeedsSave: false + }; + newObjTaskData['TaskID'] = new UUID(buf, pos); + pos += 16; + newObjTaskData['AttachmentNeedsSave'] = (buf.readUInt8(pos++) === 1); + this.TaskData = newObjTaskData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AttachedSound.ts b/lib/classes/messages/AttachedSound.ts new file mode 100644 index 0000000..cc94450 --- /dev/null +++ b/lib/classes/messages/AttachedSound.ts @@ -0,0 +1,72 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AttachedSoundMessage implements MessageBase +{ + name = 'AttachedSound'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyMedium; + id = Message.AttachedSound; + + DataBlock: { + SoundID: UUID; + ObjectID: UUID; + OwnerID: UUID; + Gain: number; + Flags: number; + }; + + getSize(): number + { + return 53; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.DataBlock['SoundID'].writeToBuffer(buf, pos); + pos += 16; + this.DataBlock['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + this.DataBlock['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeFloatLE(this.DataBlock['Gain'], pos); + pos += 4; + buf.writeUInt8(this.DataBlock['Flags'], pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjDataBlock: { + SoundID: UUID, + ObjectID: UUID, + OwnerID: UUID, + Gain: number, + Flags: number + } = { + SoundID: UUID.zero(), + ObjectID: UUID.zero(), + OwnerID: UUID.zero(), + Gain: 0, + Flags: 0 + }; + newObjDataBlock['SoundID'] = new UUID(buf, pos); + pos += 16; + newObjDataBlock['ObjectID'] = new UUID(buf, pos); + pos += 16; + newObjDataBlock['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjDataBlock['Gain'] = buf.readFloatLE(pos); + pos += 4; + newObjDataBlock['Flags'] = buf.readUInt8(pos++); + this.DataBlock = newObjDataBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AttachedSoundGainChange.ts b/lib/classes/messages/AttachedSoundGainChange.ts new file mode 100644 index 0000000..d59a2f0 --- /dev/null +++ b/lib/classes/messages/AttachedSoundGainChange.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AttachedSoundGainChangeMessage implements MessageBase +{ + name = 'AttachedSoundGainChange'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyMedium; + id = Message.AttachedSoundGainChange; + + DataBlock: { + ObjectID: UUID; + Gain: number; + }; + + getSize(): number + { + return 20; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.DataBlock['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeFloatLE(this.DataBlock['Gain'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjDataBlock: { + ObjectID: UUID, + Gain: number + } = { + ObjectID: UUID.zero(), + Gain: 0 + }; + newObjDataBlock['ObjectID'] = new UUID(buf, pos); + pos += 16; + newObjDataBlock['Gain'] = buf.readFloatLE(pos); + pos += 4; + this.DataBlock = newObjDataBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AvatarAnimation.ts b/lib/classes/messages/AvatarAnimation.ts new file mode 100644 index 0000000..88e3813 --- /dev/null +++ b/lib/classes/messages/AvatarAnimation.ts @@ -0,0 +1,134 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AvatarAnimationMessage implements MessageBase +{ + name = 'AvatarAnimation'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyHigh; + id = Message.AvatarAnimation; + + Sender: { + ID: UUID; + }; + AnimationList: { + AnimID: UUID; + AnimSequenceID: number; + }[]; + AnimationSourceList: { + ObjectID: UUID; + }[]; + PhysicalAvatarEventList: { + TypeData: string; + }[]; + + getSize(): number + { + return ((20) * this.AnimationList.length) + ((16) * this.AnimationSourceList.length) + ((this.calculateVarVarSize(this.PhysicalAvatarEventList, 'TypeData', 1)) * this.PhysicalAvatarEventList.length) + 19; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.Sender['ID'].writeToBuffer(buf, pos); + pos += 16; + let count = this.AnimationList.length; + buf.writeUInt8(this.AnimationList.length, pos++); + for (let i = 0; i < count; i++) + { + this.AnimationList[i]['AnimID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.AnimationList[i]['AnimSequenceID'], pos); + pos += 4; + } + count = this.AnimationSourceList.length; + buf.writeUInt8(this.AnimationSourceList.length, pos++); + for (let i = 0; i < count; i++) + { + this.AnimationSourceList[i]['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + } + count = this.PhysicalAvatarEventList.length; + buf.writeUInt8(this.PhysicalAvatarEventList.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt8(this.PhysicalAvatarEventList[i]['TypeData'].length, pos++); + buf.write(this.PhysicalAvatarEventList[i]['TypeData'], pos); + pos += this.PhysicalAvatarEventList[i]['TypeData'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjSender: { + ID: UUID + } = { + ID: UUID.zero() + }; + newObjSender['ID'] = new UUID(buf, pos); + pos += 16; + this.Sender = newObjSender; + let count = buf.readUInt8(pos++); + this.AnimationList = []; + for (let i = 0; i < count; i++) + { + const newObjAnimationList: { + AnimID: UUID, + AnimSequenceID: number + } = { + AnimID: UUID.zero(), + AnimSequenceID: 0 + }; + newObjAnimationList['AnimID'] = new UUID(buf, pos); + pos += 16; + newObjAnimationList['AnimSequenceID'] = buf.readInt32LE(pos); + pos += 4; + this.AnimationList.push(newObjAnimationList); + } + count = buf.readUInt8(pos++); + this.AnimationSourceList = []; + for (let i = 0; i < count; i++) + { + const newObjAnimationSourceList: { + ObjectID: UUID + } = { + ObjectID: UUID.zero() + }; + newObjAnimationSourceList['ObjectID'] = new UUID(buf, pos); + pos += 16; + this.AnimationSourceList.push(newObjAnimationSourceList); + } + count = buf.readUInt8(pos++); + this.PhysicalAvatarEventList = []; + for (let i = 0; i < count; i++) + { + const newObjPhysicalAvatarEventList: { + TypeData: string + } = { + TypeData: '' + }; + varLength = buf.readUInt8(pos++); + newObjPhysicalAvatarEventList['TypeData'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.PhysicalAvatarEventList.push(newObjPhysicalAvatarEventList); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AvatarAppearance.ts b/lib/classes/messages/AvatarAppearance.ts new file mode 100644 index 0000000..e535864 --- /dev/null +++ b/lib/classes/messages/AvatarAppearance.ts @@ -0,0 +1,148 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AvatarAppearanceMessage implements MessageBase +{ + name = 'AvatarAppearance'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.AvatarAppearance; + + Sender: { + ID: UUID; + IsTrial: boolean; + }; + ObjectData: { + TextureEntry: string; + }; + VisualParam: { + ParamValue: number; + }[]; + AppearanceData: { + AppearanceVersion: number; + CofVersion: number; + Flags: number; + }[]; + AppearanceHover: { + HoverHeight: Vector3; + }[]; + + getSize(): number + { + return (this.ObjectData['TextureEntry'].length + 2) + ((1) * this.VisualParam.length) + ((9) * this.AppearanceData.length) + ((12) * this.AppearanceHover.length) + 20; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.Sender['ID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.Sender['IsTrial']) ? 1 : 0, pos++); + buf.writeUInt16LE(this.ObjectData['TextureEntry'].length, pos); + pos += 2; + buf.write(this.ObjectData['TextureEntry'], pos); + pos += this.ObjectData['TextureEntry'].length; + let count = this.VisualParam.length; + buf.writeUInt8(this.VisualParam.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt8(this.VisualParam[i]['ParamValue'], pos++); + } + count = this.AppearanceData.length; + buf.writeUInt8(this.AppearanceData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt8(this.AppearanceData[i]['AppearanceVersion'], pos++); + buf.writeInt32LE(this.AppearanceData[i]['CofVersion'], pos); + pos += 4; + buf.writeUInt32LE(this.AppearanceData[i]['Flags'], pos); + pos += 4; + } + count = this.AppearanceHover.length; + buf.writeUInt8(this.AppearanceHover.length, pos++); + for (let i = 0; i < count; i++) + { + this.AppearanceHover[i]['HoverHeight'].writeToBuffer(buf, pos, false); + pos += 12; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjSender: { + ID: UUID, + IsTrial: boolean + } = { + ID: UUID.zero(), + IsTrial: false + }; + newObjSender['ID'] = new UUID(buf, pos); + pos += 16; + newObjSender['IsTrial'] = (buf.readUInt8(pos++) === 1); + this.Sender = newObjSender; + const newObjObjectData: { + TextureEntry: string + } = { + TextureEntry: '' + }; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjObjectData['TextureEntry'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ObjectData = newObjObjectData; + let count = buf.readUInt8(pos++); + this.VisualParam = []; + for (let i = 0; i < count; i++) + { + const newObjVisualParam: { + ParamValue: number + } = { + ParamValue: 0 + }; + newObjVisualParam['ParamValue'] = buf.readUInt8(pos++); + this.VisualParam.push(newObjVisualParam); + } + count = buf.readUInt8(pos++); + this.AppearanceData = []; + for (let i = 0; i < count; i++) + { + const newObjAppearanceData: { + AppearanceVersion: number, + CofVersion: number, + Flags: number + } = { + AppearanceVersion: 0, + CofVersion: 0, + Flags: 0 + }; + newObjAppearanceData['AppearanceVersion'] = buf.readUInt8(pos++); + newObjAppearanceData['CofVersion'] = buf.readInt32LE(pos); + pos += 4; + newObjAppearanceData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + this.AppearanceData.push(newObjAppearanceData); + } + count = buf.readUInt8(pos++); + this.AppearanceHover = []; + for (let i = 0; i < count; i++) + { + const newObjAppearanceHover: { + HoverHeight: Vector3 + } = { + HoverHeight: Vector3.getZero() + }; + newObjAppearanceHover['HoverHeight'] = new Vector3(buf, pos, false); + pos += 12; + this.AppearanceHover.push(newObjAppearanceHover); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AvatarClassifiedReply.ts b/lib/classes/messages/AvatarClassifiedReply.ts new file mode 100644 index 0000000..dc47031 --- /dev/null +++ b/lib/classes/messages/AvatarClassifiedReply.ts @@ -0,0 +1,95 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AvatarClassifiedReplyMessage implements MessageBase +{ + name = 'AvatarClassifiedReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.AvatarClassifiedReply; + + AgentData: { + AgentID: UUID; + TargetID: UUID; + }; + Data: { + ClassifiedID: UUID; + Name: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.Data, 'Name', 1) + 16) * this.Data.length) + 33; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['TargetID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.Data.length; + buf.writeUInt8(this.Data.length, pos++); + for (let i = 0; i < count; i++) + { + this.Data[i]['ClassifiedID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.Data[i]['Name'].length, pos++); + buf.write(this.Data[i]['Name'], pos); + pos += this.Data[i]['Name'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + TargetID: UUID + } = { + AgentID: UUID.zero(), + TargetID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['TargetID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.Data = []; + for (let i = 0; i < count; i++) + { + const newObjData: { + ClassifiedID: UUID, + Name: string + } = { + ClassifiedID: UUID.zero(), + Name: '' + }; + newObjData['ClassifiedID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.Data.push(newObjData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AvatarGroupsReply.ts b/lib/classes/messages/AvatarGroupsReply.ts new file mode 100644 index 0000000..24a6160 --- /dev/null +++ b/lib/classes/messages/AvatarGroupsReply.ts @@ -0,0 +1,137 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AvatarGroupsReplyMessage implements MessageBase +{ + name = 'AvatarGroupsReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.AvatarGroupsReply; + + AgentData: { + AgentID: UUID; + AvatarID: UUID; + }; + GroupData: { + GroupPowers: Long; + AcceptNotices: boolean; + GroupTitle: string; + GroupID: UUID; + GroupName: string; + GroupInsigniaID: UUID; + }[]; + NewGroupData: { + ListInProfile: boolean; + }; + + getSize(): number + { + return ((this.calculateVarVarSize(this.GroupData, 'GroupTitle', 1) + this.calculateVarVarSize(this.GroupData, 'GroupName', 1) + 41) * this.GroupData.length) + 34; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['AvatarID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.GroupData.length; + buf.writeUInt8(this.GroupData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeInt32LE(this.GroupData[i]['GroupPowers'].low, pos); + pos += 4; + buf.writeInt32LE(this.GroupData[i]['GroupPowers'].high, pos); + pos += 4; + buf.writeUInt8((this.GroupData[i]['AcceptNotices']) ? 1 : 0, pos++); + buf.writeUInt8(this.GroupData[i]['GroupTitle'].length, pos++); + buf.write(this.GroupData[i]['GroupTitle'], pos); + pos += this.GroupData[i]['GroupTitle'].length; + this.GroupData[i]['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.GroupData[i]['GroupName'].length, pos++); + buf.write(this.GroupData[i]['GroupName'], pos); + pos += this.GroupData[i]['GroupName'].length; + this.GroupData[i]['GroupInsigniaID'].writeToBuffer(buf, pos); + pos += 16; + } + buf.writeUInt8((this.NewGroupData['ListInProfile']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + AvatarID: UUID + } = { + AgentID: UUID.zero(), + AvatarID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['AvatarID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.GroupData = []; + for (let i = 0; i < count; i++) + { + const newObjGroupData: { + GroupPowers: Long, + AcceptNotices: boolean, + GroupTitle: string, + GroupID: UUID, + GroupName: string, + GroupInsigniaID: UUID + } = { + GroupPowers: Long.ZERO, + AcceptNotices: false, + GroupTitle: '', + GroupID: UUID.zero(), + GroupName: '', + GroupInsigniaID: UUID.zero() + }; + newObjGroupData['GroupPowers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjGroupData['AcceptNotices'] = (buf.readUInt8(pos++) === 1); + varLength = buf.readUInt8(pos++); + newObjGroupData['GroupTitle'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjGroupData['GroupID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjGroupData['GroupName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjGroupData['GroupInsigniaID'] = new UUID(buf, pos); + pos += 16; + this.GroupData.push(newObjGroupData); + } + const newObjNewGroupData: { + ListInProfile: boolean + } = { + ListInProfile: false + }; + newObjNewGroupData['ListInProfile'] = (buf.readUInt8(pos++) === 1); + this.NewGroupData = newObjNewGroupData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AvatarInterestsReply.ts b/lib/classes/messages/AvatarInterestsReply.ts new file mode 100644 index 0000000..14b2265 --- /dev/null +++ b/lib/classes/messages/AvatarInterestsReply.ts @@ -0,0 +1,100 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AvatarInterestsReplyMessage implements MessageBase +{ + name = 'AvatarInterestsReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.AvatarInterestsReply; + + AgentData: { + AgentID: UUID; + AvatarID: UUID; + }; + PropertiesData: { + WantToMask: number; + WantToText: string; + SkillsMask: number; + SkillsText: string; + LanguagesText: string; + }; + + getSize(): number + { + return (this.PropertiesData['WantToText'].length + 1 + this.PropertiesData['SkillsText'].length + 1 + this.PropertiesData['LanguagesText'].length + 1) + 40; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['AvatarID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.PropertiesData['WantToMask'], pos); + pos += 4; + buf.writeUInt8(this.PropertiesData['WantToText'].length, pos++); + buf.write(this.PropertiesData['WantToText'], pos); + pos += this.PropertiesData['WantToText'].length; + buf.writeUInt32LE(this.PropertiesData['SkillsMask'], pos); + pos += 4; + buf.writeUInt8(this.PropertiesData['SkillsText'].length, pos++); + buf.write(this.PropertiesData['SkillsText'], pos); + pos += this.PropertiesData['SkillsText'].length; + buf.writeUInt8(this.PropertiesData['LanguagesText'].length, pos++); + buf.write(this.PropertiesData['LanguagesText'], pos); + pos += this.PropertiesData['LanguagesText'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + AvatarID: UUID + } = { + AgentID: UUID.zero(), + AvatarID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['AvatarID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjPropertiesData: { + WantToMask: number, + WantToText: string, + SkillsMask: number, + SkillsText: string, + LanguagesText: string + } = { + WantToMask: 0, + WantToText: '', + SkillsMask: 0, + SkillsText: '', + LanguagesText: '' + }; + newObjPropertiesData['WantToMask'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjPropertiesData['WantToText'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjPropertiesData['SkillsMask'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjPropertiesData['SkillsText'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjPropertiesData['LanguagesText'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.PropertiesData = newObjPropertiesData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AvatarInterestsUpdate.ts b/lib/classes/messages/AvatarInterestsUpdate.ts new file mode 100644 index 0000000..7c7dc08 --- /dev/null +++ b/lib/classes/messages/AvatarInterestsUpdate.ts @@ -0,0 +1,100 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AvatarInterestsUpdateMessage implements MessageBase +{ + name = 'AvatarInterestsUpdate'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.AvatarInterestsUpdate; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + PropertiesData: { + WantToMask: number; + WantToText: string; + SkillsMask: number; + SkillsText: string; + LanguagesText: string; + }; + + getSize(): number + { + return (this.PropertiesData['WantToText'].length + 1 + this.PropertiesData['SkillsText'].length + 1 + this.PropertiesData['LanguagesText'].length + 1) + 40; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.PropertiesData['WantToMask'], pos); + pos += 4; + buf.writeUInt8(this.PropertiesData['WantToText'].length, pos++); + buf.write(this.PropertiesData['WantToText'], pos); + pos += this.PropertiesData['WantToText'].length; + buf.writeUInt32LE(this.PropertiesData['SkillsMask'], pos); + pos += 4; + buf.writeUInt8(this.PropertiesData['SkillsText'].length, pos++); + buf.write(this.PropertiesData['SkillsText'], pos); + pos += this.PropertiesData['SkillsText'].length; + buf.writeUInt8(this.PropertiesData['LanguagesText'].length, pos++); + buf.write(this.PropertiesData['LanguagesText'], pos); + pos += this.PropertiesData['LanguagesText'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjPropertiesData: { + WantToMask: number, + WantToText: string, + SkillsMask: number, + SkillsText: string, + LanguagesText: string + } = { + WantToMask: 0, + WantToText: '', + SkillsMask: 0, + SkillsText: '', + LanguagesText: '' + }; + newObjPropertiesData['WantToMask'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjPropertiesData['WantToText'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjPropertiesData['SkillsMask'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjPropertiesData['SkillsText'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjPropertiesData['LanguagesText'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.PropertiesData = newObjPropertiesData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AvatarNotesReply.ts b/lib/classes/messages/AvatarNotesReply.ts new file mode 100644 index 0000000..788c204 --- /dev/null +++ b/lib/classes/messages/AvatarNotesReply.ts @@ -0,0 +1,70 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AvatarNotesReplyMessage implements MessageBase +{ + name = 'AvatarNotesReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.AvatarNotesReply; + + AgentData: { + AgentID: UUID; + }; + Data: { + TargetID: UUID; + Notes: string; + }; + + getSize(): number + { + return (this.Data['Notes'].length + 2) + 32; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['TargetID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt16LE(this.Data['Notes'].length, pos); + pos += 2; + buf.write(this.Data['Notes'], pos); + pos += this.Data['Notes'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + TargetID: UUID, + Notes: string + } = { + TargetID: UUID.zero(), + Notes: '' + }; + newObjData['TargetID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjData['Notes'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AvatarNotesUpdate.ts b/lib/classes/messages/AvatarNotesUpdate.ts new file mode 100644 index 0000000..a6ee4fc --- /dev/null +++ b/lib/classes/messages/AvatarNotesUpdate.ts @@ -0,0 +1,77 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AvatarNotesUpdateMessage implements MessageBase +{ + name = 'AvatarNotesUpdate'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.AvatarNotesUpdate; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + TargetID: UUID; + Notes: string; + }; + + getSize(): number + { + return (this.Data['Notes'].length + 2) + 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['TargetID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt16LE(this.Data['Notes'].length, pos); + pos += 2; + buf.write(this.Data['Notes'], pos); + pos += this.Data['Notes'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + TargetID: UUID, + Notes: string + } = { + TargetID: UUID.zero(), + Notes: '' + }; + newObjData['TargetID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjData['Notes'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AvatarPickerReply.ts b/lib/classes/messages/AvatarPickerReply.ts new file mode 100644 index 0000000..a96d22b --- /dev/null +++ b/lib/classes/messages/AvatarPickerReply.ts @@ -0,0 +1,104 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AvatarPickerReplyMessage implements MessageBase +{ + name = 'AvatarPickerReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.AvatarPickerReply; + + AgentData: { + AgentID: UUID; + QueryID: UUID; + }; + Data: { + AvatarID: UUID; + FirstName: string; + LastName: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.Data, 'FirstName', 1) + this.calculateVarVarSize(this.Data, 'LastName', 1) + 16) * this.Data.length) + 33; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['QueryID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.Data.length; + buf.writeUInt8(this.Data.length, pos++); + for (let i = 0; i < count; i++) + { + this.Data[i]['AvatarID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.Data[i]['FirstName'].length, pos++); + buf.write(this.Data[i]['FirstName'], pos); + pos += this.Data[i]['FirstName'].length; + buf.writeUInt8(this.Data[i]['LastName'].length, pos++); + buf.write(this.Data[i]['LastName'], pos); + pos += this.Data[i]['LastName'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + QueryID: UUID + } = { + AgentID: UUID.zero(), + QueryID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['QueryID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.Data = []; + for (let i = 0; i < count; i++) + { + const newObjData: { + AvatarID: UUID, + FirstName: string, + LastName: string + } = { + AvatarID: UUID.zero(), + FirstName: '', + LastName: '' + }; + newObjData['AvatarID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjData['FirstName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjData['LastName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.Data.push(newObjData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AvatarPickerRequest.ts b/lib/classes/messages/AvatarPickerRequest.ts new file mode 100644 index 0000000..61d9a0d --- /dev/null +++ b/lib/classes/messages/AvatarPickerRequest.ts @@ -0,0 +1,75 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AvatarPickerRequestMessage implements MessageBase +{ + name = 'AvatarPickerRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.AvatarPickerRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + QueryID: UUID; + }; + Data: { + Name: string; + }; + + getSize(): number + { + return (this.Data['Name'].length + 1) + 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['QueryID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.Data['Name'].length, pos++); + buf.write(this.Data['Name'], pos); + pos += this.Data['Name'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + QueryID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + QueryID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['QueryID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + Name: string + } = { + Name: '' + }; + varLength = buf.readUInt8(pos++); + newObjData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AvatarPickerRequestBackend.ts b/lib/classes/messages/AvatarPickerRequestBackend.ts new file mode 100644 index 0000000..c1568f9 --- /dev/null +++ b/lib/classes/messages/AvatarPickerRequestBackend.ts @@ -0,0 +1,80 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AvatarPickerRequestBackendMessage implements MessageBase +{ + name = 'AvatarPickerRequestBackend'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.AvatarPickerRequestBackend; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + QueryID: UUID; + GodLevel: number; + }; + Data: { + Name: string; + }; + + getSize(): number + { + return (this.Data['Name'].length + 1) + 49; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['QueryID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.AgentData['GodLevel'], pos++); + buf.writeUInt8(this.Data['Name'].length, pos++); + buf.write(this.Data['Name'], pos); + pos += this.Data['Name'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + QueryID: UUID, + GodLevel: number + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + QueryID: UUID.zero(), + GodLevel: 0 + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['QueryID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GodLevel'] = buf.readUInt8(pos++); + this.AgentData = newObjAgentData; + const newObjData: { + Name: string + } = { + Name: '' + }; + varLength = buf.readUInt8(pos++); + newObjData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AvatarPicksReply.ts b/lib/classes/messages/AvatarPicksReply.ts new file mode 100644 index 0000000..e37fac2 --- /dev/null +++ b/lib/classes/messages/AvatarPicksReply.ts @@ -0,0 +1,95 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AvatarPicksReplyMessage implements MessageBase +{ + name = 'AvatarPicksReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.AvatarPicksReply; + + AgentData: { + AgentID: UUID; + TargetID: UUID; + }; + Data: { + PickID: UUID; + PickName: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.Data, 'PickName', 1) + 16) * this.Data.length) + 33; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['TargetID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.Data.length; + buf.writeUInt8(this.Data.length, pos++); + for (let i = 0; i < count; i++) + { + this.Data[i]['PickID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.Data[i]['PickName'].length, pos++); + buf.write(this.Data[i]['PickName'], pos); + pos += this.Data[i]['PickName'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + TargetID: UUID + } = { + AgentID: UUID.zero(), + TargetID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['TargetID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.Data = []; + for (let i = 0; i < count; i++) + { + const newObjData: { + PickID: UUID, + PickName: string + } = { + PickID: UUID.zero(), + PickName: '' + }; + newObjData['PickID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjData['PickName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.Data.push(newObjData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AvatarPropertiesReply.ts b/lib/classes/messages/AvatarPropertiesReply.ts new file mode 100644 index 0000000..7a83c8a --- /dev/null +++ b/lib/classes/messages/AvatarPropertiesReply.ts @@ -0,0 +1,134 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AvatarPropertiesReplyMessage implements MessageBase +{ + name = 'AvatarPropertiesReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.AvatarPropertiesReply; + + AgentData: { + AgentID: UUID; + AvatarID: UUID; + }; + PropertiesData: { + ImageID: UUID; + FLImageID: UUID; + PartnerID: UUID; + AboutText: string; + FLAboutText: string; + BornOn: string; + ProfileURL: string; + CharterMember: string; + Flags: number; + }; + + getSize(): number + { + return (this.PropertiesData['AboutText'].length + 2 + this.PropertiesData['FLAboutText'].length + 1 + this.PropertiesData['BornOn'].length + 1 + this.PropertiesData['ProfileURL'].length + 1 + this.PropertiesData['CharterMember'].length + 1) + 84; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['AvatarID'].writeToBuffer(buf, pos); + pos += 16; + this.PropertiesData['ImageID'].writeToBuffer(buf, pos); + pos += 16; + this.PropertiesData['FLImageID'].writeToBuffer(buf, pos); + pos += 16; + this.PropertiesData['PartnerID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt16LE(this.PropertiesData['AboutText'].length, pos); + pos += 2; + buf.write(this.PropertiesData['AboutText'], pos); + pos += this.PropertiesData['AboutText'].length; + buf.writeUInt8(this.PropertiesData['FLAboutText'].length, pos++); + buf.write(this.PropertiesData['FLAboutText'], pos); + pos += this.PropertiesData['FLAboutText'].length; + buf.writeUInt8(this.PropertiesData['BornOn'].length, pos++); + buf.write(this.PropertiesData['BornOn'], pos); + pos += this.PropertiesData['BornOn'].length; + buf.writeUInt8(this.PropertiesData['ProfileURL'].length, pos++); + buf.write(this.PropertiesData['ProfileURL'], pos); + pos += this.PropertiesData['ProfileURL'].length; + buf.writeUInt8(this.PropertiesData['CharterMember'].length, pos++); + buf.write(this.PropertiesData['CharterMember'], pos); + pos += this.PropertiesData['CharterMember'].length; + buf.writeUInt32LE(this.PropertiesData['Flags'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + AvatarID: UUID + } = { + AgentID: UUID.zero(), + AvatarID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['AvatarID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjPropertiesData: { + ImageID: UUID, + FLImageID: UUID, + PartnerID: UUID, + AboutText: string, + FLAboutText: string, + BornOn: string, + ProfileURL: string, + CharterMember: string, + Flags: number + } = { + ImageID: UUID.zero(), + FLImageID: UUID.zero(), + PartnerID: UUID.zero(), + AboutText: '', + FLAboutText: '', + BornOn: '', + ProfileURL: '', + CharterMember: '', + Flags: 0 + }; + newObjPropertiesData['ImageID'] = new UUID(buf, pos); + pos += 16; + newObjPropertiesData['FLImageID'] = new UUID(buf, pos); + pos += 16; + newObjPropertiesData['PartnerID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjPropertiesData['AboutText'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjPropertiesData['FLAboutText'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjPropertiesData['BornOn'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjPropertiesData['ProfileURL'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjPropertiesData['CharterMember'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjPropertiesData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + this.PropertiesData = newObjPropertiesData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AvatarPropertiesRequest.ts b/lib/classes/messages/AvatarPropertiesRequest.ts new file mode 100644 index 0000000..e329919 --- /dev/null +++ b/lib/classes/messages/AvatarPropertiesRequest.ts @@ -0,0 +1,60 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AvatarPropertiesRequestMessage implements MessageBase +{ + name = 'AvatarPropertiesRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.AvatarPropertiesRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + AvatarID: UUID; + }; + + getSize(): number + { + return 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['AvatarID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + AvatarID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + AvatarID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['AvatarID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AvatarPropertiesRequestBackend.ts b/lib/classes/messages/AvatarPropertiesRequestBackend.ts new file mode 100644 index 0000000..d96f2c7 --- /dev/null +++ b/lib/classes/messages/AvatarPropertiesRequestBackend.ts @@ -0,0 +1,63 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AvatarPropertiesRequestBackendMessage implements MessageBase +{ + name = 'AvatarPropertiesRequestBackend'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.AvatarPropertiesRequestBackend; + + AgentData: { + AgentID: UUID; + AvatarID: UUID; + GodLevel: number; + WebProfilesDisabled: boolean; + }; + + getSize(): number + { + return 34; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['AvatarID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.AgentData['GodLevel'], pos++); + buf.writeUInt8((this.AgentData['WebProfilesDisabled']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + AvatarID: UUID, + GodLevel: number, + WebProfilesDisabled: boolean + } = { + AgentID: UUID.zero(), + AvatarID: UUID.zero(), + GodLevel: 0, + WebProfilesDisabled: false + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['AvatarID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GodLevel'] = buf.readUInt8(pos++); + newObjAgentData['WebProfilesDisabled'] = (buf.readUInt8(pos++) === 1); + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AvatarPropertiesUpdate.ts b/lib/classes/messages/AvatarPropertiesUpdate.ts new file mode 100644 index 0000000..520d1d1 --- /dev/null +++ b/lib/classes/messages/AvatarPropertiesUpdate.ts @@ -0,0 +1,112 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AvatarPropertiesUpdateMessage implements MessageBase +{ + name = 'AvatarPropertiesUpdate'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.AvatarPropertiesUpdate; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + PropertiesData: { + ImageID: UUID; + FLImageID: UUID; + AboutText: string; + FLAboutText: string; + AllowPublish: boolean; + MaturePublish: boolean; + ProfileURL: string; + }; + + getSize(): number + { + return (this.PropertiesData['AboutText'].length + 2 + this.PropertiesData['FLAboutText'].length + 1 + this.PropertiesData['ProfileURL'].length + 1) + 66; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.PropertiesData['ImageID'].writeToBuffer(buf, pos); + pos += 16; + this.PropertiesData['FLImageID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt16LE(this.PropertiesData['AboutText'].length, pos); + pos += 2; + buf.write(this.PropertiesData['AboutText'], pos); + pos += this.PropertiesData['AboutText'].length; + buf.writeUInt8(this.PropertiesData['FLAboutText'].length, pos++); + buf.write(this.PropertiesData['FLAboutText'], pos); + pos += this.PropertiesData['FLAboutText'].length; + buf.writeUInt8((this.PropertiesData['AllowPublish']) ? 1 : 0, pos++); + buf.writeUInt8((this.PropertiesData['MaturePublish']) ? 1 : 0, pos++); + buf.writeUInt8(this.PropertiesData['ProfileURL'].length, pos++); + buf.write(this.PropertiesData['ProfileURL'], pos); + pos += this.PropertiesData['ProfileURL'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjPropertiesData: { + ImageID: UUID, + FLImageID: UUID, + AboutText: string, + FLAboutText: string, + AllowPublish: boolean, + MaturePublish: boolean, + ProfileURL: string + } = { + ImageID: UUID.zero(), + FLImageID: UUID.zero(), + AboutText: '', + FLAboutText: '', + AllowPublish: false, + MaturePublish: false, + ProfileURL: '' + }; + newObjPropertiesData['ImageID'] = new UUID(buf, pos); + pos += 16; + newObjPropertiesData['FLImageID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjPropertiesData['AboutText'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjPropertiesData['FLAboutText'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjPropertiesData['AllowPublish'] = (buf.readUInt8(pos++) === 1); + newObjPropertiesData['MaturePublish'] = (buf.readUInt8(pos++) === 1); + varLength = buf.readUInt8(pos++); + newObjPropertiesData['ProfileURL'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.PropertiesData = newObjPropertiesData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AvatarSitResponse.ts b/lib/classes/messages/AvatarSitResponse.ts new file mode 100644 index 0000000..f4386b6 --- /dev/null +++ b/lib/classes/messages/AvatarSitResponse.ts @@ -0,0 +1,92 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {Quaternion} from '../Quaternion'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AvatarSitResponseMessage implements MessageBase +{ + name = 'AvatarSitResponse'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyHigh; + id = Message.AvatarSitResponse; + + SitObject: { + ID: UUID; + }; + SitTransform: { + AutoPilot: boolean; + SitPosition: Vector3; + SitRotation: Quaternion; + CameraEyeOffset: Vector3; + CameraAtOffset: Vector3; + ForceMouselook: boolean; + }; + + getSize(): number + { + return 66; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.SitObject['ID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.SitTransform['AutoPilot']) ? 1 : 0, pos++); + this.SitTransform['SitPosition'].writeToBuffer(buf, pos, false); + pos += 12; + this.SitTransform['SitRotation'].writeToBuffer(buf, pos); + pos += 12; + this.SitTransform['CameraEyeOffset'].writeToBuffer(buf, pos, false); + pos += 12; + this.SitTransform['CameraAtOffset'].writeToBuffer(buf, pos, false); + pos += 12; + buf.writeUInt8((this.SitTransform['ForceMouselook']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjSitObject: { + ID: UUID + } = { + ID: UUID.zero() + }; + newObjSitObject['ID'] = new UUID(buf, pos); + pos += 16; + this.SitObject = newObjSitObject; + const newObjSitTransform: { + AutoPilot: boolean, + SitPosition: Vector3, + SitRotation: Quaternion, + CameraEyeOffset: Vector3, + CameraAtOffset: Vector3, + ForceMouselook: boolean + } = { + AutoPilot: false, + SitPosition: Vector3.getZero(), + SitRotation: Quaternion.getIdentity(), + CameraEyeOffset: Vector3.getZero(), + CameraAtOffset: Vector3.getZero(), + ForceMouselook: false + }; + newObjSitTransform['AutoPilot'] = (buf.readUInt8(pos++) === 1); + newObjSitTransform['SitPosition'] = new Vector3(buf, pos, false); + pos += 12; + newObjSitTransform['SitRotation'] = new Quaternion(buf, pos); + pos += 12; + newObjSitTransform['CameraEyeOffset'] = new Vector3(buf, pos, false); + pos += 12; + newObjSitTransform['CameraAtOffset'] = new Vector3(buf, pos, false); + pos += 12; + newObjSitTransform['ForceMouselook'] = (buf.readUInt8(pos++) === 1); + this.SitTransform = newObjSitTransform; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/AvatarTextureUpdate.ts b/lib/classes/messages/AvatarTextureUpdate.ts new file mode 100644 index 0000000..6512aae --- /dev/null +++ b/lib/classes/messages/AvatarTextureUpdate.ts @@ -0,0 +1,121 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class AvatarTextureUpdateMessage implements MessageBase +{ + name = 'AvatarTextureUpdate'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.AvatarTextureUpdate; + + AgentData: { + AgentID: UUID; + TexturesChanged: boolean; + }; + WearableData: { + CacheID: UUID; + TextureIndex: number; + HostName: string; + }[]; + TextureData: { + TextureID: UUID; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.WearableData, 'HostName', 1) + 17) * this.WearableData.length) + ((16) * this.TextureData.length) + 19; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.AgentData['TexturesChanged']) ? 1 : 0, pos++); + let count = this.WearableData.length; + buf.writeUInt8(this.WearableData.length, pos++); + for (let i = 0; i < count; i++) + { + this.WearableData[i]['CacheID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.WearableData[i]['TextureIndex'], pos++); + buf.writeUInt8(this.WearableData[i]['HostName'].length, pos++); + buf.write(this.WearableData[i]['HostName'], pos); + pos += this.WearableData[i]['HostName'].length; + } + count = this.TextureData.length; + buf.writeUInt8(this.TextureData.length, pos++); + for (let i = 0; i < count; i++) + { + this.TextureData[i]['TextureID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + TexturesChanged: boolean + } = { + AgentID: UUID.zero(), + TexturesChanged: false + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['TexturesChanged'] = (buf.readUInt8(pos++) === 1); + this.AgentData = newObjAgentData; + let count = buf.readUInt8(pos++); + this.WearableData = []; + for (let i = 0; i < count; i++) + { + const newObjWearableData: { + CacheID: UUID, + TextureIndex: number, + HostName: string + } = { + CacheID: UUID.zero(), + TextureIndex: 0, + HostName: '' + }; + newObjWearableData['CacheID'] = new UUID(buf, pos); + pos += 16; + newObjWearableData['TextureIndex'] = buf.readUInt8(pos++); + varLength = buf.readUInt8(pos++); + newObjWearableData['HostName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.WearableData.push(newObjWearableData); + } + count = buf.readUInt8(pos++); + this.TextureData = []; + for (let i = 0; i < count; i++) + { + const newObjTextureData: { + TextureID: UUID + } = { + TextureID: UUID.zero() + }; + newObjTextureData['TextureID'] = new UUID(buf, pos); + pos += 16; + this.TextureData.push(newObjTextureData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/BulkUpdateInventory.ts b/lib/classes/messages/BulkUpdateInventory.ts new file mode 100644 index 0000000..2428887 --- /dev/null +++ b/lib/classes/messages/BulkUpdateInventory.ts @@ -0,0 +1,273 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class BulkUpdateInventoryMessage implements MessageBase +{ + name = 'BulkUpdateInventory'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.BulkUpdateInventory; + + AgentData: { + AgentID: UUID; + TransactionID: UUID; + }; + FolderData: { + FolderID: UUID; + ParentID: UUID; + Type: number; + Name: string; + }[]; + ItemData: { + ItemID: UUID; + CallbackID: number; + FolderID: UUID; + CreatorID: UUID; + OwnerID: UUID; + GroupID: UUID; + BaseMask: number; + OwnerMask: number; + GroupMask: number; + EveryoneMask: number; + NextOwnerMask: number; + GroupOwned: boolean; + AssetID: UUID; + Type: number; + InvType: number; + Flags: number; + SaleType: number; + SalePrice: number; + Name: string; + Description: string; + CreationDate: number; + CRC: number; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.FolderData, 'Name', 1) + 33) * this.FolderData.length) + ((this.calculateVarVarSize(this.ItemData, 'Name', 1) + this.calculateVarVarSize(this.ItemData, 'Description', 1) + 140) * this.ItemData.length) + 34; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + let count = this.FolderData.length; + buf.writeUInt8(this.FolderData.length, pos++); + for (let i = 0; i < count; i++) + { + this.FolderData[i]['FolderID'].writeToBuffer(buf, pos); + pos += 16; + this.FolderData[i]['ParentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt8(this.FolderData[i]['Type'], pos++); + buf.writeUInt8(this.FolderData[i]['Name'].length, pos++); + buf.write(this.FolderData[i]['Name'], pos); + pos += this.FolderData[i]['Name'].length; + } + count = this.ItemData.length; + buf.writeUInt8(this.ItemData.length, pos++); + for (let i = 0; i < count; i++) + { + this.ItemData[i]['ItemID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.ItemData[i]['CallbackID'], pos); + pos += 4; + this.ItemData[i]['FolderID'].writeToBuffer(buf, pos); + pos += 16; + this.ItemData[i]['CreatorID'].writeToBuffer(buf, pos); + pos += 16; + this.ItemData[i]['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + this.ItemData[i]['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.ItemData[i]['BaseMask'], pos); + pos += 4; + buf.writeUInt32LE(this.ItemData[i]['OwnerMask'], pos); + pos += 4; + buf.writeUInt32LE(this.ItemData[i]['GroupMask'], pos); + pos += 4; + buf.writeUInt32LE(this.ItemData[i]['EveryoneMask'], pos); + pos += 4; + buf.writeUInt32LE(this.ItemData[i]['NextOwnerMask'], pos); + pos += 4; + buf.writeUInt8((this.ItemData[i]['GroupOwned']) ? 1 : 0, pos++); + this.ItemData[i]['AssetID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt8(this.ItemData[i]['Type'], pos++); + buf.writeInt8(this.ItemData[i]['InvType'], pos++); + buf.writeUInt32LE(this.ItemData[i]['Flags'], pos); + pos += 4; + buf.writeUInt8(this.ItemData[i]['SaleType'], pos++); + buf.writeInt32LE(this.ItemData[i]['SalePrice'], pos); + pos += 4; + buf.writeUInt8(this.ItemData[i]['Name'].length, pos++); + buf.write(this.ItemData[i]['Name'], pos); + pos += this.ItemData[i]['Name'].length; + buf.writeUInt8(this.ItemData[i]['Description'].length, pos++); + buf.write(this.ItemData[i]['Description'], pos); + pos += this.ItemData[i]['Description'].length; + buf.writeInt32LE(this.ItemData[i]['CreationDate'], pos); + pos += 4; + buf.writeUInt32LE(this.ItemData[i]['CRC'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + TransactionID: UUID + } = { + AgentID: UUID.zero(), + TransactionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['TransactionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + let count = buf.readUInt8(pos++); + this.FolderData = []; + for (let i = 0; i < count; i++) + { + const newObjFolderData: { + FolderID: UUID, + ParentID: UUID, + Type: number, + Name: string + } = { + FolderID: UUID.zero(), + ParentID: UUID.zero(), + Type: 0, + Name: '' + }; + newObjFolderData['FolderID'] = new UUID(buf, pos); + pos += 16; + newObjFolderData['ParentID'] = new UUID(buf, pos); + pos += 16; + newObjFolderData['Type'] = buf.readInt8(pos++); + varLength = buf.readUInt8(pos++); + newObjFolderData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.FolderData.push(newObjFolderData); + } + count = buf.readUInt8(pos++); + this.ItemData = []; + for (let i = 0; i < count; i++) + { + const newObjItemData: { + ItemID: UUID, + CallbackID: number, + FolderID: UUID, + CreatorID: UUID, + OwnerID: UUID, + GroupID: UUID, + BaseMask: number, + OwnerMask: number, + GroupMask: number, + EveryoneMask: number, + NextOwnerMask: number, + GroupOwned: boolean, + AssetID: UUID, + Type: number, + InvType: number, + Flags: number, + SaleType: number, + SalePrice: number, + Name: string, + Description: string, + CreationDate: number, + CRC: number + } = { + ItemID: UUID.zero(), + CallbackID: 0, + FolderID: UUID.zero(), + CreatorID: UUID.zero(), + OwnerID: UUID.zero(), + GroupID: UUID.zero(), + BaseMask: 0, + OwnerMask: 0, + GroupMask: 0, + EveryoneMask: 0, + NextOwnerMask: 0, + GroupOwned: false, + AssetID: UUID.zero(), + Type: 0, + InvType: 0, + Flags: 0, + SaleType: 0, + SalePrice: 0, + Name: '', + Description: '', + CreationDate: 0, + CRC: 0 + }; + newObjItemData['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjItemData['CallbackID'] = buf.readUInt32LE(pos); + pos += 4; + newObjItemData['FolderID'] = new UUID(buf, pos); + pos += 16; + newObjItemData['CreatorID'] = new UUID(buf, pos); + pos += 16; + newObjItemData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjItemData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjItemData['BaseMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjItemData['OwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjItemData['GroupMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjItemData['EveryoneMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjItemData['NextOwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjItemData['GroupOwned'] = (buf.readUInt8(pos++) === 1); + newObjItemData['AssetID'] = new UUID(buf, pos); + pos += 16; + newObjItemData['Type'] = buf.readInt8(pos++); + newObjItemData['InvType'] = buf.readInt8(pos++); + newObjItemData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + newObjItemData['SaleType'] = buf.readUInt8(pos++); + newObjItemData['SalePrice'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjItemData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjItemData['Description'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjItemData['CreationDate'] = buf.readInt32LE(pos); + pos += 4; + newObjItemData['CRC'] = buf.readUInt32LE(pos); + pos += 4; + this.ItemData.push(newObjItemData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/BuyObjectInventory.ts b/lib/classes/messages/BuyObjectInventory.ts new file mode 100644 index 0000000..344da6f --- /dev/null +++ b/lib/classes/messages/BuyObjectInventory.ts @@ -0,0 +1,80 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class BuyObjectInventoryMessage implements MessageBase +{ + name = 'BuyObjectInventory'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.BuyObjectInventory; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + ObjectID: UUID; + ItemID: UUID; + FolderID: UUID; + }; + + getSize(): number + { + return 80; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['ItemID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['FolderID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + ObjectID: UUID, + ItemID: UUID, + FolderID: UUID + } = { + ObjectID: UUID.zero(), + ItemID: UUID.zero(), + FolderID: UUID.zero() + }; + newObjData['ObjectID'] = new UUID(buf, pos); + pos += 16; + newObjData['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjData['FolderID'] = new UUID(buf, pos); + pos += 16; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/CameraConstraint.ts b/lib/classes/messages/CameraConstraint.ts new file mode 100644 index 0000000..23f6eb9 --- /dev/null +++ b/lib/classes/messages/CameraConstraint.ts @@ -0,0 +1,46 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {Vector4} from '../Vector4'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class CameraConstraintMessage implements MessageBase +{ + name = 'CameraConstraint'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyHigh; + id = Message.CameraConstraint; + + CameraCollidePlane: { + Plane: Vector4; + }; + + getSize(): number + { + return 16; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.CameraCollidePlane['Plane'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjCameraCollidePlane: { + Plane: Vector4 + } = { + Plane: Vector4.getZero() + }; + newObjCameraCollidePlane['Plane'] = new Vector4(buf, pos); + pos += 16; + this.CameraCollidePlane = newObjCameraCollidePlane; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/CancelAuction.ts b/lib/classes/messages/CancelAuction.ts new file mode 100644 index 0000000..812d656 --- /dev/null +++ b/lib/classes/messages/CancelAuction.ts @@ -0,0 +1,56 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class CancelAuctionMessage implements MessageBase +{ + name = 'CancelAuction'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.CancelAuction; + + ParcelData: { + ParcelID: UUID; + }[]; + + getSize(): number + { + return ((16) * this.ParcelData.length) + 1; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.ParcelData.length; + buf.writeUInt8(this.ParcelData.length, pos++); + for (let i = 0; i < count; i++) + { + this.ParcelData[i]['ParcelID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.ParcelData = []; + for (let i = 0; i < count; i++) + { + const newObjParcelData: { + ParcelID: UUID + } = { + ParcelID: UUID.zero() + }; + newObjParcelData['ParcelID'] = new UUID(buf, pos); + pos += 16; + this.ParcelData.push(newObjParcelData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ChangeInventoryItemFlags.ts b/lib/classes/messages/ChangeInventoryItemFlags.ts new file mode 100644 index 0000000..7e0aadd --- /dev/null +++ b/lib/classes/messages/ChangeInventoryItemFlags.ts @@ -0,0 +1,83 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ChangeInventoryItemFlagsMessage implements MessageBase +{ + name = 'ChangeInventoryItemFlags'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.ChangeInventoryItemFlags; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + InventoryData: { + ItemID: UUID; + Flags: number; + }[]; + + getSize(): number + { + return ((20) * this.InventoryData.length) + 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.InventoryData.length; + buf.writeUInt8(this.InventoryData.length, pos++); + for (let i = 0; i < count; i++) + { + this.InventoryData[i]['ItemID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.InventoryData[i]['Flags'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.InventoryData = []; + for (let i = 0; i < count; i++) + { + const newObjInventoryData: { + ItemID: UUID, + Flags: number + } = { + ItemID: UUID.zero(), + Flags: 0 + }; + newObjInventoryData['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + this.InventoryData.push(newObjInventoryData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ChangeUserRights.ts b/lib/classes/messages/ChangeUserRights.ts new file mode 100644 index 0000000..d549011 --- /dev/null +++ b/lib/classes/messages/ChangeUserRights.ts @@ -0,0 +1,76 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ChangeUserRightsMessage implements MessageBase +{ + name = 'ChangeUserRights'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.ChangeUserRights; + + AgentData: { + AgentID: UUID; + }; + Rights: { + AgentRelated: UUID; + RelatedRights: number; + }[]; + + getSize(): number + { + return ((20) * this.Rights.length) + 17; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.Rights.length; + buf.writeUInt8(this.Rights.length, pos++); + for (let i = 0; i < count; i++) + { + this.Rights[i]['AgentRelated'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.Rights[i]['RelatedRights'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.Rights = []; + for (let i = 0; i < count; i++) + { + const newObjRights: { + AgentRelated: UUID, + RelatedRights: number + } = { + AgentRelated: UUID.zero(), + RelatedRights: 0 + }; + newObjRights['AgentRelated'] = new UUID(buf, pos); + pos += 16; + newObjRights['RelatedRights'] = buf.readInt32LE(pos); + pos += 4; + this.Rights.push(newObjRights); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ChatFromSimulator.ts b/lib/classes/messages/ChatFromSimulator.ts new file mode 100644 index 0000000..7d92616 --- /dev/null +++ b/lib/classes/messages/ChatFromSimulator.ts @@ -0,0 +1,96 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ChatFromSimulatorMessage implements MessageBase +{ + name = 'ChatFromSimulator'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.ChatFromSimulator; + + ChatData: { + FromName: string; + SourceID: UUID; + OwnerID: UUID; + SourceType: number; + ChatType: number; + Audible: number; + Position: Vector3; + Message: string; + }; + + getSize(): number + { + return (this.ChatData['FromName'].length + 1 + this.ChatData['Message'].length + 2) + 47; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt8(this.ChatData['FromName'].length, pos++); + buf.write(this.ChatData['FromName'], pos); + pos += this.ChatData['FromName'].length; + this.ChatData['SourceID'].writeToBuffer(buf, pos); + pos += 16; + this.ChatData['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.ChatData['SourceType'], pos++); + buf.writeUInt8(this.ChatData['ChatType'], pos++); + buf.writeUInt8(this.ChatData['Audible'], pos++); + this.ChatData['Position'].writeToBuffer(buf, pos, false); + pos += 12; + buf.writeUInt16LE(this.ChatData['Message'].length, pos); + pos += 2; + buf.write(this.ChatData['Message'], pos); + pos += this.ChatData['Message'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjChatData: { + FromName: string, + SourceID: UUID, + OwnerID: UUID, + SourceType: number, + ChatType: number, + Audible: number, + Position: Vector3, + Message: string + } = { + FromName: '', + SourceID: UUID.zero(), + OwnerID: UUID.zero(), + SourceType: 0, + ChatType: 0, + Audible: 0, + Position: Vector3.getZero(), + Message: '' + }; + varLength = buf.readUInt8(pos++); + newObjChatData['FromName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjChatData['SourceID'] = new UUID(buf, pos); + pos += 16; + newObjChatData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjChatData['SourceType'] = buf.readUInt8(pos++); + newObjChatData['ChatType'] = buf.readUInt8(pos++); + newObjChatData['Audible'] = buf.readUInt8(pos++); + newObjChatData['Position'] = new Vector3(buf, pos, false); + pos += 12; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjChatData['Message'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ChatData = newObjChatData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ChatFromViewer.ts b/lib/classes/messages/ChatFromViewer.ts new file mode 100644 index 0000000..d2b1ca0 --- /dev/null +++ b/lib/classes/messages/ChatFromViewer.ts @@ -0,0 +1,82 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ChatFromViewerMessage implements MessageBase +{ + name = 'ChatFromViewer'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ChatFromViewer; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ChatData: { + Message: string; + Type: number; + Channel: number; + }; + + getSize(): number + { + return (this.ChatData['Message'].length + 2) + 37; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt16LE(this.ChatData['Message'].length, pos); + pos += 2; + buf.write(this.ChatData['Message'], pos); + pos += this.ChatData['Message'].length; + buf.writeUInt8(this.ChatData['Type'], pos++); + buf.writeInt32LE(this.ChatData['Channel'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjChatData: { + Message: string, + Type: number, + Channel: number + } = { + Message: '', + Type: 0, + Channel: 0 + }; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjChatData['Message'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjChatData['Type'] = buf.readUInt8(pos++); + newObjChatData['Channel'] = buf.readInt32LE(pos); + pos += 4; + this.ChatData = newObjChatData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ChatPass.ts b/lib/classes/messages/ChatPass.ts new file mode 100644 index 0000000..8366b01 --- /dev/null +++ b/lib/classes/messages/ChatPass.ts @@ -0,0 +1,110 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ChatPassMessage implements MessageBase +{ + name = 'ChatPass'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ChatPass; + + ChatData: { + Channel: number; + Position: Vector3; + ID: UUID; + OwnerID: UUID; + Name: string; + SourceType: number; + Type: number; + Radius: number; + SimAccess: number; + Message: string; + }; + + getSize(): number + { + return (this.ChatData['Name'].length + 1 + this.ChatData['Message'].length + 2) + 55; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeInt32LE(this.ChatData['Channel'], pos); + pos += 4; + this.ChatData['Position'].writeToBuffer(buf, pos, false); + pos += 12; + this.ChatData['ID'].writeToBuffer(buf, pos); + pos += 16; + this.ChatData['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.ChatData['Name'].length, pos++); + buf.write(this.ChatData['Name'], pos); + pos += this.ChatData['Name'].length; + buf.writeUInt8(this.ChatData['SourceType'], pos++); + buf.writeUInt8(this.ChatData['Type'], pos++); + buf.writeFloatLE(this.ChatData['Radius'], pos); + pos += 4; + buf.writeUInt8(this.ChatData['SimAccess'], pos++); + buf.writeUInt16LE(this.ChatData['Message'].length, pos); + pos += 2; + buf.write(this.ChatData['Message'], pos); + pos += this.ChatData['Message'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjChatData: { + Channel: number, + Position: Vector3, + ID: UUID, + OwnerID: UUID, + Name: string, + SourceType: number, + Type: number, + Radius: number, + SimAccess: number, + Message: string + } = { + Channel: 0, + Position: Vector3.getZero(), + ID: UUID.zero(), + OwnerID: UUID.zero(), + Name: '', + SourceType: 0, + Type: 0, + Radius: 0, + SimAccess: 0, + Message: '' + }; + newObjChatData['Channel'] = buf.readInt32LE(pos); + pos += 4; + newObjChatData['Position'] = new Vector3(buf, pos, false); + pos += 12; + newObjChatData['ID'] = new UUID(buf, pos); + pos += 16; + newObjChatData['OwnerID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjChatData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjChatData['SourceType'] = buf.readUInt8(pos++); + newObjChatData['Type'] = buf.readUInt8(pos++); + newObjChatData['Radius'] = buf.readFloatLE(pos); + pos += 4; + newObjChatData['SimAccess'] = buf.readUInt8(pos++); + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjChatData['Message'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ChatData = newObjChatData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/CheckParcelAuctions.ts b/lib/classes/messages/CheckParcelAuctions.ts new file mode 100644 index 0000000..0bf7f5f --- /dev/null +++ b/lib/classes/messages/CheckParcelAuctions.ts @@ -0,0 +1,58 @@ +// This file has been automatically generated by writeMessageClasses.js + +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class CheckParcelAuctionsMessage implements MessageBase +{ + name = 'CheckParcelAuctions'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.CheckParcelAuctions; + + RegionData: { + RegionHandle: Long; + }[]; + + getSize(): number + { + return ((8) * this.RegionData.length) + 1; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.RegionData.length; + buf.writeUInt8(this.RegionData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeInt32LE(this.RegionData[i]['RegionHandle'].low, pos); + pos += 4; + buf.writeInt32LE(this.RegionData[i]['RegionHandle'].high, pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.RegionData = []; + for (let i = 0; i < count; i++) + { + const newObjRegionData: { + RegionHandle: Long + } = { + RegionHandle: Long.ZERO + }; + newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + this.RegionData.push(newObjRegionData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/CheckParcelSales.ts b/lib/classes/messages/CheckParcelSales.ts new file mode 100644 index 0000000..53134ed --- /dev/null +++ b/lib/classes/messages/CheckParcelSales.ts @@ -0,0 +1,58 @@ +// This file has been automatically generated by writeMessageClasses.js + +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class CheckParcelSalesMessage implements MessageBase +{ + name = 'CheckParcelSales'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.CheckParcelSales; + + RegionData: { + RegionHandle: Long; + }[]; + + getSize(): number + { + return ((8) * this.RegionData.length) + 1; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.RegionData.length; + buf.writeUInt8(this.RegionData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeInt32LE(this.RegionData[i]['RegionHandle'].low, pos); + pos += 4; + buf.writeInt32LE(this.RegionData[i]['RegionHandle'].high, pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.RegionData = []; + for (let i = 0; i < count; i++) + { + const newObjRegionData: { + RegionHandle: Long + } = { + RegionHandle: Long.ZERO + }; + newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + this.RegionData.push(newObjRegionData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ChildAgentAlive.ts b/lib/classes/messages/ChildAgentAlive.ts new file mode 100644 index 0000000..4000cb1 --- /dev/null +++ b/lib/classes/messages/ChildAgentAlive.ts @@ -0,0 +1,70 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ChildAgentAliveMessage implements MessageBase +{ + name = 'ChildAgentAlive'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyHigh; + id = Message.ChildAgentAlive; + + AgentData: { + RegionHandle: Long; + ViewerCircuitCode: number; + AgentID: UUID; + SessionID: UUID; + }; + + getSize(): number + { + return 44; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeInt32LE(this.AgentData['RegionHandle'].low, pos); + pos += 4; + buf.writeInt32LE(this.AgentData['RegionHandle'].high, pos); + pos += 4; + buf.writeUInt32LE(this.AgentData['ViewerCircuitCode'], pos); + pos += 4; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + RegionHandle: Long, + ViewerCircuitCode: number, + AgentID: UUID, + SessionID: UUID + } = { + RegionHandle: Long.ZERO, + ViewerCircuitCode: 0, + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjAgentData['ViewerCircuitCode'] = buf.readUInt32LE(pos); + pos += 4; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ChildAgentDying.ts b/lib/classes/messages/ChildAgentDying.ts new file mode 100644 index 0000000..489ecfc --- /dev/null +++ b/lib/classes/messages/ChildAgentDying.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ChildAgentDyingMessage implements MessageBase +{ + name = 'ChildAgentDying'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ChildAgentDying; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + + getSize(): number + { + return 32; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ChildAgentPositionUpdate.ts b/lib/classes/messages/ChildAgentPositionUpdate.ts new file mode 100644 index 0000000..a18e2be --- /dev/null +++ b/lib/classes/messages/ChildAgentPositionUpdate.ts @@ -0,0 +1,125 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ChildAgentPositionUpdateMessage implements MessageBase +{ + name = 'ChildAgentPositionUpdate'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyHigh; + id = Message.ChildAgentPositionUpdate; + + AgentData: { + RegionHandle: Long; + ViewerCircuitCode: number; + AgentID: UUID; + SessionID: UUID; + AgentPos: Vector3; + AgentVel: Vector3; + Center: Vector3; + Size: Vector3; + AtAxis: Vector3; + LeftAxis: Vector3; + UpAxis: Vector3; + ChangedGrid: boolean; + }; + + getSize(): number + { + return 129; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeInt32LE(this.AgentData['RegionHandle'].low, pos); + pos += 4; + buf.writeInt32LE(this.AgentData['RegionHandle'].high, pos); + pos += 4; + buf.writeUInt32LE(this.AgentData['ViewerCircuitCode'], pos); + pos += 4; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['AgentPos'].writeToBuffer(buf, pos, false); + pos += 12; + this.AgentData['AgentVel'].writeToBuffer(buf, pos, false); + pos += 12; + this.AgentData['Center'].writeToBuffer(buf, pos, false); + pos += 12; + this.AgentData['Size'].writeToBuffer(buf, pos, false); + pos += 12; + this.AgentData['AtAxis'].writeToBuffer(buf, pos, false); + pos += 12; + this.AgentData['LeftAxis'].writeToBuffer(buf, pos, false); + pos += 12; + this.AgentData['UpAxis'].writeToBuffer(buf, pos, false); + pos += 12; + buf.writeUInt8((this.AgentData['ChangedGrid']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + RegionHandle: Long, + ViewerCircuitCode: number, + AgentID: UUID, + SessionID: UUID, + AgentPos: Vector3, + AgentVel: Vector3, + Center: Vector3, + Size: Vector3, + AtAxis: Vector3, + LeftAxis: Vector3, + UpAxis: Vector3, + ChangedGrid: boolean + } = { + RegionHandle: Long.ZERO, + ViewerCircuitCode: 0, + AgentID: UUID.zero(), + SessionID: UUID.zero(), + AgentPos: Vector3.getZero(), + AgentVel: Vector3.getZero(), + Center: Vector3.getZero(), + Size: Vector3.getZero(), + AtAxis: Vector3.getZero(), + LeftAxis: Vector3.getZero(), + UpAxis: Vector3.getZero(), + ChangedGrid: false + }; + newObjAgentData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjAgentData['ViewerCircuitCode'] = buf.readUInt32LE(pos); + pos += 4; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['AgentPos'] = new Vector3(buf, pos, false); + pos += 12; + newObjAgentData['AgentVel'] = new Vector3(buf, pos, false); + pos += 12; + newObjAgentData['Center'] = new Vector3(buf, pos, false); + pos += 12; + newObjAgentData['Size'] = new Vector3(buf, pos, false); + pos += 12; + newObjAgentData['AtAxis'] = new Vector3(buf, pos, false); + pos += 12; + newObjAgentData['LeftAxis'] = new Vector3(buf, pos, false); + pos += 12; + newObjAgentData['UpAxis'] = new Vector3(buf, pos, false); + pos += 12; + newObjAgentData['ChangedGrid'] = (buf.readUInt8(pos++) === 1); + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ChildAgentUnknown.ts b/lib/classes/messages/ChildAgentUnknown.ts new file mode 100644 index 0000000..87aa4fa --- /dev/null +++ b/lib/classes/messages/ChildAgentUnknown.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ChildAgentUnknownMessage implements MessageBase +{ + name = 'ChildAgentUnknown'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.ChildAgentUnknown; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + + getSize(): number + { + return 32; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ChildAgentUpdate.ts b/lib/classes/messages/ChildAgentUpdate.ts new file mode 100644 index 0000000..c1ad23b --- /dev/null +++ b/lib/classes/messages/ChildAgentUpdate.ts @@ -0,0 +1,446 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import Long = require('long'); +import {Quaternion} from '../Quaternion'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ChildAgentUpdateMessage implements MessageBase +{ + name = 'ChildAgentUpdate'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyHigh; + id = Message.ChildAgentUpdate; + + AgentData: { + RegionHandle: Long; + ViewerCircuitCode: number; + AgentID: UUID; + SessionID: UUID; + AgentPos: Vector3; + AgentVel: Vector3; + Center: Vector3; + Size: Vector3; + AtAxis: Vector3; + LeftAxis: Vector3; + UpAxis: Vector3; + ChangedGrid: boolean; + Far: number; + Aspect: number; + Throttles: string; + LocomotionState: number; + HeadRotation: Quaternion; + BodyRotation: Quaternion; + ControlFlags: number; + EnergyLevel: number; + GodLevel: number; + AlwaysRun: boolean; + PreyAgent: UUID; + AgentAccess: number; + AgentTextures: string; + ActiveGroupID: UUID; + }; + GroupData: { + GroupID: UUID; + GroupPowers: Long; + AcceptNotices: boolean; + }[]; + AnimationData: { + Animation: UUID; + ObjectID: UUID; + }[]; + GranterBlock: { + GranterID: UUID; + }[]; + NVPairData: { + NVPairs: string; + }[]; + VisualParam: { + ParamValue: number; + }[]; + AgentAccess: { + AgentLegacyAccess: number; + AgentMaxAccess: number; + }[]; + AgentInfo: { + Flags: number; + }[]; + AgentInventoryHost: { + InventoryHost: string; + }[]; + + getSize(): number + { + return (this.AgentData['Throttles'].length + 1 + this.AgentData['AgentTextures'].length + 2) + ((25) * this.GroupData.length) + ((32) * this.AnimationData.length) + ((16) * this.GranterBlock.length) + ((this.calculateVarVarSize(this.NVPairData, 'NVPairs', 2)) * this.NVPairData.length) + ((1) * this.VisualParam.length) + ((2) * this.AgentAccess.length) + ((4) * this.AgentInfo.length) + ((this.calculateVarVarSize(this.AgentInventoryHost, 'InventoryHost', 1)) * this.AgentInventoryHost.length) + 216; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeInt32LE(this.AgentData['RegionHandle'].low, pos); + pos += 4; + buf.writeInt32LE(this.AgentData['RegionHandle'].high, pos); + pos += 4; + buf.writeUInt32LE(this.AgentData['ViewerCircuitCode'], pos); + pos += 4; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['AgentPos'].writeToBuffer(buf, pos, false); + pos += 12; + this.AgentData['AgentVel'].writeToBuffer(buf, pos, false); + pos += 12; + this.AgentData['Center'].writeToBuffer(buf, pos, false); + pos += 12; + this.AgentData['Size'].writeToBuffer(buf, pos, false); + pos += 12; + this.AgentData['AtAxis'].writeToBuffer(buf, pos, false); + pos += 12; + this.AgentData['LeftAxis'].writeToBuffer(buf, pos, false); + pos += 12; + this.AgentData['UpAxis'].writeToBuffer(buf, pos, false); + pos += 12; + buf.writeUInt8((this.AgentData['ChangedGrid']) ? 1 : 0, pos++); + buf.writeFloatLE(this.AgentData['Far'], pos); + pos += 4; + buf.writeFloatLE(this.AgentData['Aspect'], pos); + pos += 4; + buf.writeUInt8(this.AgentData['Throttles'].length, pos++); + buf.write(this.AgentData['Throttles'], pos); + pos += this.AgentData['Throttles'].length; + buf.writeUInt32LE(this.AgentData['LocomotionState'], pos); + pos += 4; + this.AgentData['HeadRotation'].writeToBuffer(buf, pos); + pos += 12; + this.AgentData['BodyRotation'].writeToBuffer(buf, pos); + pos += 12; + buf.writeUInt32LE(this.AgentData['ControlFlags'], pos); + pos += 4; + buf.writeFloatLE(this.AgentData['EnergyLevel'], pos); + pos += 4; + buf.writeUInt8(this.AgentData['GodLevel'], pos++); + buf.writeUInt8((this.AgentData['AlwaysRun']) ? 1 : 0, pos++); + this.AgentData['PreyAgent'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.AgentData['AgentAccess'], pos++); + buf.writeUInt16LE(this.AgentData['AgentTextures'].length, pos); + pos += 2; + buf.write(this.AgentData['AgentTextures'], pos); + pos += this.AgentData['AgentTextures'].length; + this.AgentData['ActiveGroupID'].writeToBuffer(buf, pos); + pos += 16; + let count = this.GroupData.length; + buf.writeUInt8(this.GroupData.length, pos++); + for (let i = 0; i < count; i++) + { + this.GroupData[i]['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.GroupData[i]['GroupPowers'].low, pos); + pos += 4; + buf.writeInt32LE(this.GroupData[i]['GroupPowers'].high, pos); + pos += 4; + buf.writeUInt8((this.GroupData[i]['AcceptNotices']) ? 1 : 0, pos++); + } + count = this.AnimationData.length; + buf.writeUInt8(this.AnimationData.length, pos++); + for (let i = 0; i < count; i++) + { + this.AnimationData[i]['Animation'].writeToBuffer(buf, pos); + pos += 16; + this.AnimationData[i]['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + } + count = this.GranterBlock.length; + buf.writeUInt8(this.GranterBlock.length, pos++); + for (let i = 0; i < count; i++) + { + this.GranterBlock[i]['GranterID'].writeToBuffer(buf, pos); + pos += 16; + } + count = this.NVPairData.length; + buf.writeUInt8(this.NVPairData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt16LE(this.NVPairData[i]['NVPairs'].length, pos); + pos += 2; + buf.write(this.NVPairData[i]['NVPairs'], pos); + pos += this.NVPairData[i]['NVPairs'].length; + } + count = this.VisualParam.length; + buf.writeUInt8(this.VisualParam.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt8(this.VisualParam[i]['ParamValue'], pos++); + } + count = this.AgentAccess.length; + buf.writeUInt8(this.AgentAccess.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt8(this.AgentAccess[i]['AgentLegacyAccess'], pos++); + buf.writeUInt8(this.AgentAccess[i]['AgentMaxAccess'], pos++); + } + count = this.AgentInfo.length; + buf.writeUInt8(this.AgentInfo.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.AgentInfo[i]['Flags'], pos); + pos += 4; + } + count = this.AgentInventoryHost.length; + buf.writeUInt8(this.AgentInventoryHost.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt8(this.AgentInventoryHost[i]['InventoryHost'].length, pos++); + buf.write(this.AgentInventoryHost[i]['InventoryHost'], pos); + pos += this.AgentInventoryHost[i]['InventoryHost'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + RegionHandle: Long, + ViewerCircuitCode: number, + AgentID: UUID, + SessionID: UUID, + AgentPos: Vector3, + AgentVel: Vector3, + Center: Vector3, + Size: Vector3, + AtAxis: Vector3, + LeftAxis: Vector3, + UpAxis: Vector3, + ChangedGrid: boolean, + Far: number, + Aspect: number, + Throttles: string, + LocomotionState: number, + HeadRotation: Quaternion, + BodyRotation: Quaternion, + ControlFlags: number, + EnergyLevel: number, + GodLevel: number, + AlwaysRun: boolean, + PreyAgent: UUID, + AgentAccess: number, + AgentTextures: string, + ActiveGroupID: UUID + } = { + RegionHandle: Long.ZERO, + ViewerCircuitCode: 0, + AgentID: UUID.zero(), + SessionID: UUID.zero(), + AgentPos: Vector3.getZero(), + AgentVel: Vector3.getZero(), + Center: Vector3.getZero(), + Size: Vector3.getZero(), + AtAxis: Vector3.getZero(), + LeftAxis: Vector3.getZero(), + UpAxis: Vector3.getZero(), + ChangedGrid: false, + Far: 0, + Aspect: 0, + Throttles: '', + LocomotionState: 0, + HeadRotation: Quaternion.getIdentity(), + BodyRotation: Quaternion.getIdentity(), + ControlFlags: 0, + EnergyLevel: 0, + GodLevel: 0, + AlwaysRun: false, + PreyAgent: UUID.zero(), + AgentAccess: 0, + AgentTextures: '', + ActiveGroupID: UUID.zero() + }; + newObjAgentData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjAgentData['ViewerCircuitCode'] = buf.readUInt32LE(pos); + pos += 4; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['AgentPos'] = new Vector3(buf, pos, false); + pos += 12; + newObjAgentData['AgentVel'] = new Vector3(buf, pos, false); + pos += 12; + newObjAgentData['Center'] = new Vector3(buf, pos, false); + pos += 12; + newObjAgentData['Size'] = new Vector3(buf, pos, false); + pos += 12; + newObjAgentData['AtAxis'] = new Vector3(buf, pos, false); + pos += 12; + newObjAgentData['LeftAxis'] = new Vector3(buf, pos, false); + pos += 12; + newObjAgentData['UpAxis'] = new Vector3(buf, pos, false); + pos += 12; + newObjAgentData['ChangedGrid'] = (buf.readUInt8(pos++) === 1); + newObjAgentData['Far'] = buf.readFloatLE(pos); + pos += 4; + newObjAgentData['Aspect'] = buf.readFloatLE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjAgentData['Throttles'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjAgentData['LocomotionState'] = buf.readUInt32LE(pos); + pos += 4; + newObjAgentData['HeadRotation'] = new Quaternion(buf, pos); + pos += 12; + newObjAgentData['BodyRotation'] = new Quaternion(buf, pos); + pos += 12; + newObjAgentData['ControlFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjAgentData['EnergyLevel'] = buf.readFloatLE(pos); + pos += 4; + newObjAgentData['GodLevel'] = buf.readUInt8(pos++); + newObjAgentData['AlwaysRun'] = (buf.readUInt8(pos++) === 1); + newObjAgentData['PreyAgent'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['AgentAccess'] = buf.readUInt8(pos++); + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjAgentData['AgentTextures'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjAgentData['ActiveGroupID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + let count = buf.readUInt8(pos++); + this.GroupData = []; + for (let i = 0; i < count; i++) + { + const newObjGroupData: { + GroupID: UUID, + GroupPowers: Long, + AcceptNotices: boolean + } = { + GroupID: UUID.zero(), + GroupPowers: Long.ZERO, + AcceptNotices: false + }; + newObjGroupData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjGroupData['GroupPowers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjGroupData['AcceptNotices'] = (buf.readUInt8(pos++) === 1); + this.GroupData.push(newObjGroupData); + } + count = buf.readUInt8(pos++); + this.AnimationData = []; + for (let i = 0; i < count; i++) + { + const newObjAnimationData: { + Animation: UUID, + ObjectID: UUID + } = { + Animation: UUID.zero(), + ObjectID: UUID.zero() + }; + newObjAnimationData['Animation'] = new UUID(buf, pos); + pos += 16; + newObjAnimationData['ObjectID'] = new UUID(buf, pos); + pos += 16; + this.AnimationData.push(newObjAnimationData); + } + count = buf.readUInt8(pos++); + this.GranterBlock = []; + for (let i = 0; i < count; i++) + { + const newObjGranterBlock: { + GranterID: UUID + } = { + GranterID: UUID.zero() + }; + newObjGranterBlock['GranterID'] = new UUID(buf, pos); + pos += 16; + this.GranterBlock.push(newObjGranterBlock); + } + count = buf.readUInt8(pos++); + this.NVPairData = []; + for (let i = 0; i < count; i++) + { + const newObjNVPairData: { + NVPairs: string + } = { + NVPairs: '' + }; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjNVPairData['NVPairs'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.NVPairData.push(newObjNVPairData); + } + count = buf.readUInt8(pos++); + this.VisualParam = []; + for (let i = 0; i < count; i++) + { + const newObjVisualParam: { + ParamValue: number + } = { + ParamValue: 0 + }; + newObjVisualParam['ParamValue'] = buf.readUInt8(pos++); + this.VisualParam.push(newObjVisualParam); + } + count = buf.readUInt8(pos++); + this.AgentAccess = []; + for (let i = 0; i < count; i++) + { + const newObjAgentAccess: { + AgentLegacyAccess: number, + AgentMaxAccess: number + } = { + AgentLegacyAccess: 0, + AgentMaxAccess: 0 + }; + newObjAgentAccess['AgentLegacyAccess'] = buf.readUInt8(pos++); + newObjAgentAccess['AgentMaxAccess'] = buf.readUInt8(pos++); + this.AgentAccess.push(newObjAgentAccess); + } + count = buf.readUInt8(pos++); + this.AgentInfo = []; + for (let i = 0; i < count; i++) + { + const newObjAgentInfo: { + Flags: number + } = { + Flags: 0 + }; + newObjAgentInfo['Flags'] = buf.readUInt32LE(pos); + pos += 4; + this.AgentInfo.push(newObjAgentInfo); + } + count = buf.readUInt8(pos++); + this.AgentInventoryHost = []; + for (let i = 0; i < count; i++) + { + const newObjAgentInventoryHost: { + InventoryHost: string + } = { + InventoryHost: '' + }; + varLength = buf.readUInt8(pos++); + newObjAgentInventoryHost['InventoryHost'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.AgentInventoryHost.push(newObjAgentInventoryHost); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ClassifiedDelete.ts b/lib/classes/messages/ClassifiedDelete.ts new file mode 100644 index 0000000..0c217a6 --- /dev/null +++ b/lib/classes/messages/ClassifiedDelete.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ClassifiedDeleteMessage implements MessageBase +{ + name = 'ClassifiedDelete'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.ClassifiedDelete; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + ClassifiedID: UUID; + }; + + getSize(): number + { + return 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['ClassifiedID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + ClassifiedID: UUID + } = { + ClassifiedID: UUID.zero() + }; + newObjData['ClassifiedID'] = new UUID(buf, pos); + pos += 16; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ClassifiedGodDelete.ts b/lib/classes/messages/ClassifiedGodDelete.ts new file mode 100644 index 0000000..79bcac7 --- /dev/null +++ b/lib/classes/messages/ClassifiedGodDelete.ts @@ -0,0 +1,73 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ClassifiedGodDeleteMessage implements MessageBase +{ + name = 'ClassifiedGodDelete'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.ClassifiedGodDelete; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + ClassifiedID: UUID; + QueryID: UUID; + }; + + getSize(): number + { + return 64; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['ClassifiedID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['QueryID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + ClassifiedID: UUID, + QueryID: UUID + } = { + ClassifiedID: UUID.zero(), + QueryID: UUID.zero() + }; + newObjData['ClassifiedID'] = new UUID(buf, pos); + pos += 16; + newObjData['QueryID'] = new UUID(buf, pos); + pos += 16; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ClassifiedInfoReply.ts b/lib/classes/messages/ClassifiedInfoReply.ts new file mode 100644 index 0000000..8aa9ddd --- /dev/null +++ b/lib/classes/messages/ClassifiedInfoReply.ts @@ -0,0 +1,166 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ClassifiedInfoReplyMessage implements MessageBase +{ + name = 'ClassifiedInfoReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.ClassifiedInfoReply; + + AgentData: { + AgentID: UUID; + }; + Data: { + ClassifiedID: UUID; + CreatorID: UUID; + CreationDate: number; + ExpirationDate: number; + Category: number; + Name: string; + Desc: string; + ParcelID: UUID; + ParentEstate: number; + SnapshotID: UUID; + SimName: string; + PosGlobal: Vector3; + ParcelName: string; + ClassifiedFlags: number; + PriceForListing: number; + }; + + getSize(): number + { + return (this.Data['Name'].length + 1 + this.Data['Desc'].length + 2 + this.Data['SimName'].length + 1 + this.Data['ParcelName'].length + 1) + 125; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['ClassifiedID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['CreatorID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.Data['CreationDate'], pos); + pos += 4; + buf.writeUInt32LE(this.Data['ExpirationDate'], pos); + pos += 4; + buf.writeUInt32LE(this.Data['Category'], pos); + pos += 4; + buf.writeUInt8(this.Data['Name'].length, pos++); + buf.write(this.Data['Name'], pos); + pos += this.Data['Name'].length; + buf.writeUInt16LE(this.Data['Desc'].length, pos); + pos += 2; + buf.write(this.Data['Desc'], pos); + pos += this.Data['Desc'].length; + this.Data['ParcelID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.Data['ParentEstate'], pos); + pos += 4; + this.Data['SnapshotID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.Data['SimName'].length, pos++); + buf.write(this.Data['SimName'], pos); + pos += this.Data['SimName'].length; + this.Data['PosGlobal'].writeToBuffer(buf, pos, true); + pos += 24; + buf.writeUInt8(this.Data['ParcelName'].length, pos++); + buf.write(this.Data['ParcelName'], pos); + pos += this.Data['ParcelName'].length; + buf.writeUInt8(this.Data['ClassifiedFlags'], pos++); + buf.writeInt32LE(this.Data['PriceForListing'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + ClassifiedID: UUID, + CreatorID: UUID, + CreationDate: number, + ExpirationDate: number, + Category: number, + Name: string, + Desc: string, + ParcelID: UUID, + ParentEstate: number, + SnapshotID: UUID, + SimName: string, + PosGlobal: Vector3, + ParcelName: string, + ClassifiedFlags: number, + PriceForListing: number + } = { + ClassifiedID: UUID.zero(), + CreatorID: UUID.zero(), + CreationDate: 0, + ExpirationDate: 0, + Category: 0, + Name: '', + Desc: '', + ParcelID: UUID.zero(), + ParentEstate: 0, + SnapshotID: UUID.zero(), + SimName: '', + PosGlobal: Vector3.getZero(), + ParcelName: '', + ClassifiedFlags: 0, + PriceForListing: 0 + }; + newObjData['ClassifiedID'] = new UUID(buf, pos); + pos += 16; + newObjData['CreatorID'] = new UUID(buf, pos); + pos += 16; + newObjData['CreationDate'] = buf.readUInt32LE(pos); + pos += 4; + newObjData['ExpirationDate'] = buf.readUInt32LE(pos); + pos += 4; + newObjData['Category'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjData['Desc'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjData['ParcelID'] = new UUID(buf, pos); + pos += 16; + newObjData['ParentEstate'] = buf.readUInt32LE(pos); + pos += 4; + newObjData['SnapshotID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjData['SimName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjData['PosGlobal'] = new Vector3(buf, pos, true); + pos += 24; + varLength = buf.readUInt8(pos++); + newObjData['ParcelName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjData['ClassifiedFlags'] = buf.readUInt8(pos++); + newObjData['PriceForListing'] = buf.readInt32LE(pos); + pos += 4; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ClassifiedInfoRequest.ts b/lib/classes/messages/ClassifiedInfoRequest.ts new file mode 100644 index 0000000..87e85a6 --- /dev/null +++ b/lib/classes/messages/ClassifiedInfoRequest.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ClassifiedInfoRequestMessage implements MessageBase +{ + name = 'ClassifiedInfoRequest'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ClassifiedInfoRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + ClassifiedID: UUID; + }; + + getSize(): number + { + return 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['ClassifiedID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + ClassifiedID: UUID + } = { + ClassifiedID: UUID.zero() + }; + newObjData['ClassifiedID'] = new UUID(buf, pos); + pos += 16; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ClassifiedInfoUpdate.ts b/lib/classes/messages/ClassifiedInfoUpdate.ts new file mode 100644 index 0000000..e40624d --- /dev/null +++ b/lib/classes/messages/ClassifiedInfoUpdate.ts @@ -0,0 +1,134 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ClassifiedInfoUpdateMessage implements MessageBase +{ + name = 'ClassifiedInfoUpdate'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.ClassifiedInfoUpdate; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + ClassifiedID: UUID; + Category: number; + Name: string; + Desc: string; + ParcelID: UUID; + ParentEstate: number; + SnapshotID: UUID; + PosGlobal: Vector3; + ClassifiedFlags: number; + PriceForListing: number; + }; + + getSize(): number + { + return (this.Data['Name'].length + 1 + this.Data['Desc'].length + 2) + 117; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['ClassifiedID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.Data['Category'], pos); + pos += 4; + buf.writeUInt8(this.Data['Name'].length, pos++); + buf.write(this.Data['Name'], pos); + pos += this.Data['Name'].length; + buf.writeUInt16LE(this.Data['Desc'].length, pos); + pos += 2; + buf.write(this.Data['Desc'], pos); + pos += this.Data['Desc'].length; + this.Data['ParcelID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.Data['ParentEstate'], pos); + pos += 4; + this.Data['SnapshotID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['PosGlobal'].writeToBuffer(buf, pos, true); + pos += 24; + buf.writeUInt8(this.Data['ClassifiedFlags'], pos++); + buf.writeInt32LE(this.Data['PriceForListing'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + ClassifiedID: UUID, + Category: number, + Name: string, + Desc: string, + ParcelID: UUID, + ParentEstate: number, + SnapshotID: UUID, + PosGlobal: Vector3, + ClassifiedFlags: number, + PriceForListing: number + } = { + ClassifiedID: UUID.zero(), + Category: 0, + Name: '', + Desc: '', + ParcelID: UUID.zero(), + ParentEstate: 0, + SnapshotID: UUID.zero(), + PosGlobal: Vector3.getZero(), + ClassifiedFlags: 0, + PriceForListing: 0 + }; + newObjData['ClassifiedID'] = new UUID(buf, pos); + pos += 16; + newObjData['Category'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjData['Desc'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjData['ParcelID'] = new UUID(buf, pos); + pos += 16; + newObjData['ParentEstate'] = buf.readUInt32LE(pos); + pos += 4; + newObjData['SnapshotID'] = new UUID(buf, pos); + pos += 16; + newObjData['PosGlobal'] = new Vector3(buf, pos, true); + pos += 24; + newObjData['ClassifiedFlags'] = buf.readUInt8(pos++); + newObjData['PriceForListing'] = buf.readInt32LE(pos); + pos += 4; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ClearFollowCamProperties.ts b/lib/classes/messages/ClearFollowCamProperties.ts new file mode 100644 index 0000000..4f64de1 --- /dev/null +++ b/lib/classes/messages/ClearFollowCamProperties.ts @@ -0,0 +1,46 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ClearFollowCamPropertiesMessage implements MessageBase +{ + name = 'ClearFollowCamProperties'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.ClearFollowCamProperties; + + ObjectData: { + ObjectID: UUID; + }; + + getSize(): number + { + return 16; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.ObjectData['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjObjectData: { + ObjectID: UUID + } = { + ObjectID: UUID.zero() + }; + newObjObjectData['ObjectID'] = new UUID(buf, pos); + pos += 16; + this.ObjectData = newObjObjectData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/CloseCircuit.ts b/lib/classes/messages/CloseCircuit.ts new file mode 100644 index 0000000..214f97c --- /dev/null +++ b/lib/classes/messages/CloseCircuit.ts @@ -0,0 +1,29 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class CloseCircuitMessage implements MessageBase +{ + name = 'CloseCircuit'; + messageFlags = MessageFlags.FrequencyFixed; + id = Message.CloseCircuit; + + + getSize(): number + { + return 0; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + return 0; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + return 0; + } +} + diff --git a/lib/classes/messages/CoarseLocationUpdate.ts b/lib/classes/messages/CoarseLocationUpdate.ts new file mode 100644 index 0000000..3175ef8 --- /dev/null +++ b/lib/classes/messages/CoarseLocationUpdate.ts @@ -0,0 +1,107 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class CoarseLocationUpdateMessage implements MessageBase +{ + name = 'CoarseLocationUpdate'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyMedium; + id = Message.CoarseLocationUpdate; + + Location: { + X: number; + Y: number; + Z: number; + }[]; + Index: { + You: number; + Prey: number; + }; + AgentData: { + AgentID: UUID; + }[]; + + getSize(): number + { + return ((3) * this.Location.length) + ((16) * this.AgentData.length) + 6; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let count = this.Location.length; + buf.writeUInt8(this.Location.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt8(this.Location[i]['X'], pos++); + buf.writeUInt8(this.Location[i]['Y'], pos++); + buf.writeUInt8(this.Location[i]['Z'], pos++); + } + buf.writeInt16LE(this.Index['You'], pos); + pos += 2; + buf.writeInt16LE(this.Index['Prey'], pos); + pos += 2; + count = this.AgentData.length; + buf.writeUInt8(this.AgentData.length, pos++); + for (let i = 0; i < count; i++) + { + this.AgentData[i]['AgentID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + let count = buf.readUInt8(pos++); + this.Location = []; + for (let i = 0; i < count; i++) + { + const newObjLocation: { + X: number, + Y: number, + Z: number + } = { + X: 0, + Y: 0, + Z: 0 + }; + newObjLocation['X'] = buf.readUInt8(pos++); + newObjLocation['Y'] = buf.readUInt8(pos++); + newObjLocation['Z'] = buf.readUInt8(pos++); + this.Location.push(newObjLocation); + } + const newObjIndex: { + You: number, + Prey: number + } = { + You: 0, + Prey: 0 + }; + newObjIndex['You'] = buf.readInt16LE(pos); + pos += 2; + newObjIndex['Prey'] = buf.readInt16LE(pos); + pos += 2; + this.Index = newObjIndex; + count = buf.readUInt8(pos++); + this.AgentData = []; + for (let i = 0; i < count; i++) + { + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData.push(newObjAgentData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/CompleteAgentMovement.ts b/lib/classes/messages/CompleteAgentMovement.ts new file mode 100644 index 0000000..9865341 --- /dev/null +++ b/lib/classes/messages/CompleteAgentMovement.ts @@ -0,0 +1,60 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class CompleteAgentMovementMessage implements MessageBase +{ + name = 'CompleteAgentMovement'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.CompleteAgentMovement; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + CircuitCode: number; + }; + + getSize(): number + { + return 36; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.AgentData['CircuitCode'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + CircuitCode: number + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + CircuitCode: 0 + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['CircuitCode'] = buf.readUInt32LE(pos); + pos += 4; + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/CompleteAuction.ts b/lib/classes/messages/CompleteAuction.ts new file mode 100644 index 0000000..7e83474 --- /dev/null +++ b/lib/classes/messages/CompleteAuction.ts @@ -0,0 +1,56 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class CompleteAuctionMessage implements MessageBase +{ + name = 'CompleteAuction'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.CompleteAuction; + + ParcelData: { + ParcelID: UUID; + }[]; + + getSize(): number + { + return ((16) * this.ParcelData.length) + 1; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.ParcelData.length; + buf.writeUInt8(this.ParcelData.length, pos++); + for (let i = 0; i < count; i++) + { + this.ParcelData[i]['ParcelID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.ParcelData = []; + for (let i = 0; i < count; i++) + { + const newObjParcelData: { + ParcelID: UUID + } = { + ParcelID: UUID.zero() + }; + newObjParcelData['ParcelID'] = new UUID(buf, pos); + pos += 16; + this.ParcelData.push(newObjParcelData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/CompletePingCheck.ts b/lib/classes/messages/CompletePingCheck.ts new file mode 100644 index 0000000..5ffa241 --- /dev/null +++ b/lib/classes/messages/CompletePingCheck.ts @@ -0,0 +1,43 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class CompletePingCheckMessage implements MessageBase +{ + name = 'CompletePingCheck'; + messageFlags = MessageFlags.FrequencyHigh; + id = Message.CompletePingCheck; + + PingID: { + PingID: number; + }; + + getSize(): number + { + return 1; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt8(this.PingID['PingID'], pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjPingID: { + PingID: number + } = { + PingID: 0 + }; + newObjPingID['PingID'] = buf.readUInt8(pos++); + this.PingID = newObjPingID; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ConfirmAuctionStart.ts b/lib/classes/messages/ConfirmAuctionStart.ts new file mode 100644 index 0000000..453a113 --- /dev/null +++ b/lib/classes/messages/ConfirmAuctionStart.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ConfirmAuctionStartMessage implements MessageBase +{ + name = 'ConfirmAuctionStart'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.ConfirmAuctionStart; + + AuctionData: { + ParcelID: UUID; + AuctionID: number; + }; + + getSize(): number + { + return 20; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AuctionData['ParcelID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.AuctionData['AuctionID'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAuctionData: { + ParcelID: UUID, + AuctionID: number + } = { + ParcelID: UUID.zero(), + AuctionID: 0 + }; + newObjAuctionData['ParcelID'] = new UUID(buf, pos); + pos += 16; + newObjAuctionData['AuctionID'] = buf.readUInt32LE(pos); + pos += 4; + this.AuctionData = newObjAuctionData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ConfirmEnableSimulator.ts b/lib/classes/messages/ConfirmEnableSimulator.ts new file mode 100644 index 0000000..83ad4d4 --- /dev/null +++ b/lib/classes/messages/ConfirmEnableSimulator.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ConfirmEnableSimulatorMessage implements MessageBase +{ + name = 'ConfirmEnableSimulator'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyMedium; + id = Message.ConfirmEnableSimulator; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + + getSize(): number + { + return 32; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ConfirmXferPacket.ts b/lib/classes/messages/ConfirmXferPacket.ts new file mode 100644 index 0000000..e325a3b --- /dev/null +++ b/lib/classes/messages/ConfirmXferPacket.ts @@ -0,0 +1,55 @@ +// This file has been automatically generated by writeMessageClasses.js + +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ConfirmXferPacketMessage implements MessageBase +{ + name = 'ConfirmXferPacket'; + messageFlags = MessageFlags.FrequencyHigh; + id = Message.ConfirmXferPacket; + + XferID: { + ID: Long; + Packet: number; + }; + + getSize(): number + { + return 12; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeInt32LE(this.XferID['ID'].low, pos); + pos += 4; + buf.writeInt32LE(this.XferID['ID'].high, pos); + pos += 4; + buf.writeUInt32LE(this.XferID['Packet'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjXferID: { + ID: Long, + Packet: number + } = { + ID: Long.ZERO, + Packet: 0 + }; + newObjXferID['ID'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjXferID['Packet'] = buf.readUInt32LE(pos); + pos += 4; + this.XferID = newObjXferID; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/CopyInventoryFromNotecard.ts b/lib/classes/messages/CopyInventoryFromNotecard.ts new file mode 100644 index 0000000..44494ef --- /dev/null +++ b/lib/classes/messages/CopyInventoryFromNotecard.ts @@ -0,0 +1,103 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class CopyInventoryFromNotecardMessage implements MessageBase +{ + name = 'CopyInventoryFromNotecard'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyLow; + id = Message.CopyInventoryFromNotecard; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + NotecardData: { + NotecardItemID: UUID; + ObjectID: UUID; + }; + InventoryData: { + ItemID: UUID; + FolderID: UUID; + }[]; + + getSize(): number + { + return ((32) * this.InventoryData.length) + 65; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.NotecardData['NotecardItemID'].writeToBuffer(buf, pos); + pos += 16; + this.NotecardData['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.InventoryData.length; + buf.writeUInt8(this.InventoryData.length, pos++); + for (let i = 0; i < count; i++) + { + this.InventoryData[i]['ItemID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData[i]['FolderID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjNotecardData: { + NotecardItemID: UUID, + ObjectID: UUID + } = { + NotecardItemID: UUID.zero(), + ObjectID: UUID.zero() + }; + newObjNotecardData['NotecardItemID'] = new UUID(buf, pos); + pos += 16; + newObjNotecardData['ObjectID'] = new UUID(buf, pos); + pos += 16; + this.NotecardData = newObjNotecardData; + const count = buf.readUInt8(pos++); + this.InventoryData = []; + for (let i = 0; i < count; i++) + { + const newObjInventoryData: { + ItemID: UUID, + FolderID: UUID + } = { + ItemID: UUID.zero(), + FolderID: UUID.zero() + }; + newObjInventoryData['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['FolderID'] = new UUID(buf, pos); + pos += 16; + this.InventoryData.push(newObjInventoryData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/CopyInventoryItem.ts b/lib/classes/messages/CopyInventoryItem.ts new file mode 100644 index 0000000..371bdfc --- /dev/null +++ b/lib/classes/messages/CopyInventoryItem.ts @@ -0,0 +1,116 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class CopyInventoryItemMessage implements MessageBase +{ + name = 'CopyInventoryItem'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.CopyInventoryItem; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + InventoryData: { + CallbackID: number; + OldAgentID: UUID; + OldItemID: UUID; + NewFolderID: UUID; + NewName: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.InventoryData, 'NewName', 1) + 52) * this.InventoryData.length) + 33; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.InventoryData.length; + buf.writeUInt8(this.InventoryData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.InventoryData[i]['CallbackID'], pos); + pos += 4; + this.InventoryData[i]['OldAgentID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData[i]['OldItemID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData[i]['NewFolderID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.InventoryData[i]['NewName'].length, pos++); + buf.write(this.InventoryData[i]['NewName'], pos); + pos += this.InventoryData[i]['NewName'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.InventoryData = []; + for (let i = 0; i < count; i++) + { + const newObjInventoryData: { + CallbackID: number, + OldAgentID: UUID, + OldItemID: UUID, + NewFolderID: UUID, + NewName: string + } = { + CallbackID: 0, + OldAgentID: UUID.zero(), + OldItemID: UUID.zero(), + NewFolderID: UUID.zero(), + NewName: '' + }; + newObjInventoryData['CallbackID'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['OldAgentID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['OldItemID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['NewFolderID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjInventoryData['NewName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.InventoryData.push(newObjInventoryData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/CreateGroupReply.ts b/lib/classes/messages/CreateGroupReply.ts new file mode 100644 index 0000000..106a36b --- /dev/null +++ b/lib/classes/messages/CreateGroupReply.ts @@ -0,0 +1,73 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class CreateGroupReplyMessage implements MessageBase +{ + name = 'CreateGroupReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.CreateGroupReply; + + AgentData: { + AgentID: UUID; + }; + ReplyData: { + GroupID: UUID; + Success: boolean; + Message: string; + }; + + getSize(): number + { + return (this.ReplyData['Message'].length + 1) + 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.ReplyData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.ReplyData['Success']) ? 1 : 0, pos++); + buf.writeUInt8(this.ReplyData['Message'].length, pos++); + buf.write(this.ReplyData['Message'], pos); + pos += this.ReplyData['Message'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjReplyData: { + GroupID: UUID, + Success: boolean, + Message: string + } = { + GroupID: UUID.zero(), + Success: false, + Message: '' + }; + newObjReplyData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjReplyData['Success'] = (buf.readUInt8(pos++) === 1); + varLength = buf.readUInt8(pos++); + newObjReplyData['Message'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ReplyData = newObjReplyData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/CreateGroupRequest.ts b/lib/classes/messages/CreateGroupRequest.ts new file mode 100644 index 0000000..aaf7358 --- /dev/null +++ b/lib/classes/messages/CreateGroupRequest.ts @@ -0,0 +1,113 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class CreateGroupRequestMessage implements MessageBase +{ + name = 'CreateGroupRequest'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.CreateGroupRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + GroupData: { + Name: string; + Charter: string; + ShowInList: boolean; + InsigniaID: UUID; + MembershipFee: number; + OpenEnrollment: boolean; + AllowPublish: boolean; + MaturePublish: boolean; + }; + + getSize(): number + { + return (this.GroupData['Name'].length + 1 + this.GroupData['Charter'].length + 2) + 56; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.GroupData['Name'].length, pos++); + buf.write(this.GroupData['Name'], pos); + pos += this.GroupData['Name'].length; + buf.writeUInt16LE(this.GroupData['Charter'].length, pos); + pos += 2; + buf.write(this.GroupData['Charter'], pos); + pos += this.GroupData['Charter'].length; + buf.writeUInt8((this.GroupData['ShowInList']) ? 1 : 0, pos++); + this.GroupData['InsigniaID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.GroupData['MembershipFee'], pos); + pos += 4; + buf.writeUInt8((this.GroupData['OpenEnrollment']) ? 1 : 0, pos++); + buf.writeUInt8((this.GroupData['AllowPublish']) ? 1 : 0, pos++); + buf.writeUInt8((this.GroupData['MaturePublish']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjGroupData: { + Name: string, + Charter: string, + ShowInList: boolean, + InsigniaID: UUID, + MembershipFee: number, + OpenEnrollment: boolean, + AllowPublish: boolean, + MaturePublish: boolean + } = { + Name: '', + Charter: '', + ShowInList: false, + InsigniaID: UUID.zero(), + MembershipFee: 0, + OpenEnrollment: false, + AllowPublish: false, + MaturePublish: false + }; + varLength = buf.readUInt8(pos++); + newObjGroupData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjGroupData['Charter'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjGroupData['ShowInList'] = (buf.readUInt8(pos++) === 1); + newObjGroupData['InsigniaID'] = new UUID(buf, pos); + pos += 16; + newObjGroupData['MembershipFee'] = buf.readInt32LE(pos); + pos += 4; + newObjGroupData['OpenEnrollment'] = (buf.readUInt8(pos++) === 1); + newObjGroupData['AllowPublish'] = (buf.readUInt8(pos++) === 1); + newObjGroupData['MaturePublish'] = (buf.readUInt8(pos++) === 1); + this.GroupData = newObjGroupData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/CreateGroupRequestExtended.ts b/lib/classes/messages/CreateGroupRequestExtended.ts new file mode 100644 index 0000000..77734ac --- /dev/null +++ b/lib/classes/messages/CreateGroupRequestExtended.ts @@ -0,0 +1,120 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class CreateGroupRequestExtendedMessage implements MessageBase +{ + name = 'CreateGroupRequestExtended'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.CreateGroupRequestExtended; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + GroupLimit: number; + }; + GroupData: { + Name: string; + Charter: string; + ShowInList: boolean; + InsigniaID: UUID; + MembershipFee: number; + OpenEnrollment: boolean; + AllowPublish: boolean; + MaturePublish: boolean; + }; + + getSize(): number + { + return (this.GroupData['Name'].length + 1 + this.GroupData['Charter'].length + 2) + 60; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.AgentData['GroupLimit'], pos); + pos += 4; + buf.writeUInt8(this.GroupData['Name'].length, pos++); + buf.write(this.GroupData['Name'], pos); + pos += this.GroupData['Name'].length; + buf.writeUInt16LE(this.GroupData['Charter'].length, pos); + pos += 2; + buf.write(this.GroupData['Charter'], pos); + pos += this.GroupData['Charter'].length; + buf.writeUInt8((this.GroupData['ShowInList']) ? 1 : 0, pos++); + this.GroupData['InsigniaID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.GroupData['MembershipFee'], pos); + pos += 4; + buf.writeUInt8((this.GroupData['OpenEnrollment']) ? 1 : 0, pos++); + buf.writeUInt8((this.GroupData['AllowPublish']) ? 1 : 0, pos++); + buf.writeUInt8((this.GroupData['MaturePublish']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + GroupLimit: number + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + GroupLimit: 0 + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupLimit'] = buf.readInt32LE(pos); + pos += 4; + this.AgentData = newObjAgentData; + const newObjGroupData: { + Name: string, + Charter: string, + ShowInList: boolean, + InsigniaID: UUID, + MembershipFee: number, + OpenEnrollment: boolean, + AllowPublish: boolean, + MaturePublish: boolean + } = { + Name: '', + Charter: '', + ShowInList: false, + InsigniaID: UUID.zero(), + MembershipFee: 0, + OpenEnrollment: false, + AllowPublish: false, + MaturePublish: false + }; + varLength = buf.readUInt8(pos++); + newObjGroupData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjGroupData['Charter'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjGroupData['ShowInList'] = (buf.readUInt8(pos++) === 1); + newObjGroupData['InsigniaID'] = new UUID(buf, pos); + pos += 16; + newObjGroupData['MembershipFee'] = buf.readInt32LE(pos); + pos += 4; + newObjGroupData['OpenEnrollment'] = (buf.readUInt8(pos++) === 1); + newObjGroupData['AllowPublish'] = (buf.readUInt8(pos++) === 1); + newObjGroupData['MaturePublish'] = (buf.readUInt8(pos++) === 1); + this.GroupData = newObjGroupData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/CreateInventoryFolder.ts b/lib/classes/messages/CreateInventoryFolder.ts new file mode 100644 index 0000000..bf3cbc3 --- /dev/null +++ b/lib/classes/messages/CreateInventoryFolder.ts @@ -0,0 +1,87 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class CreateInventoryFolderMessage implements MessageBase +{ + name = 'CreateInventoryFolder'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.CreateInventoryFolder; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + FolderData: { + FolderID: UUID; + ParentID: UUID; + Type: number; + Name: string; + }; + + getSize(): number + { + return (this.FolderData['Name'].length + 1) + 65; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.FolderData['FolderID'].writeToBuffer(buf, pos); + pos += 16; + this.FolderData['ParentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt8(this.FolderData['Type'], pos++); + buf.writeUInt8(this.FolderData['Name'].length, pos++); + buf.write(this.FolderData['Name'], pos); + pos += this.FolderData['Name'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjFolderData: { + FolderID: UUID, + ParentID: UUID, + Type: number, + Name: string + } = { + FolderID: UUID.zero(), + ParentID: UUID.zero(), + Type: 0, + Name: '' + }; + newObjFolderData['FolderID'] = new UUID(buf, pos); + pos += 16; + newObjFolderData['ParentID'] = new UUID(buf, pos); + pos += 16; + newObjFolderData['Type'] = buf.readInt8(pos++); + varLength = buf.readUInt8(pos++); + newObjFolderData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.FolderData = newObjFolderData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/CreateInventoryItem.ts b/lib/classes/messages/CreateInventoryItem.ts new file mode 100644 index 0000000..94b7706 --- /dev/null +++ b/lib/classes/messages/CreateInventoryItem.ts @@ -0,0 +1,120 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class CreateInventoryItemMessage implements MessageBase +{ + name = 'CreateInventoryItem'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.CreateInventoryItem; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + InventoryBlock: { + CallbackID: number; + FolderID: UUID; + TransactionID: UUID; + NextOwnerMask: number; + Type: number; + InvType: number; + WearableType: number; + Name: string; + Description: string; + }; + + getSize(): number + { + return (this.InventoryBlock['Name'].length + 1 + this.InventoryBlock['Description'].length + 1) + 75; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.InventoryBlock['CallbackID'], pos); + pos += 4; + this.InventoryBlock['FolderID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryBlock['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.InventoryBlock['NextOwnerMask'], pos); + pos += 4; + buf.writeInt8(this.InventoryBlock['Type'], pos++); + buf.writeInt8(this.InventoryBlock['InvType'], pos++); + buf.writeUInt8(this.InventoryBlock['WearableType'], pos++); + buf.writeUInt8(this.InventoryBlock['Name'].length, pos++); + buf.write(this.InventoryBlock['Name'], pos); + pos += this.InventoryBlock['Name'].length; + buf.writeUInt8(this.InventoryBlock['Description'].length, pos++); + buf.write(this.InventoryBlock['Description'], pos); + pos += this.InventoryBlock['Description'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjInventoryBlock: { + CallbackID: number, + FolderID: UUID, + TransactionID: UUID, + NextOwnerMask: number, + Type: number, + InvType: number, + WearableType: number, + Name: string, + Description: string + } = { + CallbackID: 0, + FolderID: UUID.zero(), + TransactionID: UUID.zero(), + NextOwnerMask: 0, + Type: 0, + InvType: 0, + WearableType: 0, + Name: '', + Description: '' + }; + newObjInventoryBlock['CallbackID'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryBlock['FolderID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryBlock['TransactionID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryBlock['NextOwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryBlock['Type'] = buf.readInt8(pos++); + newObjInventoryBlock['InvType'] = buf.readInt8(pos++); + newObjInventoryBlock['WearableType'] = buf.readUInt8(pos++); + varLength = buf.readUInt8(pos++); + newObjInventoryBlock['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjInventoryBlock['Description'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.InventoryBlock = newObjInventoryBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/CreateLandmarkForEvent.ts b/lib/classes/messages/CreateLandmarkForEvent.ts new file mode 100644 index 0000000..c244ce9 --- /dev/null +++ b/lib/classes/messages/CreateLandmarkForEvent.ts @@ -0,0 +1,88 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class CreateLandmarkForEventMessage implements MessageBase +{ + name = 'CreateLandmarkForEvent'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.CreateLandmarkForEvent; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + EventData: { + EventID: number; + }; + InventoryBlock: { + FolderID: UUID; + Name: string; + }; + + getSize(): number + { + return (this.InventoryBlock['Name'].length + 1) + 52; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.EventData['EventID'], pos); + pos += 4; + this.InventoryBlock['FolderID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.InventoryBlock['Name'].length, pos++); + buf.write(this.InventoryBlock['Name'], pos); + pos += this.InventoryBlock['Name'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjEventData: { + EventID: number + } = { + EventID: 0 + }; + newObjEventData['EventID'] = buf.readUInt32LE(pos); + pos += 4; + this.EventData = newObjEventData; + const newObjInventoryBlock: { + FolderID: UUID, + Name: string + } = { + FolderID: UUID.zero(), + Name: '' + }; + newObjInventoryBlock['FolderID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjInventoryBlock['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.InventoryBlock = newObjInventoryBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/CreateNewOutfitAttachments.ts b/lib/classes/messages/CreateNewOutfitAttachments.ts new file mode 100644 index 0000000..b1ef1e2 --- /dev/null +++ b/lib/classes/messages/CreateNewOutfitAttachments.ts @@ -0,0 +1,96 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class CreateNewOutfitAttachmentsMessage implements MessageBase +{ + name = 'CreateNewOutfitAttachments'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.CreateNewOutfitAttachments; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + HeaderData: { + NewFolderID: UUID; + }; + ObjectData: { + OldItemID: UUID; + OldFolderID: UUID; + }[]; + + getSize(): number + { + return ((32) * this.ObjectData.length) + 49; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.HeaderData['NewFolderID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + this.ObjectData[i]['OldItemID'].writeToBuffer(buf, pos); + pos += 16; + this.ObjectData[i]['OldFolderID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjHeaderData: { + NewFolderID: UUID + } = { + NewFolderID: UUID.zero() + }; + newObjHeaderData['NewFolderID'] = new UUID(buf, pos); + pos += 16; + this.HeaderData = newObjHeaderData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + OldItemID: UUID, + OldFolderID: UUID + } = { + OldItemID: UUID.zero(), + OldFolderID: UUID.zero() + }; + newObjObjectData['OldItemID'] = new UUID(buf, pos); + pos += 16; + newObjObjectData['OldFolderID'] = new UUID(buf, pos); + pos += 16; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/CreateTrustedCircuit.ts b/lib/classes/messages/CreateTrustedCircuit.ts new file mode 100644 index 0000000..3d33985 --- /dev/null +++ b/lib/classes/messages/CreateTrustedCircuit.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class CreateTrustedCircuitMessage implements MessageBase +{ + name = 'CreateTrustedCircuit'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.CreateTrustedCircuit; + + DataBlock: { + EndPointID: UUID; + Digest: Buffer; + }; + + getSize(): number + { + return 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.DataBlock['EndPointID'].writeToBuffer(buf, pos); + pos += 16; + this.DataBlock['Digest'].copy(buf, pos); + pos += 32; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjDataBlock: { + EndPointID: UUID, + Digest: Buffer + } = { + EndPointID: UUID.zero(), + Digest: Buffer.allocUnsafe(0) + }; + newObjDataBlock['EndPointID'] = new UUID(buf, pos); + pos += 16; + newObjDataBlock['Digest'] = buf.slice(pos, pos + 32); + pos += 32; + this.DataBlock = newObjDataBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/CrossedRegion.ts b/lib/classes/messages/CrossedRegion.ts new file mode 100644 index 0000000..2c9a3de --- /dev/null +++ b/lib/classes/messages/CrossedRegion.ts @@ -0,0 +1,116 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {IPAddress} from '../IPAddress'; +import {Vector3} from '../Vector3'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class CrossedRegionMessage implements MessageBase +{ + name = 'CrossedRegion'; + messageFlags = MessageFlags.Trusted | MessageFlags.Blacklisted | MessageFlags.FrequencyMedium; + id = Message.CrossedRegion; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + RegionData: { + SimIP: IPAddress; + SimPort: number; + RegionHandle: Long; + SeedCapability: string; + }; + Info: { + Position: Vector3; + LookAt: Vector3; + }; + + getSize(): number + { + return (this.RegionData['SeedCapability'].length + 2) + 70; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.RegionData['SimIP'].writeToBuffer(buf, pos); + pos += 4; + buf.writeUInt16LE(this.RegionData['SimPort'], pos); + pos += 2; + buf.writeInt32LE(this.RegionData['RegionHandle'].low, pos); + pos += 4; + buf.writeInt32LE(this.RegionData['RegionHandle'].high, pos); + pos += 4; + buf.writeUInt16LE(this.RegionData['SeedCapability'].length, pos); + pos += 2; + buf.write(this.RegionData['SeedCapability'], pos); + pos += this.RegionData['SeedCapability'].length; + this.Info['Position'].writeToBuffer(buf, pos, false); + pos += 12; + this.Info['LookAt'].writeToBuffer(buf, pos, false); + pos += 12; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjRegionData: { + SimIP: IPAddress, + SimPort: number, + RegionHandle: Long, + SeedCapability: string + } = { + SimIP: IPAddress.zero(), + SimPort: 0, + RegionHandle: Long.ZERO, + SeedCapability: '' + }; + newObjRegionData['SimIP'] = new IPAddress(buf, pos); + pos += 4; + newObjRegionData['SimPort'] = buf.readUInt16LE(pos); + pos += 2; + newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjRegionData['SeedCapability'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.RegionData = newObjRegionData; + const newObjInfo: { + Position: Vector3, + LookAt: Vector3 + } = { + Position: Vector3.getZero(), + LookAt: Vector3.getZero() + }; + newObjInfo['Position'] = new Vector3(buf, pos, false); + pos += 12; + newObjInfo['LookAt'] = new Vector3(buf, pos, false); + pos += 12; + this.Info = newObjInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DataHomeLocationReply.ts b/lib/classes/messages/DataHomeLocationReply.ts new file mode 100644 index 0000000..cea0caa --- /dev/null +++ b/lib/classes/messages/DataHomeLocationReply.ts @@ -0,0 +1,71 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DataHomeLocationReplyMessage implements MessageBase +{ + name = 'DataHomeLocationReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.DataHomeLocationReply; + + Info: { + AgentID: UUID; + RegionHandle: Long; + Position: Vector3; + LookAt: Vector3; + }; + + getSize(): number + { + return 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.Info['AgentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.Info['RegionHandle'].low, pos); + pos += 4; + buf.writeInt32LE(this.Info['RegionHandle'].high, pos); + pos += 4; + this.Info['Position'].writeToBuffer(buf, pos, false); + pos += 12; + this.Info['LookAt'].writeToBuffer(buf, pos, false); + pos += 12; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjInfo: { + AgentID: UUID, + RegionHandle: Long, + Position: Vector3, + LookAt: Vector3 + } = { + AgentID: UUID.zero(), + RegionHandle: Long.ZERO, + Position: Vector3.getZero(), + LookAt: Vector3.getZero() + }; + newObjInfo['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjInfo['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjInfo['Position'] = new Vector3(buf, pos, false); + pos += 12; + newObjInfo['LookAt'] = new Vector3(buf, pos, false); + pos += 12; + this.Info = newObjInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DataHomeLocationRequest.ts b/lib/classes/messages/DataHomeLocationRequest.ts new file mode 100644 index 0000000..7841efc --- /dev/null +++ b/lib/classes/messages/DataHomeLocationRequest.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DataHomeLocationRequestMessage implements MessageBase +{ + name = 'DataHomeLocationRequest'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.DataHomeLocationRequest; + + Info: { + AgentID: UUID; + KickedFromEstateID: number; + }; + AgentInfo: { + AgentEffectiveMaturity: number; + }; + + getSize(): number + { + return 24; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.Info['AgentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.Info['KickedFromEstateID'], pos); + pos += 4; + buf.writeUInt32LE(this.AgentInfo['AgentEffectiveMaturity'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjInfo: { + AgentID: UUID, + KickedFromEstateID: number + } = { + AgentID: UUID.zero(), + KickedFromEstateID: 0 + }; + newObjInfo['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjInfo['KickedFromEstateID'] = buf.readUInt32LE(pos); + pos += 4; + this.Info = newObjInfo; + const newObjAgentInfo: { + AgentEffectiveMaturity: number + } = { + AgentEffectiveMaturity: 0 + }; + newObjAgentInfo['AgentEffectiveMaturity'] = buf.readUInt32LE(pos); + pos += 4; + this.AgentInfo = newObjAgentInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DataServerLogout.ts b/lib/classes/messages/DataServerLogout.ts new file mode 100644 index 0000000..a56c215 --- /dev/null +++ b/lib/classes/messages/DataServerLogout.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {IPAddress} from '../IPAddress'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DataServerLogoutMessage implements MessageBase +{ + name = 'DataServerLogout'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.DataServerLogout; + + UserData: { + AgentID: UUID; + ViewerIP: IPAddress; + Disconnect: boolean; + SessionID: UUID; + }; + + getSize(): number + { + return 37; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.UserData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.UserData['ViewerIP'].writeToBuffer(buf, pos); + pos += 4; + buf.writeUInt8((this.UserData['Disconnect']) ? 1 : 0, pos++); + this.UserData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjUserData: { + AgentID: UUID, + ViewerIP: IPAddress, + Disconnect: boolean, + SessionID: UUID + } = { + AgentID: UUID.zero(), + ViewerIP: IPAddress.zero(), + Disconnect: false, + SessionID: UUID.zero() + }; + newObjUserData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjUserData['ViewerIP'] = new IPAddress(buf, pos); + pos += 4; + newObjUserData['Disconnect'] = (buf.readUInt8(pos++) === 1); + newObjUserData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.UserData = newObjUserData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DeRezAck.ts b/lib/classes/messages/DeRezAck.ts new file mode 100644 index 0000000..9ee0456 --- /dev/null +++ b/lib/classes/messages/DeRezAck.ts @@ -0,0 +1,51 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DeRezAckMessage implements MessageBase +{ + name = 'DeRezAck'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.DeRezAck; + + TransactionData: { + TransactionID: UUID; + Success: boolean; + }; + + getSize(): number + { + return 17; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.TransactionData['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.TransactionData['Success']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjTransactionData: { + TransactionID: UUID, + Success: boolean + } = { + TransactionID: UUID.zero(), + Success: false + }; + newObjTransactionData['TransactionID'] = new UUID(buf, pos); + pos += 16; + newObjTransactionData['Success'] = (buf.readUInt8(pos++) === 1); + this.TransactionData = newObjTransactionData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DeRezObject.ts b/lib/classes/messages/DeRezObject.ts new file mode 100644 index 0000000..25db630 --- /dev/null +++ b/lib/classes/messages/DeRezObject.ts @@ -0,0 +1,118 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DeRezObjectMessage implements MessageBase +{ + name = 'DeRezObject'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.DeRezObject; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + AgentBlock: { + GroupID: UUID; + Destination: number; + DestinationID: UUID; + TransactionID: UUID; + PacketCount: number; + PacketNumber: number; + }; + ObjectData: { + ObjectLocalID: number; + }[]; + + getSize(): number + { + return ((4) * this.ObjectData.length) + 84; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentBlock['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.AgentBlock['Destination'], pos++); + this.AgentBlock['DestinationID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentBlock['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.AgentBlock['PacketCount'], pos++); + buf.writeUInt8(this.AgentBlock['PacketNumber'], pos++); + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjAgentBlock: { + GroupID: UUID, + Destination: number, + DestinationID: UUID, + TransactionID: UUID, + PacketCount: number, + PacketNumber: number + } = { + GroupID: UUID.zero(), + Destination: 0, + DestinationID: UUID.zero(), + TransactionID: UUID.zero(), + PacketCount: 0, + PacketNumber: 0 + }; + newObjAgentBlock['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjAgentBlock['Destination'] = buf.readUInt8(pos++); + newObjAgentBlock['DestinationID'] = new UUID(buf, pos); + pos += 16; + newObjAgentBlock['TransactionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentBlock['PacketCount'] = buf.readUInt8(pos++); + newObjAgentBlock['PacketNumber'] = buf.readUInt8(pos++); + this.AgentBlock = newObjAgentBlock; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectLocalID: number + } = { + ObjectLocalID: 0 + }; + newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); + pos += 4; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DeactivateGestures.ts b/lib/classes/messages/DeactivateGestures.ts new file mode 100644 index 0000000..c7da0a1 --- /dev/null +++ b/lib/classes/messages/DeactivateGestures.ts @@ -0,0 +1,90 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DeactivateGesturesMessage implements MessageBase +{ + name = 'DeactivateGestures'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.DeactivateGestures; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + Flags: number; + }; + Data: { + ItemID: UUID; + GestureFlags: number; + }[]; + + getSize(): number + { + return ((20) * this.Data.length) + 37; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.AgentData['Flags'], pos); + pos += 4; + const count = this.Data.length; + buf.writeUInt8(this.Data.length, pos++); + for (let i = 0; i < count; i++) + { + this.Data[i]['ItemID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.Data[i]['GestureFlags'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + Flags: number + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + Flags: 0 + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.Data = []; + for (let i = 0; i < count; i++) + { + const newObjData: { + ItemID: UUID, + GestureFlags: number + } = { + ItemID: UUID.zero(), + GestureFlags: 0 + }; + newObjData['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjData['GestureFlags'] = buf.readUInt32LE(pos); + pos += 4; + this.Data.push(newObjData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DeclineCallingCard.ts b/lib/classes/messages/DeclineCallingCard.ts new file mode 100644 index 0000000..1de9ce7 --- /dev/null +++ b/lib/classes/messages/DeclineCallingCard.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DeclineCallingCardMessage implements MessageBase +{ + name = 'DeclineCallingCard'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.DeclineCallingCard; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + TransactionBlock: { + TransactionID: UUID; + }; + + getSize(): number + { + return 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.TransactionBlock['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjTransactionBlock: { + TransactionID: UUID + } = { + TransactionID: UUID.zero() + }; + newObjTransactionBlock['TransactionID'] = new UUID(buf, pos); + pos += 16; + this.TransactionBlock = newObjTransactionBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DeclineFriendship.ts b/lib/classes/messages/DeclineFriendship.ts new file mode 100644 index 0000000..b1c7ed9 --- /dev/null +++ b/lib/classes/messages/DeclineFriendship.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DeclineFriendshipMessage implements MessageBase +{ + name = 'DeclineFriendship'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.DeclineFriendship; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + TransactionBlock: { + TransactionID: UUID; + }; + + getSize(): number + { + return 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.TransactionBlock['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjTransactionBlock: { + TransactionID: UUID + } = { + TransactionID: UUID.zero() + }; + newObjTransactionBlock['TransactionID'] = new UUID(buf, pos); + pos += 16; + this.TransactionBlock = newObjTransactionBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DenyTrustedCircuit.ts b/lib/classes/messages/DenyTrustedCircuit.ts new file mode 100644 index 0000000..4650e47 --- /dev/null +++ b/lib/classes/messages/DenyTrustedCircuit.ts @@ -0,0 +1,46 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DenyTrustedCircuitMessage implements MessageBase +{ + name = 'DenyTrustedCircuit'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.DenyTrustedCircuit; + + DataBlock: { + EndPointID: UUID; + }; + + getSize(): number + { + return 16; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.DataBlock['EndPointID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjDataBlock: { + EndPointID: UUID + } = { + EndPointID: UUID.zero() + }; + newObjDataBlock['EndPointID'] = new UUID(buf, pos); + pos += 16; + this.DataBlock = newObjDataBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DerezContainer.ts b/lib/classes/messages/DerezContainer.ts new file mode 100644 index 0000000..76b9b8c --- /dev/null +++ b/lib/classes/messages/DerezContainer.ts @@ -0,0 +1,51 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DerezContainerMessage implements MessageBase +{ + name = 'DerezContainer'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.DerezContainer; + + Data: { + ObjectID: UUID; + Delete: boolean; + }; + + getSize(): number + { + return 17; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.Data['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.Data['Delete']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjData: { + ObjectID: UUID, + Delete: boolean + } = { + ObjectID: UUID.zero(), + Delete: false + }; + newObjData['ObjectID'] = new UUID(buf, pos); + pos += 16; + newObjData['Delete'] = (buf.readUInt8(pos++) === 1); + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DetachAttachmentIntoInv.ts b/lib/classes/messages/DetachAttachmentIntoInv.ts new file mode 100644 index 0000000..8e35051 --- /dev/null +++ b/lib/classes/messages/DetachAttachmentIntoInv.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DetachAttachmentIntoInvMessage implements MessageBase +{ + name = 'DetachAttachmentIntoInv'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.DetachAttachmentIntoInv; + + ObjectData: { + AgentID: UUID; + ItemID: UUID; + }; + + getSize(): number + { + return 32; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.ObjectData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.ObjectData['ItemID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjObjectData: { + AgentID: UUID, + ItemID: UUID + } = { + AgentID: UUID.zero(), + ItemID: UUID.zero() + }; + newObjObjectData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjObjectData['ItemID'] = new UUID(buf, pos); + pos += 16; + this.ObjectData = newObjObjectData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DirClassifiedQuery.ts b/lib/classes/messages/DirClassifiedQuery.ts new file mode 100644 index 0000000..801c4b8 --- /dev/null +++ b/lib/classes/messages/DirClassifiedQuery.ts @@ -0,0 +1,96 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DirClassifiedQueryMessage implements MessageBase +{ + name = 'DirClassifiedQuery'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.DirClassifiedQuery; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + QueryData: { + QueryID: UUID; + QueryText: string; + QueryFlags: number; + Category: number; + QueryStart: number; + }; + + getSize(): number + { + return (this.QueryData['QueryText'].length + 1) + 60; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.QueryData['QueryID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.QueryData['QueryText'].length, pos++); + buf.write(this.QueryData['QueryText'], pos); + pos += this.QueryData['QueryText'].length; + buf.writeUInt32LE(this.QueryData['QueryFlags'], pos); + pos += 4; + buf.writeUInt32LE(this.QueryData['Category'], pos); + pos += 4; + buf.writeInt32LE(this.QueryData['QueryStart'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjQueryData: { + QueryID: UUID, + QueryText: string, + QueryFlags: number, + Category: number, + QueryStart: number + } = { + QueryID: UUID.zero(), + QueryText: '', + QueryFlags: 0, + Category: 0, + QueryStart: 0 + }; + newObjQueryData['QueryID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjQueryData['QueryText'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjQueryData['QueryFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjQueryData['Category'] = buf.readUInt32LE(pos); + pos += 4; + newObjQueryData['QueryStart'] = buf.readInt32LE(pos); + pos += 4; + this.QueryData = newObjQueryData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DirClassifiedQueryBackend.ts b/lib/classes/messages/DirClassifiedQueryBackend.ts new file mode 100644 index 0000000..4caa746 --- /dev/null +++ b/lib/classes/messages/DirClassifiedQueryBackend.ts @@ -0,0 +1,101 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DirClassifiedQueryBackendMessage implements MessageBase +{ + name = 'DirClassifiedQueryBackend'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.DirClassifiedQueryBackend; + + AgentData: { + AgentID: UUID; + }; + QueryData: { + QueryID: UUID; + QueryText: string; + QueryFlags: number; + Category: number; + EstateID: number; + Godlike: boolean; + QueryStart: number; + }; + + getSize(): number + { + return (this.QueryData['QueryText'].length + 1) + 49; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.QueryData['QueryID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.QueryData['QueryText'].length, pos++); + buf.write(this.QueryData['QueryText'], pos); + pos += this.QueryData['QueryText'].length; + buf.writeUInt32LE(this.QueryData['QueryFlags'], pos); + pos += 4; + buf.writeUInt32LE(this.QueryData['Category'], pos); + pos += 4; + buf.writeUInt32LE(this.QueryData['EstateID'], pos); + pos += 4; + buf.writeUInt8((this.QueryData['Godlike']) ? 1 : 0, pos++); + buf.writeInt32LE(this.QueryData['QueryStart'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjQueryData: { + QueryID: UUID, + QueryText: string, + QueryFlags: number, + Category: number, + EstateID: number, + Godlike: boolean, + QueryStart: number + } = { + QueryID: UUID.zero(), + QueryText: '', + QueryFlags: 0, + Category: 0, + EstateID: 0, + Godlike: false, + QueryStart: 0 + }; + newObjQueryData['QueryID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjQueryData['QueryText'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjQueryData['QueryFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjQueryData['Category'] = buf.readUInt32LE(pos); + pos += 4; + newObjQueryData['EstateID'] = buf.readUInt32LE(pos); + pos += 4; + newObjQueryData['Godlike'] = (buf.readUInt8(pos++) === 1); + newObjQueryData['QueryStart'] = buf.readInt32LE(pos); + pos += 4; + this.QueryData = newObjQueryData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DirClassifiedReply.ts b/lib/classes/messages/DirClassifiedReply.ts new file mode 100644 index 0000000..7d23fa2 --- /dev/null +++ b/lib/classes/messages/DirClassifiedReply.ts @@ -0,0 +1,150 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DirClassifiedReplyMessage implements MessageBase +{ + name = 'DirClassifiedReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.DirClassifiedReply; + + AgentData: { + AgentID: UUID; + }; + QueryData: { + QueryID: UUID; + }; + QueryReplies: { + ClassifiedID: UUID; + Name: string; + ClassifiedFlags: number; + CreationDate: number; + ExpirationDate: number; + PriceForListing: number; + }[]; + StatusData: { + Status: number; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.QueryReplies, 'Name', 1) + 29) * this.QueryReplies.length) + ((4) * this.StatusData.length) + 34; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.QueryData['QueryID'].writeToBuffer(buf, pos); + pos += 16; + let count = this.QueryReplies.length; + buf.writeUInt8(this.QueryReplies.length, pos++); + for (let i = 0; i < count; i++) + { + this.QueryReplies[i]['ClassifiedID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.QueryReplies[i]['Name'].length, pos++); + buf.write(this.QueryReplies[i]['Name'], pos); + pos += this.QueryReplies[i]['Name'].length; + buf.writeUInt8(this.QueryReplies[i]['ClassifiedFlags'], pos++); + buf.writeUInt32LE(this.QueryReplies[i]['CreationDate'], pos); + pos += 4; + buf.writeUInt32LE(this.QueryReplies[i]['ExpirationDate'], pos); + pos += 4; + buf.writeInt32LE(this.QueryReplies[i]['PriceForListing'], pos); + pos += 4; + } + count = this.StatusData.length; + buf.writeUInt8(this.StatusData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.StatusData[i]['Status'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjQueryData: { + QueryID: UUID + } = { + QueryID: UUID.zero() + }; + newObjQueryData['QueryID'] = new UUID(buf, pos); + pos += 16; + this.QueryData = newObjQueryData; + let count = buf.readUInt8(pos++); + this.QueryReplies = []; + for (let i = 0; i < count; i++) + { + const newObjQueryReplies: { + ClassifiedID: UUID, + Name: string, + ClassifiedFlags: number, + CreationDate: number, + ExpirationDate: number, + PriceForListing: number + } = { + ClassifiedID: UUID.zero(), + Name: '', + ClassifiedFlags: 0, + CreationDate: 0, + ExpirationDate: 0, + PriceForListing: 0 + }; + newObjQueryReplies['ClassifiedID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjQueryReplies['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjQueryReplies['ClassifiedFlags'] = buf.readUInt8(pos++); + newObjQueryReplies['CreationDate'] = buf.readUInt32LE(pos); + pos += 4; + newObjQueryReplies['ExpirationDate'] = buf.readUInt32LE(pos); + pos += 4; + newObjQueryReplies['PriceForListing'] = buf.readInt32LE(pos); + pos += 4; + this.QueryReplies.push(newObjQueryReplies); + } + count = buf.readUInt8(pos++); + this.StatusData = []; + for (let i = 0; i < count; i++) + { + const newObjStatusData: { + Status: number + } = { + Status: 0 + }; + newObjStatusData['Status'] = buf.readUInt32LE(pos); + pos += 4; + this.StatusData.push(newObjStatusData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DirEventsReply.ts b/lib/classes/messages/DirEventsReply.ts new file mode 100644 index 0000000..9324893 --- /dev/null +++ b/lib/classes/messages/DirEventsReply.ts @@ -0,0 +1,154 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DirEventsReplyMessage implements MessageBase +{ + name = 'DirEventsReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.DirEventsReply; + + AgentData: { + AgentID: UUID; + }; + QueryData: { + QueryID: UUID; + }; + QueryReplies: { + OwnerID: UUID; + Name: string; + EventID: number; + Date: string; + UnixTime: number; + EventFlags: number; + }[]; + StatusData: { + Status: number; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.QueryReplies, 'Name', 1) + this.calculateVarVarSize(this.QueryReplies, 'Date', 1) + 28) * this.QueryReplies.length) + ((4) * this.StatusData.length) + 34; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.QueryData['QueryID'].writeToBuffer(buf, pos); + pos += 16; + let count = this.QueryReplies.length; + buf.writeUInt8(this.QueryReplies.length, pos++); + for (let i = 0; i < count; i++) + { + this.QueryReplies[i]['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.QueryReplies[i]['Name'].length, pos++); + buf.write(this.QueryReplies[i]['Name'], pos); + pos += this.QueryReplies[i]['Name'].length; + buf.writeUInt32LE(this.QueryReplies[i]['EventID'], pos); + pos += 4; + buf.writeUInt8(this.QueryReplies[i]['Date'].length, pos++); + buf.write(this.QueryReplies[i]['Date'], pos); + pos += this.QueryReplies[i]['Date'].length; + buf.writeUInt32LE(this.QueryReplies[i]['UnixTime'], pos); + pos += 4; + buf.writeUInt32LE(this.QueryReplies[i]['EventFlags'], pos); + pos += 4; + } + count = this.StatusData.length; + buf.writeUInt8(this.StatusData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.StatusData[i]['Status'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjQueryData: { + QueryID: UUID + } = { + QueryID: UUID.zero() + }; + newObjQueryData['QueryID'] = new UUID(buf, pos); + pos += 16; + this.QueryData = newObjQueryData; + let count = buf.readUInt8(pos++); + this.QueryReplies = []; + for (let i = 0; i < count; i++) + { + const newObjQueryReplies: { + OwnerID: UUID, + Name: string, + EventID: number, + Date: string, + UnixTime: number, + EventFlags: number + } = { + OwnerID: UUID.zero(), + Name: '', + EventID: 0, + Date: '', + UnixTime: 0, + EventFlags: 0 + }; + newObjQueryReplies['OwnerID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjQueryReplies['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjQueryReplies['EventID'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjQueryReplies['Date'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjQueryReplies['UnixTime'] = buf.readUInt32LE(pos); + pos += 4; + newObjQueryReplies['EventFlags'] = buf.readUInt32LE(pos); + pos += 4; + this.QueryReplies.push(newObjQueryReplies); + } + count = buf.readUInt8(pos++); + this.StatusData = []; + for (let i = 0; i < count; i++) + { + const newObjStatusData: { + Status: number + } = { + Status: 0 + }; + newObjStatusData['Status'] = buf.readUInt32LE(pos); + pos += 4; + this.StatusData.push(newObjStatusData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DirFindQuery.ts b/lib/classes/messages/DirFindQuery.ts new file mode 100644 index 0000000..405bb0b --- /dev/null +++ b/lib/classes/messages/DirFindQuery.ts @@ -0,0 +1,89 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DirFindQueryMessage implements MessageBase +{ + name = 'DirFindQuery'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.DirFindQuery; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + QueryData: { + QueryID: UUID; + QueryText: string; + QueryFlags: number; + QueryStart: number; + }; + + getSize(): number + { + return (this.QueryData['QueryText'].length + 1) + 56; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.QueryData['QueryID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.QueryData['QueryText'].length, pos++); + buf.write(this.QueryData['QueryText'], pos); + pos += this.QueryData['QueryText'].length; + buf.writeUInt32LE(this.QueryData['QueryFlags'], pos); + pos += 4; + buf.writeInt32LE(this.QueryData['QueryStart'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjQueryData: { + QueryID: UUID, + QueryText: string, + QueryFlags: number, + QueryStart: number + } = { + QueryID: UUID.zero(), + QueryText: '', + QueryFlags: 0, + QueryStart: 0 + }; + newObjQueryData['QueryID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjQueryData['QueryText'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjQueryData['QueryFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjQueryData['QueryStart'] = buf.readInt32LE(pos); + pos += 4; + this.QueryData = newObjQueryData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DirFindQueryBackend.ts b/lib/classes/messages/DirFindQueryBackend.ts new file mode 100644 index 0000000..4e0bd2d --- /dev/null +++ b/lib/classes/messages/DirFindQueryBackend.ts @@ -0,0 +1,94 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DirFindQueryBackendMessage implements MessageBase +{ + name = 'DirFindQueryBackend'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.DirFindQueryBackend; + + AgentData: { + AgentID: UUID; + }; + QueryData: { + QueryID: UUID; + QueryText: string; + QueryFlags: number; + QueryStart: number; + EstateID: number; + Godlike: boolean; + }; + + getSize(): number + { + return (this.QueryData['QueryText'].length + 1) + 45; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.QueryData['QueryID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.QueryData['QueryText'].length, pos++); + buf.write(this.QueryData['QueryText'], pos); + pos += this.QueryData['QueryText'].length; + buf.writeUInt32LE(this.QueryData['QueryFlags'], pos); + pos += 4; + buf.writeInt32LE(this.QueryData['QueryStart'], pos); + pos += 4; + buf.writeUInt32LE(this.QueryData['EstateID'], pos); + pos += 4; + buf.writeUInt8((this.QueryData['Godlike']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjQueryData: { + QueryID: UUID, + QueryText: string, + QueryFlags: number, + QueryStart: number, + EstateID: number, + Godlike: boolean + } = { + QueryID: UUID.zero(), + QueryText: '', + QueryFlags: 0, + QueryStart: 0, + EstateID: 0, + Godlike: false + }; + newObjQueryData['QueryID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjQueryData['QueryText'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjQueryData['QueryFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjQueryData['QueryStart'] = buf.readInt32LE(pos); + pos += 4; + newObjQueryData['EstateID'] = buf.readUInt32LE(pos); + pos += 4; + newObjQueryData['Godlike'] = (buf.readUInt8(pos++) === 1); + this.QueryData = newObjQueryData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DirGroupsReply.ts b/lib/classes/messages/DirGroupsReply.ts new file mode 100644 index 0000000..fa6cdd3 --- /dev/null +++ b/lib/classes/messages/DirGroupsReply.ts @@ -0,0 +1,115 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DirGroupsReplyMessage implements MessageBase +{ + name = 'DirGroupsReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.DirGroupsReply; + + AgentData: { + AgentID: UUID; + }; + QueryData: { + QueryID: UUID; + }; + QueryReplies: { + GroupID: UUID; + GroupName: string; + Members: number; + SearchOrder: number; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.QueryReplies, 'GroupName', 1) + 24) * this.QueryReplies.length) + 33; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.QueryData['QueryID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.QueryReplies.length; + buf.writeUInt8(this.QueryReplies.length, pos++); + for (let i = 0; i < count; i++) + { + this.QueryReplies[i]['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.QueryReplies[i]['GroupName'].length, pos++); + buf.write(this.QueryReplies[i]['GroupName'], pos); + pos += this.QueryReplies[i]['GroupName'].length; + buf.writeInt32LE(this.QueryReplies[i]['Members'], pos); + pos += 4; + buf.writeFloatLE(this.QueryReplies[i]['SearchOrder'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjQueryData: { + QueryID: UUID + } = { + QueryID: UUID.zero() + }; + newObjQueryData['QueryID'] = new UUID(buf, pos); + pos += 16; + this.QueryData = newObjQueryData; + const count = buf.readUInt8(pos++); + this.QueryReplies = []; + for (let i = 0; i < count; i++) + { + const newObjQueryReplies: { + GroupID: UUID, + GroupName: string, + Members: number, + SearchOrder: number + } = { + GroupID: UUID.zero(), + GroupName: '', + Members: 0, + SearchOrder: 0 + }; + newObjQueryReplies['GroupID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjQueryReplies['GroupName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjQueryReplies['Members'] = buf.readInt32LE(pos); + pos += 4; + newObjQueryReplies['SearchOrder'] = buf.readFloatLE(pos); + pos += 4; + this.QueryReplies.push(newObjQueryReplies); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DirLandQuery.ts b/lib/classes/messages/DirLandQuery.ts new file mode 100644 index 0000000..c47d323 --- /dev/null +++ b/lib/classes/messages/DirLandQuery.ts @@ -0,0 +1,101 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DirLandQueryMessage implements MessageBase +{ + name = 'DirLandQuery'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.DirLandQuery; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + QueryData: { + QueryID: UUID; + QueryFlags: number; + SearchType: number; + Price: number; + Area: number; + QueryStart: number; + }; + + getSize(): number + { + return 68; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.QueryData['QueryID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.QueryData['QueryFlags'], pos); + pos += 4; + buf.writeUInt32LE(this.QueryData['SearchType'], pos); + pos += 4; + buf.writeInt32LE(this.QueryData['Price'], pos); + pos += 4; + buf.writeInt32LE(this.QueryData['Area'], pos); + pos += 4; + buf.writeInt32LE(this.QueryData['QueryStart'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjQueryData: { + QueryID: UUID, + QueryFlags: number, + SearchType: number, + Price: number, + Area: number, + QueryStart: number + } = { + QueryID: UUID.zero(), + QueryFlags: 0, + SearchType: 0, + Price: 0, + Area: 0, + QueryStart: 0 + }; + newObjQueryData['QueryID'] = new UUID(buf, pos); + pos += 16; + newObjQueryData['QueryFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjQueryData['SearchType'] = buf.readUInt32LE(pos); + pos += 4; + newObjQueryData['Price'] = buf.readInt32LE(pos); + pos += 4; + newObjQueryData['Area'] = buf.readInt32LE(pos); + pos += 4; + newObjQueryData['QueryStart'] = buf.readInt32LE(pos); + pos += 4; + this.QueryData = newObjQueryData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DirLandQueryBackend.ts b/lib/classes/messages/DirLandQueryBackend.ts new file mode 100644 index 0000000..93218d4 --- /dev/null +++ b/lib/classes/messages/DirLandQueryBackend.ts @@ -0,0 +1,106 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DirLandQueryBackendMessage implements MessageBase +{ + name = 'DirLandQueryBackend'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.DirLandQueryBackend; + + AgentData: { + AgentID: UUID; + }; + QueryData: { + QueryID: UUID; + QueryFlags: number; + SearchType: number; + Price: number; + Area: number; + QueryStart: number; + EstateID: number; + Godlike: boolean; + }; + + getSize(): number + { + return 57; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.QueryData['QueryID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.QueryData['QueryFlags'], pos); + pos += 4; + buf.writeUInt32LE(this.QueryData['SearchType'], pos); + pos += 4; + buf.writeInt32LE(this.QueryData['Price'], pos); + pos += 4; + buf.writeInt32LE(this.QueryData['Area'], pos); + pos += 4; + buf.writeInt32LE(this.QueryData['QueryStart'], pos); + pos += 4; + buf.writeUInt32LE(this.QueryData['EstateID'], pos); + pos += 4; + buf.writeUInt8((this.QueryData['Godlike']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjQueryData: { + QueryID: UUID, + QueryFlags: number, + SearchType: number, + Price: number, + Area: number, + QueryStart: number, + EstateID: number, + Godlike: boolean + } = { + QueryID: UUID.zero(), + QueryFlags: 0, + SearchType: 0, + Price: 0, + Area: 0, + QueryStart: 0, + EstateID: 0, + Godlike: false + }; + newObjQueryData['QueryID'] = new UUID(buf, pos); + pos += 16; + newObjQueryData['QueryFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjQueryData['SearchType'] = buf.readUInt32LE(pos); + pos += 4; + newObjQueryData['Price'] = buf.readInt32LE(pos); + pos += 4; + newObjQueryData['Area'] = buf.readInt32LE(pos); + pos += 4; + newObjQueryData['QueryStart'] = buf.readInt32LE(pos); + pos += 4; + newObjQueryData['EstateID'] = buf.readUInt32LE(pos); + pos += 4; + newObjQueryData['Godlike'] = (buf.readUInt8(pos++) === 1); + this.QueryData = newObjQueryData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DirLandReply.ts b/lib/classes/messages/DirLandReply.ts new file mode 100644 index 0000000..e5c2ed4 --- /dev/null +++ b/lib/classes/messages/DirLandReply.ts @@ -0,0 +1,125 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DirLandReplyMessage implements MessageBase +{ + name = 'DirLandReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyLow; + id = Message.DirLandReply; + + AgentData: { + AgentID: UUID; + }; + QueryData: { + QueryID: UUID; + }; + QueryReplies: { + ParcelID: UUID; + Name: string; + Auction: boolean; + ForSale: boolean; + SalePrice: number; + ActualArea: number; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.QueryReplies, 'Name', 1) + 26) * this.QueryReplies.length) + 33; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.QueryData['QueryID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.QueryReplies.length; + buf.writeUInt8(this.QueryReplies.length, pos++); + for (let i = 0; i < count; i++) + { + this.QueryReplies[i]['ParcelID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.QueryReplies[i]['Name'].length, pos++); + buf.write(this.QueryReplies[i]['Name'], pos); + pos += this.QueryReplies[i]['Name'].length; + buf.writeUInt8((this.QueryReplies[i]['Auction']) ? 1 : 0, pos++); + buf.writeUInt8((this.QueryReplies[i]['ForSale']) ? 1 : 0, pos++); + buf.writeInt32LE(this.QueryReplies[i]['SalePrice'], pos); + pos += 4; + buf.writeInt32LE(this.QueryReplies[i]['ActualArea'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjQueryData: { + QueryID: UUID + } = { + QueryID: UUID.zero() + }; + newObjQueryData['QueryID'] = new UUID(buf, pos); + pos += 16; + this.QueryData = newObjQueryData; + const count = buf.readUInt8(pos++); + this.QueryReplies = []; + for (let i = 0; i < count; i++) + { + const newObjQueryReplies: { + ParcelID: UUID, + Name: string, + Auction: boolean, + ForSale: boolean, + SalePrice: number, + ActualArea: number + } = { + ParcelID: UUID.zero(), + Name: '', + Auction: false, + ForSale: false, + SalePrice: 0, + ActualArea: 0 + }; + newObjQueryReplies['ParcelID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjQueryReplies['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjQueryReplies['Auction'] = (buf.readUInt8(pos++) === 1); + newObjQueryReplies['ForSale'] = (buf.readUInt8(pos++) === 1); + newObjQueryReplies['SalePrice'] = buf.readInt32LE(pos); + pos += 4; + newObjQueryReplies['ActualArea'] = buf.readInt32LE(pos); + pos += 4; + this.QueryReplies.push(newObjQueryReplies); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DirPeopleReply.ts b/lib/classes/messages/DirPeopleReply.ts new file mode 100644 index 0000000..823e9e5 --- /dev/null +++ b/lib/classes/messages/DirPeopleReply.ts @@ -0,0 +1,131 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DirPeopleReplyMessage implements MessageBase +{ + name = 'DirPeopleReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.DirPeopleReply; + + AgentData: { + AgentID: UUID; + }; + QueryData: { + QueryID: UUID; + }; + QueryReplies: { + AgentID: UUID; + FirstName: string; + LastName: string; + Group: string; + Online: boolean; + Reputation: number; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.QueryReplies, 'FirstName', 1) + this.calculateVarVarSize(this.QueryReplies, 'LastName', 1) + this.calculateVarVarSize(this.QueryReplies, 'Group', 1) + 21) * this.QueryReplies.length) + 33; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.QueryData['QueryID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.QueryReplies.length; + buf.writeUInt8(this.QueryReplies.length, pos++); + for (let i = 0; i < count; i++) + { + this.QueryReplies[i]['AgentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.QueryReplies[i]['FirstName'].length, pos++); + buf.write(this.QueryReplies[i]['FirstName'], pos); + pos += this.QueryReplies[i]['FirstName'].length; + buf.writeUInt8(this.QueryReplies[i]['LastName'].length, pos++); + buf.write(this.QueryReplies[i]['LastName'], pos); + pos += this.QueryReplies[i]['LastName'].length; + buf.writeUInt8(this.QueryReplies[i]['Group'].length, pos++); + buf.write(this.QueryReplies[i]['Group'], pos); + pos += this.QueryReplies[i]['Group'].length; + buf.writeUInt8((this.QueryReplies[i]['Online']) ? 1 : 0, pos++); + buf.writeInt32LE(this.QueryReplies[i]['Reputation'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjQueryData: { + QueryID: UUID + } = { + QueryID: UUID.zero() + }; + newObjQueryData['QueryID'] = new UUID(buf, pos); + pos += 16; + this.QueryData = newObjQueryData; + const count = buf.readUInt8(pos++); + this.QueryReplies = []; + for (let i = 0; i < count; i++) + { + const newObjQueryReplies: { + AgentID: UUID, + FirstName: string, + LastName: string, + Group: string, + Online: boolean, + Reputation: number + } = { + AgentID: UUID.zero(), + FirstName: '', + LastName: '', + Group: '', + Online: false, + Reputation: 0 + }; + newObjQueryReplies['AgentID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjQueryReplies['FirstName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjQueryReplies['LastName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjQueryReplies['Group'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjQueryReplies['Online'] = (buf.readUInt8(pos++) === 1); + newObjQueryReplies['Reputation'] = buf.readInt32LE(pos); + pos += 4; + this.QueryReplies.push(newObjQueryReplies); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DirPlacesQuery.ts b/lib/classes/messages/DirPlacesQuery.ts new file mode 100644 index 0000000..210efef --- /dev/null +++ b/lib/classes/messages/DirPlacesQuery.ts @@ -0,0 +1,103 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DirPlacesQueryMessage implements MessageBase +{ + name = 'DirPlacesQuery'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.DirPlacesQuery; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + QueryData: { + QueryID: UUID; + QueryText: string; + QueryFlags: number; + Category: number; + SimName: string; + QueryStart: number; + }; + + getSize(): number + { + return (this.QueryData['QueryText'].length + 1 + this.QueryData['SimName'].length + 1) + 57; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.QueryData['QueryID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.QueryData['QueryText'].length, pos++); + buf.write(this.QueryData['QueryText'], pos); + pos += this.QueryData['QueryText'].length; + buf.writeUInt32LE(this.QueryData['QueryFlags'], pos); + pos += 4; + buf.writeInt8(this.QueryData['Category'], pos++); + buf.writeUInt8(this.QueryData['SimName'].length, pos++); + buf.write(this.QueryData['SimName'], pos); + pos += this.QueryData['SimName'].length; + buf.writeInt32LE(this.QueryData['QueryStart'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjQueryData: { + QueryID: UUID, + QueryText: string, + QueryFlags: number, + Category: number, + SimName: string, + QueryStart: number + } = { + QueryID: UUID.zero(), + QueryText: '', + QueryFlags: 0, + Category: 0, + SimName: '', + QueryStart: 0 + }; + newObjQueryData['QueryID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjQueryData['QueryText'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjQueryData['QueryFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjQueryData['Category'] = buf.readInt8(pos++); + varLength = buf.readUInt8(pos++); + newObjQueryData['SimName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjQueryData['QueryStart'] = buf.readInt32LE(pos); + pos += 4; + this.QueryData = newObjQueryData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DirPlacesQueryBackend.ts b/lib/classes/messages/DirPlacesQueryBackend.ts new file mode 100644 index 0000000..ef4c53d --- /dev/null +++ b/lib/classes/messages/DirPlacesQueryBackend.ts @@ -0,0 +1,108 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DirPlacesQueryBackendMessage implements MessageBase +{ + name = 'DirPlacesQueryBackend'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.DirPlacesQueryBackend; + + AgentData: { + AgentID: UUID; + }; + QueryData: { + QueryID: UUID; + QueryText: string; + QueryFlags: number; + Category: number; + SimName: string; + EstateID: number; + Godlike: boolean; + QueryStart: number; + }; + + getSize(): number + { + return (this.QueryData['QueryText'].length + 1 + this.QueryData['SimName'].length + 1) + 46; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.QueryData['QueryID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.QueryData['QueryText'].length, pos++); + buf.write(this.QueryData['QueryText'], pos); + pos += this.QueryData['QueryText'].length; + buf.writeUInt32LE(this.QueryData['QueryFlags'], pos); + pos += 4; + buf.writeInt8(this.QueryData['Category'], pos++); + buf.writeUInt8(this.QueryData['SimName'].length, pos++); + buf.write(this.QueryData['SimName'], pos); + pos += this.QueryData['SimName'].length; + buf.writeUInt32LE(this.QueryData['EstateID'], pos); + pos += 4; + buf.writeUInt8((this.QueryData['Godlike']) ? 1 : 0, pos++); + buf.writeInt32LE(this.QueryData['QueryStart'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjQueryData: { + QueryID: UUID, + QueryText: string, + QueryFlags: number, + Category: number, + SimName: string, + EstateID: number, + Godlike: boolean, + QueryStart: number + } = { + QueryID: UUID.zero(), + QueryText: '', + QueryFlags: 0, + Category: 0, + SimName: '', + EstateID: 0, + Godlike: false, + QueryStart: 0 + }; + newObjQueryData['QueryID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjQueryData['QueryText'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjQueryData['QueryFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjQueryData['Category'] = buf.readInt8(pos++); + varLength = buf.readUInt8(pos++); + newObjQueryData['SimName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjQueryData['EstateID'] = buf.readUInt32LE(pos); + pos += 4; + newObjQueryData['Godlike'] = (buf.readUInt8(pos++) === 1); + newObjQueryData['QueryStart'] = buf.readInt32LE(pos); + pos += 4; + this.QueryData = newObjQueryData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DirPlacesReply.ts b/lib/classes/messages/DirPlacesReply.ts new file mode 100644 index 0000000..a7f85c3 --- /dev/null +++ b/lib/classes/messages/DirPlacesReply.ts @@ -0,0 +1,151 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DirPlacesReplyMessage implements MessageBase +{ + name = 'DirPlacesReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.DirPlacesReply; + + AgentData: { + AgentID: UUID; + }; + QueryData: { + QueryID: UUID; + }[]; + QueryReplies: { + ParcelID: UUID; + Name: string; + ForSale: boolean; + Auction: boolean; + Dwell: number; + }[]; + StatusData: { + Status: number; + }[]; + + getSize(): number + { + return ((16) * this.QueryData.length) + ((this.calculateVarVarSize(this.QueryReplies, 'Name', 1) + 22) * this.QueryReplies.length) + ((4) * this.StatusData.length) + 19; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + let count = this.QueryData.length; + buf.writeUInt8(this.QueryData.length, pos++); + for (let i = 0; i < count; i++) + { + this.QueryData[i]['QueryID'].writeToBuffer(buf, pos); + pos += 16; + } + count = this.QueryReplies.length; + buf.writeUInt8(this.QueryReplies.length, pos++); + for (let i = 0; i < count; i++) + { + this.QueryReplies[i]['ParcelID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.QueryReplies[i]['Name'].length, pos++); + buf.write(this.QueryReplies[i]['Name'], pos); + pos += this.QueryReplies[i]['Name'].length; + buf.writeUInt8((this.QueryReplies[i]['ForSale']) ? 1 : 0, pos++); + buf.writeUInt8((this.QueryReplies[i]['Auction']) ? 1 : 0, pos++); + buf.writeFloatLE(this.QueryReplies[i]['Dwell'], pos); + pos += 4; + } + count = this.StatusData.length; + buf.writeUInt8(this.StatusData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.StatusData[i]['Status'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + let count = buf.readUInt8(pos++); + this.QueryData = []; + for (let i = 0; i < count; i++) + { + const newObjQueryData: { + QueryID: UUID + } = { + QueryID: UUID.zero() + }; + newObjQueryData['QueryID'] = new UUID(buf, pos); + pos += 16; + this.QueryData.push(newObjQueryData); + } + count = buf.readUInt8(pos++); + this.QueryReplies = []; + for (let i = 0; i < count; i++) + { + const newObjQueryReplies: { + ParcelID: UUID, + Name: string, + ForSale: boolean, + Auction: boolean, + Dwell: number + } = { + ParcelID: UUID.zero(), + Name: '', + ForSale: false, + Auction: false, + Dwell: 0 + }; + newObjQueryReplies['ParcelID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjQueryReplies['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjQueryReplies['ForSale'] = (buf.readUInt8(pos++) === 1); + newObjQueryReplies['Auction'] = (buf.readUInt8(pos++) === 1); + newObjQueryReplies['Dwell'] = buf.readFloatLE(pos); + pos += 4; + this.QueryReplies.push(newObjQueryReplies); + } + count = buf.readUInt8(pos++); + this.StatusData = []; + for (let i = 0; i < count; i++) + { + const newObjStatusData: { + Status: number + } = { + Status: 0 + }; + newObjStatusData['Status'] = buf.readUInt32LE(pos); + pos += 4; + this.StatusData.push(newObjStatusData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DirPopularQuery.ts b/lib/classes/messages/DirPopularQuery.ts new file mode 100644 index 0000000..8234ef2 --- /dev/null +++ b/lib/classes/messages/DirPopularQuery.ts @@ -0,0 +1,73 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DirPopularQueryMessage implements MessageBase +{ + name = 'DirPopularQuery'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyLow; + id = Message.DirPopularQuery; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + QueryData: { + QueryID: UUID; + QueryFlags: number; + }; + + getSize(): number + { + return 52; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.QueryData['QueryID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.QueryData['QueryFlags'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjQueryData: { + QueryID: UUID, + QueryFlags: number + } = { + QueryID: UUID.zero(), + QueryFlags: 0 + }; + newObjQueryData['QueryID'] = new UUID(buf, pos); + pos += 16; + newObjQueryData['QueryFlags'] = buf.readUInt32LE(pos); + pos += 4; + this.QueryData = newObjQueryData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DirPopularQueryBackend.ts b/lib/classes/messages/DirPopularQueryBackend.ts new file mode 100644 index 0000000..803186b --- /dev/null +++ b/lib/classes/messages/DirPopularQueryBackend.ts @@ -0,0 +1,78 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DirPopularQueryBackendMessage implements MessageBase +{ + name = 'DirPopularQueryBackend'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyLow; + id = Message.DirPopularQueryBackend; + + AgentData: { + AgentID: UUID; + }; + QueryData: { + QueryID: UUID; + QueryFlags: number; + EstateID: number; + Godlike: boolean; + }; + + getSize(): number + { + return 41; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.QueryData['QueryID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.QueryData['QueryFlags'], pos); + pos += 4; + buf.writeUInt32LE(this.QueryData['EstateID'], pos); + pos += 4; + buf.writeUInt8((this.QueryData['Godlike']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjQueryData: { + QueryID: UUID, + QueryFlags: number, + EstateID: number, + Godlike: boolean + } = { + QueryID: UUID.zero(), + QueryFlags: 0, + EstateID: 0, + Godlike: false + }; + newObjQueryData['QueryID'] = new UUID(buf, pos); + pos += 16; + newObjQueryData['QueryFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjQueryData['EstateID'] = buf.readUInt32LE(pos); + pos += 4; + newObjQueryData['Godlike'] = (buf.readUInt8(pos++) === 1); + this.QueryData = newObjQueryData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DirPopularReply.ts b/lib/classes/messages/DirPopularReply.ts new file mode 100644 index 0000000..1d680e3 --- /dev/null +++ b/lib/classes/messages/DirPopularReply.ts @@ -0,0 +1,108 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DirPopularReplyMessage implements MessageBase +{ + name = 'DirPopularReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyLow; + id = Message.DirPopularReply; + + AgentData: { + AgentID: UUID; + }; + QueryData: { + QueryID: UUID; + }; + QueryReplies: { + ParcelID: UUID; + Name: string; + Dwell: number; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.QueryReplies, 'Name', 1) + 20) * this.QueryReplies.length) + 33; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.QueryData['QueryID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.QueryReplies.length; + buf.writeUInt8(this.QueryReplies.length, pos++); + for (let i = 0; i < count; i++) + { + this.QueryReplies[i]['ParcelID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.QueryReplies[i]['Name'].length, pos++); + buf.write(this.QueryReplies[i]['Name'], pos); + pos += this.QueryReplies[i]['Name'].length; + buf.writeFloatLE(this.QueryReplies[i]['Dwell'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjQueryData: { + QueryID: UUID + } = { + QueryID: UUID.zero() + }; + newObjQueryData['QueryID'] = new UUID(buf, pos); + pos += 16; + this.QueryData = newObjQueryData; + const count = buf.readUInt8(pos++); + this.QueryReplies = []; + for (let i = 0; i < count; i++) + { + const newObjQueryReplies: { + ParcelID: UUID, + Name: string, + Dwell: number + } = { + ParcelID: UUID.zero(), + Name: '', + Dwell: 0 + }; + newObjQueryReplies['ParcelID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjQueryReplies['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjQueryReplies['Dwell'] = buf.readFloatLE(pos); + pos += 4; + this.QueryReplies.push(newObjQueryReplies); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/DisableSimulator.ts b/lib/classes/messages/DisableSimulator.ts new file mode 100644 index 0000000..f51c989 --- /dev/null +++ b/lib/classes/messages/DisableSimulator.ts @@ -0,0 +1,29 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class DisableSimulatorMessage implements MessageBase +{ + name = 'DisableSimulator'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.DisableSimulator; + + + getSize(): number + { + return 0; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + return 0; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + return 0; + } +} + diff --git a/lib/classes/messages/EconomyData.ts b/lib/classes/messages/EconomyData.ts new file mode 100644 index 0000000..25ae371 --- /dev/null +++ b/lib/classes/messages/EconomyData.ts @@ -0,0 +1,157 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class EconomyDataMessage implements MessageBase +{ + name = 'EconomyData'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.EconomyData; + + Info: { + ObjectCapacity: number; + ObjectCount: number; + PriceEnergyUnit: number; + PriceObjectClaim: number; + PricePublicObjectDecay: number; + PricePublicObjectDelete: number; + PriceParcelClaim: number; + PriceParcelClaimFactor: number; + PriceUpload: number; + PriceRentLight: number; + TeleportMinPrice: number; + TeleportPriceExponent: number; + EnergyEfficiency: number; + PriceObjectRent: number; + PriceObjectScaleFactor: number; + PriceParcelRent: number; + PriceGroupCreate: number; + }; + + getSize(): number + { + return 68; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeInt32LE(this.Info['ObjectCapacity'], pos); + pos += 4; + buf.writeInt32LE(this.Info['ObjectCount'], pos); + pos += 4; + buf.writeInt32LE(this.Info['PriceEnergyUnit'], pos); + pos += 4; + buf.writeInt32LE(this.Info['PriceObjectClaim'], pos); + pos += 4; + buf.writeInt32LE(this.Info['PricePublicObjectDecay'], pos); + pos += 4; + buf.writeInt32LE(this.Info['PricePublicObjectDelete'], pos); + pos += 4; + buf.writeInt32LE(this.Info['PriceParcelClaim'], pos); + pos += 4; + buf.writeFloatLE(this.Info['PriceParcelClaimFactor'], pos); + pos += 4; + buf.writeInt32LE(this.Info['PriceUpload'], pos); + pos += 4; + buf.writeInt32LE(this.Info['PriceRentLight'], pos); + pos += 4; + buf.writeInt32LE(this.Info['TeleportMinPrice'], pos); + pos += 4; + buf.writeFloatLE(this.Info['TeleportPriceExponent'], pos); + pos += 4; + buf.writeFloatLE(this.Info['EnergyEfficiency'], pos); + pos += 4; + buf.writeFloatLE(this.Info['PriceObjectRent'], pos); + pos += 4; + buf.writeFloatLE(this.Info['PriceObjectScaleFactor'], pos); + pos += 4; + buf.writeInt32LE(this.Info['PriceParcelRent'], pos); + pos += 4; + buf.writeInt32LE(this.Info['PriceGroupCreate'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjInfo: { + ObjectCapacity: number, + ObjectCount: number, + PriceEnergyUnit: number, + PriceObjectClaim: number, + PricePublicObjectDecay: number, + PricePublicObjectDelete: number, + PriceParcelClaim: number, + PriceParcelClaimFactor: number, + PriceUpload: number, + PriceRentLight: number, + TeleportMinPrice: number, + TeleportPriceExponent: number, + EnergyEfficiency: number, + PriceObjectRent: number, + PriceObjectScaleFactor: number, + PriceParcelRent: number, + PriceGroupCreate: number + } = { + ObjectCapacity: 0, + ObjectCount: 0, + PriceEnergyUnit: 0, + PriceObjectClaim: 0, + PricePublicObjectDecay: 0, + PricePublicObjectDelete: 0, + PriceParcelClaim: 0, + PriceParcelClaimFactor: 0, + PriceUpload: 0, + PriceRentLight: 0, + TeleportMinPrice: 0, + TeleportPriceExponent: 0, + EnergyEfficiency: 0, + PriceObjectRent: 0, + PriceObjectScaleFactor: 0, + PriceParcelRent: 0, + PriceGroupCreate: 0 + }; + newObjInfo['ObjectCapacity'] = buf.readInt32LE(pos); + pos += 4; + newObjInfo['ObjectCount'] = buf.readInt32LE(pos); + pos += 4; + newObjInfo['PriceEnergyUnit'] = buf.readInt32LE(pos); + pos += 4; + newObjInfo['PriceObjectClaim'] = buf.readInt32LE(pos); + pos += 4; + newObjInfo['PricePublicObjectDecay'] = buf.readInt32LE(pos); + pos += 4; + newObjInfo['PricePublicObjectDelete'] = buf.readInt32LE(pos); + pos += 4; + newObjInfo['PriceParcelClaim'] = buf.readInt32LE(pos); + pos += 4; + newObjInfo['PriceParcelClaimFactor'] = buf.readFloatLE(pos); + pos += 4; + newObjInfo['PriceUpload'] = buf.readInt32LE(pos); + pos += 4; + newObjInfo['PriceRentLight'] = buf.readInt32LE(pos); + pos += 4; + newObjInfo['TeleportMinPrice'] = buf.readInt32LE(pos); + pos += 4; + newObjInfo['TeleportPriceExponent'] = buf.readFloatLE(pos); + pos += 4; + newObjInfo['EnergyEfficiency'] = buf.readFloatLE(pos); + pos += 4; + newObjInfo['PriceObjectRent'] = buf.readFloatLE(pos); + pos += 4; + newObjInfo['PriceObjectScaleFactor'] = buf.readFloatLE(pos); + pos += 4; + newObjInfo['PriceParcelRent'] = buf.readInt32LE(pos); + pos += 4; + newObjInfo['PriceGroupCreate'] = buf.readInt32LE(pos); + pos += 4; + this.Info = newObjInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/EconomyDataRequest.ts b/lib/classes/messages/EconomyDataRequest.ts new file mode 100644 index 0000000..52448f5 --- /dev/null +++ b/lib/classes/messages/EconomyDataRequest.ts @@ -0,0 +1,29 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class EconomyDataRequestMessage implements MessageBase +{ + name = 'EconomyDataRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.EconomyDataRequest; + + + getSize(): number + { + return 0; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + return 0; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + return 0; + } +} + diff --git a/lib/classes/messages/EdgeDataPacket.ts b/lib/classes/messages/EdgeDataPacket.ts new file mode 100644 index 0000000..24b1928 --- /dev/null +++ b/lib/classes/messages/EdgeDataPacket.ts @@ -0,0 +1,59 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class EdgeDataPacketMessage implements MessageBase +{ + name = 'EdgeDataPacket'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyHigh; + id = Message.EdgeDataPacket; + + EdgeData: { + LayerType: number; + Direction: number; + LayerData: string; + }; + + getSize(): number + { + return (this.EdgeData['LayerData'].length + 2) + 2; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt8(this.EdgeData['LayerType'], pos++); + buf.writeUInt8(this.EdgeData['Direction'], pos++); + buf.writeUInt16LE(this.EdgeData['LayerData'].length, pos); + pos += 2; + buf.write(this.EdgeData['LayerData'], pos); + pos += this.EdgeData['LayerData'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjEdgeData: { + LayerType: number, + Direction: number, + LayerData: string + } = { + LayerType: 0, + Direction: 0, + LayerData: '' + }; + newObjEdgeData['LayerType'] = buf.readUInt8(pos++); + newObjEdgeData['Direction'] = buf.readUInt8(pos++); + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjEdgeData['LayerData'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.EdgeData = newObjEdgeData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/EjectGroupMemberReply.ts b/lib/classes/messages/EjectGroupMemberReply.ts new file mode 100644 index 0000000..8457fd4 --- /dev/null +++ b/lib/classes/messages/EjectGroupMemberReply.ts @@ -0,0 +1,70 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class EjectGroupMemberReplyMessage implements MessageBase +{ + name = 'EjectGroupMemberReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.EjectGroupMemberReply; + + AgentData: { + AgentID: UUID; + }; + GroupData: { + GroupID: UUID; + }; + EjectData: { + Success: boolean; + }; + + getSize(): number + { + return 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.GroupData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.EjectData['Success']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjGroupData: { + GroupID: UUID + } = { + GroupID: UUID.zero() + }; + newObjGroupData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.GroupData = newObjGroupData; + const newObjEjectData: { + Success: boolean + } = { + Success: false + }; + newObjEjectData['Success'] = (buf.readUInt8(pos++) === 1); + this.EjectData = newObjEjectData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/EjectGroupMemberRequest.ts b/lib/classes/messages/EjectGroupMemberRequest.ts new file mode 100644 index 0000000..9ae67ad --- /dev/null +++ b/lib/classes/messages/EjectGroupMemberRequest.ts @@ -0,0 +1,89 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class EjectGroupMemberRequestMessage implements MessageBase +{ + name = 'EjectGroupMemberRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.EjectGroupMemberRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + GroupData: { + GroupID: UUID; + }; + EjectData: { + EjecteeID: UUID; + }[]; + + getSize(): number + { + return ((16) * this.EjectData.length) + 49; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.GroupData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.EjectData.length; + buf.writeUInt8(this.EjectData.length, pos++); + for (let i = 0; i < count; i++) + { + this.EjectData[i]['EjecteeID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjGroupData: { + GroupID: UUID + } = { + GroupID: UUID.zero() + }; + newObjGroupData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.GroupData = newObjGroupData; + const count = buf.readUInt8(pos++); + this.EjectData = []; + for (let i = 0; i < count; i++) + { + const newObjEjectData: { + EjecteeID: UUID + } = { + EjecteeID: UUID.zero() + }; + newObjEjectData['EjecteeID'] = new UUID(buf, pos); + pos += 16; + this.EjectData.push(newObjEjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/EjectUser.ts b/lib/classes/messages/EjectUser.ts new file mode 100644 index 0000000..54cce41 --- /dev/null +++ b/lib/classes/messages/EjectUser.ts @@ -0,0 +1,73 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class EjectUserMessage implements MessageBase +{ + name = 'EjectUser'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.EjectUser; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + TargetID: UUID; + Flags: number; + }; + + getSize(): number + { + return 52; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['TargetID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.Data['Flags'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + TargetID: UUID, + Flags: number + } = { + TargetID: UUID.zero(), + Flags: 0 + }; + newObjData['TargetID'] = new UUID(buf, pos); + pos += 16; + newObjData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/EmailMessageReply.ts b/lib/classes/messages/EmailMessageReply.ts new file mode 100644 index 0000000..85781d0 --- /dev/null +++ b/lib/classes/messages/EmailMessageReply.ts @@ -0,0 +1,98 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class EmailMessageReplyMessage implements MessageBase +{ + name = 'EmailMessageReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.EmailMessageReply; + + DataBlock: { + ObjectID: UUID; + More: number; + Time: number; + FromAddress: string; + Subject: string; + Data: string; + MailFilter: string; + }; + + getSize(): number + { + return (this.DataBlock['FromAddress'].length + 1 + this.DataBlock['Subject'].length + 1 + this.DataBlock['Data'].length + 2 + this.DataBlock['MailFilter'].length + 1) + 24; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.DataBlock['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.DataBlock['More'], pos); + pos += 4; + buf.writeUInt32LE(this.DataBlock['Time'], pos); + pos += 4; + buf.writeUInt8(this.DataBlock['FromAddress'].length, pos++); + buf.write(this.DataBlock['FromAddress'], pos); + pos += this.DataBlock['FromAddress'].length; + buf.writeUInt8(this.DataBlock['Subject'].length, pos++); + buf.write(this.DataBlock['Subject'], pos); + pos += this.DataBlock['Subject'].length; + buf.writeUInt16LE(this.DataBlock['Data'].length, pos); + pos += 2; + buf.write(this.DataBlock['Data'], pos); + pos += this.DataBlock['Data'].length; + buf.writeUInt8(this.DataBlock['MailFilter'].length, pos++); + buf.write(this.DataBlock['MailFilter'], pos); + pos += this.DataBlock['MailFilter'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjDataBlock: { + ObjectID: UUID, + More: number, + Time: number, + FromAddress: string, + Subject: string, + Data: string, + MailFilter: string + } = { + ObjectID: UUID.zero(), + More: 0, + Time: 0, + FromAddress: '', + Subject: '', + Data: '', + MailFilter: '' + }; + newObjDataBlock['ObjectID'] = new UUID(buf, pos); + pos += 16; + newObjDataBlock['More'] = buf.readUInt32LE(pos); + pos += 4; + newObjDataBlock['Time'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjDataBlock['FromAddress'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjDataBlock['Subject'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjDataBlock['Data'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjDataBlock['MailFilter'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.DataBlock = newObjDataBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/EmailMessageRequest.ts b/lib/classes/messages/EmailMessageRequest.ts new file mode 100644 index 0000000..68a6741 --- /dev/null +++ b/lib/classes/messages/EmailMessageRequest.ts @@ -0,0 +1,64 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class EmailMessageRequestMessage implements MessageBase +{ + name = 'EmailMessageRequest'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.EmailMessageRequest; + + DataBlock: { + ObjectID: UUID; + FromAddress: string; + Subject: string; + }; + + getSize(): number + { + return (this.DataBlock['FromAddress'].length + 1 + this.DataBlock['Subject'].length + 1) + 16; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.DataBlock['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.DataBlock['FromAddress'].length, pos++); + buf.write(this.DataBlock['FromAddress'], pos); + pos += this.DataBlock['FromAddress'].length; + buf.writeUInt8(this.DataBlock['Subject'].length, pos++); + buf.write(this.DataBlock['Subject'], pos); + pos += this.DataBlock['Subject'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjDataBlock: { + ObjectID: UUID, + FromAddress: string, + Subject: string + } = { + ObjectID: UUID.zero(), + FromAddress: '', + Subject: '' + }; + newObjDataBlock['ObjectID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjDataBlock['FromAddress'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjDataBlock['Subject'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.DataBlock = newObjDataBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/EnableSimulator.ts b/lib/classes/messages/EnableSimulator.ts new file mode 100644 index 0000000..fd1ff21 --- /dev/null +++ b/lib/classes/messages/EnableSimulator.ts @@ -0,0 +1,63 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {IPAddress} from '../IPAddress'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class EnableSimulatorMessage implements MessageBase +{ + name = 'EnableSimulator'; + messageFlags = MessageFlags.Trusted | MessageFlags.Blacklisted | MessageFlags.FrequencyLow; + id = Message.EnableSimulator; + + SimulatorInfo: { + Handle: Long; + IP: IPAddress; + Port: number; + }; + + getSize(): number + { + return 14; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeInt32LE(this.SimulatorInfo['Handle'].low, pos); + pos += 4; + buf.writeInt32LE(this.SimulatorInfo['Handle'].high, pos); + pos += 4; + this.SimulatorInfo['IP'].writeToBuffer(buf, pos); + pos += 4; + buf.writeUInt16LE(this.SimulatorInfo['Port'], pos); + pos += 2; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjSimulatorInfo: { + Handle: Long, + IP: IPAddress, + Port: number + } = { + Handle: Long.ZERO, + IP: IPAddress.zero(), + Port: 0 + }; + newObjSimulatorInfo['Handle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjSimulatorInfo['IP'] = new IPAddress(buf, pos); + pos += 4; + newObjSimulatorInfo['Port'] = buf.readUInt16LE(pos); + pos += 2; + this.SimulatorInfo = newObjSimulatorInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/Error.ts b/lib/classes/messages/Error.ts new file mode 100644 index 0000000..928e28b --- /dev/null +++ b/lib/classes/messages/Error.ts @@ -0,0 +1,106 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ErrorMessage implements MessageBase +{ + name = 'Error'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.Error; + + AgentData: { + AgentID: UUID; + }; + Data: { + Code: number; + Token: string; + ID: UUID; + System: string; + Message: string; + Data: string; + }; + + getSize(): number + { + return (this.Data['Token'].length + 1 + this.Data['System'].length + 1 + this.Data['Message'].length + 2 + this.Data['Data'].length + 2) + 36; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.Data['Code'], pos); + pos += 4; + buf.writeUInt8(this.Data['Token'].length, pos++); + buf.write(this.Data['Token'], pos); + pos += this.Data['Token'].length; + this.Data['ID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.Data['System'].length, pos++); + buf.write(this.Data['System'], pos); + pos += this.Data['System'].length; + buf.writeUInt16LE(this.Data['Message'].length, pos); + pos += 2; + buf.write(this.Data['Message'], pos); + pos += this.Data['Message'].length; + buf.writeUInt16LE(this.Data['Data'].length, pos); + pos += 2; + buf.write(this.Data['Data'], pos); + pos += this.Data['Data'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + Code: number, + Token: string, + ID: UUID, + System: string, + Message: string, + Data: string + } = { + Code: 0, + Token: '', + ID: UUID.zero(), + System: '', + Message: '', + Data: '' + }; + newObjData['Code'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjData['Token'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjData['ID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjData['System'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjData['Message'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjData['Data'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/EstateCovenantReply.ts b/lib/classes/messages/EstateCovenantReply.ts new file mode 100644 index 0000000..aa4eafc --- /dev/null +++ b/lib/classes/messages/EstateCovenantReply.ts @@ -0,0 +1,69 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class EstateCovenantReplyMessage implements MessageBase +{ + name = 'EstateCovenantReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.EstateCovenantReply; + + Data: { + CovenantID: UUID; + CovenantTimestamp: number; + EstateName: string; + EstateOwnerID: UUID; + }; + + getSize(): number + { + return (this.Data['EstateName'].length + 1) + 36; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.Data['CovenantID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.Data['CovenantTimestamp'], pos); + pos += 4; + buf.writeUInt8(this.Data['EstateName'].length, pos++); + buf.write(this.Data['EstateName'], pos); + pos += this.Data['EstateName'].length; + this.Data['EstateOwnerID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjData: { + CovenantID: UUID, + CovenantTimestamp: number, + EstateName: string, + EstateOwnerID: UUID + } = { + CovenantID: UUID.zero(), + CovenantTimestamp: 0, + EstateName: '', + EstateOwnerID: UUID.zero() + }; + newObjData['CovenantID'] = new UUID(buf, pos); + pos += 16; + newObjData['CovenantTimestamp'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjData['EstateName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjData['EstateOwnerID'] = new UUID(buf, pos); + pos += 16; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/EstateCovenantRequest.ts b/lib/classes/messages/EstateCovenantRequest.ts new file mode 100644 index 0000000..ccf7315 --- /dev/null +++ b/lib/classes/messages/EstateCovenantRequest.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class EstateCovenantRequestMessage implements MessageBase +{ + name = 'EstateCovenantRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.EstateCovenantRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + + getSize(): number + { + return 32; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/EstateOwnerMessage.ts b/lib/classes/messages/EstateOwnerMessage.ts new file mode 100644 index 0000000..73bd954 --- /dev/null +++ b/lib/classes/messages/EstateOwnerMessage.ts @@ -0,0 +1,117 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class EstateOwnerMessageMessage implements MessageBase +{ + name = 'EstateOwnerMessage'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.EstateOwnerMessage; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + TransactionID: UUID; + }; + MethodData: { + Method: string; + Invoice: UUID; + }; + ParamList: { + Parameter: string; + }[]; + + getSize(): number + { + return (this.MethodData['Method'].length + 1) + ((this.calculateVarVarSize(this.ParamList, 'Parameter', 1)) * this.ParamList.length) + 65; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.MethodData['Method'].length, pos++); + buf.write(this.MethodData['Method'], pos); + pos += this.MethodData['Method'].length; + this.MethodData['Invoice'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ParamList.length; + buf.writeUInt8(this.ParamList.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt8(this.ParamList[i]['Parameter'].length, pos++); + buf.write(this.ParamList[i]['Parameter'], pos); + pos += this.ParamList[i]['Parameter'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + TransactionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + TransactionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['TransactionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjMethodData: { + Method: string, + Invoice: UUID + } = { + Method: '', + Invoice: UUID.zero() + }; + varLength = buf.readUInt8(pos++); + newObjMethodData['Method'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjMethodData['Invoice'] = new UUID(buf, pos); + pos += 16; + this.MethodData = newObjMethodData; + const count = buf.readUInt8(pos++); + this.ParamList = []; + for (let i = 0; i < count; i++) + { + const newObjParamList: { + Parameter: string + } = { + Parameter: '' + }; + varLength = buf.readUInt8(pos++); + newObjParamList['Parameter'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ParamList.push(newObjParamList); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/EventGodDelete.ts b/lib/classes/messages/EventGodDelete.ts new file mode 100644 index 0000000..4e4f8ca --- /dev/null +++ b/lib/classes/messages/EventGodDelete.ts @@ -0,0 +1,102 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class EventGodDeleteMessage implements MessageBase +{ + name = 'EventGodDelete'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.EventGodDelete; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + EventData: { + EventID: number; + }; + QueryData: { + QueryID: UUID; + QueryText: string; + QueryFlags: number; + QueryStart: number; + }; + + getSize(): number + { + return (this.QueryData['QueryText'].length + 1) + 60; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.EventData['EventID'], pos); + pos += 4; + this.QueryData['QueryID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.QueryData['QueryText'].length, pos++); + buf.write(this.QueryData['QueryText'], pos); + pos += this.QueryData['QueryText'].length; + buf.writeUInt32LE(this.QueryData['QueryFlags'], pos); + pos += 4; + buf.writeInt32LE(this.QueryData['QueryStart'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjEventData: { + EventID: number + } = { + EventID: 0 + }; + newObjEventData['EventID'] = buf.readUInt32LE(pos); + pos += 4; + this.EventData = newObjEventData; + const newObjQueryData: { + QueryID: UUID, + QueryText: string, + QueryFlags: number, + QueryStart: number + } = { + QueryID: UUID.zero(), + QueryText: '', + QueryFlags: 0, + QueryStart: 0 + }; + newObjQueryData['QueryID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjQueryData['QueryText'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjQueryData['QueryFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjQueryData['QueryStart'] = buf.readInt32LE(pos); + pos += 4; + this.QueryData = newObjQueryData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/EventInfoReply.ts b/lib/classes/messages/EventInfoReply.ts new file mode 100644 index 0000000..2e9e16e --- /dev/null +++ b/lib/classes/messages/EventInfoReply.ts @@ -0,0 +1,158 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class EventInfoReplyMessage implements MessageBase +{ + name = 'EventInfoReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.EventInfoReply; + + AgentData: { + AgentID: UUID; + }; + EventData: { + EventID: number; + Creator: string; + Name: string; + Category: string; + Desc: string; + Date: string; + DateUTC: number; + Duration: number; + Cover: number; + Amount: number; + SimName: string; + GlobalPos: Vector3; + EventFlags: number; + }; + + getSize(): number + { + return (this.EventData['Creator'].length + 1 + this.EventData['Name'].length + 1 + this.EventData['Category'].length + 1 + this.EventData['Desc'].length + 2 + this.EventData['Date'].length + 1 + this.EventData['SimName'].length + 1) + 64; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.EventData['EventID'], pos); + pos += 4; + buf.writeUInt8(this.EventData['Creator'].length, pos++); + buf.write(this.EventData['Creator'], pos); + pos += this.EventData['Creator'].length; + buf.writeUInt8(this.EventData['Name'].length, pos++); + buf.write(this.EventData['Name'], pos); + pos += this.EventData['Name'].length; + buf.writeUInt8(this.EventData['Category'].length, pos++); + buf.write(this.EventData['Category'], pos); + pos += this.EventData['Category'].length; + buf.writeUInt16LE(this.EventData['Desc'].length, pos); + pos += 2; + buf.write(this.EventData['Desc'], pos); + pos += this.EventData['Desc'].length; + buf.writeUInt8(this.EventData['Date'].length, pos++); + buf.write(this.EventData['Date'], pos); + pos += this.EventData['Date'].length; + buf.writeUInt32LE(this.EventData['DateUTC'], pos); + pos += 4; + buf.writeUInt32LE(this.EventData['Duration'], pos); + pos += 4; + buf.writeUInt32LE(this.EventData['Cover'], pos); + pos += 4; + buf.writeUInt32LE(this.EventData['Amount'], pos); + pos += 4; + buf.writeUInt8(this.EventData['SimName'].length, pos++); + buf.write(this.EventData['SimName'], pos); + pos += this.EventData['SimName'].length; + this.EventData['GlobalPos'].writeToBuffer(buf, pos, true); + pos += 24; + buf.writeUInt32LE(this.EventData['EventFlags'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjEventData: { + EventID: number, + Creator: string, + Name: string, + Category: string, + Desc: string, + Date: string, + DateUTC: number, + Duration: number, + Cover: number, + Amount: number, + SimName: string, + GlobalPos: Vector3, + EventFlags: number + } = { + EventID: 0, + Creator: '', + Name: '', + Category: '', + Desc: '', + Date: '', + DateUTC: 0, + Duration: 0, + Cover: 0, + Amount: 0, + SimName: '', + GlobalPos: Vector3.getZero(), + EventFlags: 0 + }; + newObjEventData['EventID'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjEventData['Creator'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjEventData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjEventData['Category'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjEventData['Desc'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjEventData['Date'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjEventData['DateUTC'] = buf.readUInt32LE(pos); + pos += 4; + newObjEventData['Duration'] = buf.readUInt32LE(pos); + pos += 4; + newObjEventData['Cover'] = buf.readUInt32LE(pos); + pos += 4; + newObjEventData['Amount'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjEventData['SimName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjEventData['GlobalPos'] = new Vector3(buf, pos, true); + pos += 24; + newObjEventData['EventFlags'] = buf.readUInt32LE(pos); + pos += 4; + this.EventData = newObjEventData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/EventInfoRequest.ts b/lib/classes/messages/EventInfoRequest.ts new file mode 100644 index 0000000..29e100e --- /dev/null +++ b/lib/classes/messages/EventInfoRequest.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class EventInfoRequestMessage implements MessageBase +{ + name = 'EventInfoRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.EventInfoRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + EventData: { + EventID: number; + }; + + getSize(): number + { + return 36; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.EventData['EventID'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjEventData: { + EventID: number + } = { + EventID: 0 + }; + newObjEventData['EventID'] = buf.readUInt32LE(pos); + pos += 4; + this.EventData = newObjEventData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/EventLocationReply.ts b/lib/classes/messages/EventLocationReply.ts new file mode 100644 index 0000000..433686f --- /dev/null +++ b/lib/classes/messages/EventLocationReply.ts @@ -0,0 +1,72 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class EventLocationReplyMessage implements MessageBase +{ + name = 'EventLocationReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.EventLocationReply; + + QueryData: { + QueryID: UUID; + }; + EventData: { + Success: boolean; + RegionID: UUID; + RegionPos: Vector3; + }; + + getSize(): number + { + return 45; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.QueryData['QueryID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.EventData['Success']) ? 1 : 0, pos++); + this.EventData['RegionID'].writeToBuffer(buf, pos); + pos += 16; + this.EventData['RegionPos'].writeToBuffer(buf, pos, false); + pos += 12; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjQueryData: { + QueryID: UUID + } = { + QueryID: UUID.zero() + }; + newObjQueryData['QueryID'] = new UUID(buf, pos); + pos += 16; + this.QueryData = newObjQueryData; + const newObjEventData: { + Success: boolean, + RegionID: UUID, + RegionPos: Vector3 + } = { + Success: false, + RegionID: UUID.zero(), + RegionPos: Vector3.getZero() + }; + newObjEventData['Success'] = (buf.readUInt8(pos++) === 1); + newObjEventData['RegionID'] = new UUID(buf, pos); + pos += 16; + newObjEventData['RegionPos'] = new Vector3(buf, pos, false); + pos += 12; + this.EventData = newObjEventData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/EventLocationRequest.ts b/lib/classes/messages/EventLocationRequest.ts new file mode 100644 index 0000000..5300305 --- /dev/null +++ b/lib/classes/messages/EventLocationRequest.ts @@ -0,0 +1,59 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class EventLocationRequestMessage implements MessageBase +{ + name = 'EventLocationRequest'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.EventLocationRequest; + + QueryData: { + QueryID: UUID; + }; + EventData: { + EventID: number; + }; + + getSize(): number + { + return 20; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.QueryData['QueryID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.EventData['EventID'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjQueryData: { + QueryID: UUID + } = { + QueryID: UUID.zero() + }; + newObjQueryData['QueryID'] = new UUID(buf, pos); + pos += 16; + this.QueryData = newObjQueryData; + const newObjEventData: { + EventID: number + } = { + EventID: 0 + }; + newObjEventData['EventID'] = buf.readUInt32LE(pos); + pos += 4; + this.EventData = newObjEventData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/EventNotificationAddRequest.ts b/lib/classes/messages/EventNotificationAddRequest.ts new file mode 100644 index 0000000..3fa8820 --- /dev/null +++ b/lib/classes/messages/EventNotificationAddRequest.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class EventNotificationAddRequestMessage implements MessageBase +{ + name = 'EventNotificationAddRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.EventNotificationAddRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + EventData: { + EventID: number; + }; + + getSize(): number + { + return 36; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.EventData['EventID'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjEventData: { + EventID: number + } = { + EventID: 0 + }; + newObjEventData['EventID'] = buf.readUInt32LE(pos); + pos += 4; + this.EventData = newObjEventData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/EventNotificationRemoveRequest.ts b/lib/classes/messages/EventNotificationRemoveRequest.ts new file mode 100644 index 0000000..8701f27 --- /dev/null +++ b/lib/classes/messages/EventNotificationRemoveRequest.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class EventNotificationRemoveRequestMessage implements MessageBase +{ + name = 'EventNotificationRemoveRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.EventNotificationRemoveRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + EventData: { + EventID: number; + }; + + getSize(): number + { + return 36; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.EventData['EventID'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjEventData: { + EventID: number + } = { + EventID: 0 + }; + newObjEventData['EventID'] = buf.readUInt32LE(pos); + pos += 4; + this.EventData = newObjEventData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/FeatureDisabled.ts b/lib/classes/messages/FeatureDisabled.ts new file mode 100644 index 0000000..4b7febb --- /dev/null +++ b/lib/classes/messages/FeatureDisabled.ts @@ -0,0 +1,62 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class FeatureDisabledMessage implements MessageBase +{ + name = 'FeatureDisabled'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.FeatureDisabled; + + FailureInfo: { + ErrorMessage: string; + AgentID: UUID; + TransactionID: UUID; + }; + + getSize(): number + { + return (this.FailureInfo['ErrorMessage'].length + 1) + 32; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt8(this.FailureInfo['ErrorMessage'].length, pos++); + buf.write(this.FailureInfo['ErrorMessage'], pos); + pos += this.FailureInfo['ErrorMessage'].length; + this.FailureInfo['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.FailureInfo['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjFailureInfo: { + ErrorMessage: string, + AgentID: UUID, + TransactionID: UUID + } = { + ErrorMessage: '', + AgentID: UUID.zero(), + TransactionID: UUID.zero() + }; + varLength = buf.readUInt8(pos++); + newObjFailureInfo['ErrorMessage'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjFailureInfo['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjFailureInfo['TransactionID'] = new UUID(buf, pos); + pos += 16; + this.FailureInfo = newObjFailureInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/FetchInventory.ts b/lib/classes/messages/FetchInventory.ts new file mode 100644 index 0000000..ddf2cb1 --- /dev/null +++ b/lib/classes/messages/FetchInventory.ts @@ -0,0 +1,83 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class FetchInventoryMessage implements MessageBase +{ + name = 'FetchInventory'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.FetchInventory; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + InventoryData: { + OwnerID: UUID; + ItemID: UUID; + }[]; + + getSize(): number + { + return ((32) * this.InventoryData.length) + 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.InventoryData.length; + buf.writeUInt8(this.InventoryData.length, pos++); + for (let i = 0; i < count; i++) + { + this.InventoryData[i]['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData[i]['ItemID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.InventoryData = []; + for (let i = 0; i < count; i++) + { + const newObjInventoryData: { + OwnerID: UUID, + ItemID: UUID + } = { + OwnerID: UUID.zero(), + ItemID: UUID.zero() + }; + newObjInventoryData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['ItemID'] = new UUID(buf, pos); + pos += 16; + this.InventoryData.push(newObjInventoryData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/FetchInventoryDescendents.ts b/lib/classes/messages/FetchInventoryDescendents.ts new file mode 100644 index 0000000..835dbf1 --- /dev/null +++ b/lib/classes/messages/FetchInventoryDescendents.ts @@ -0,0 +1,90 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class FetchInventoryDescendentsMessage implements MessageBase +{ + name = 'FetchInventoryDescendents'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.FetchInventoryDescendents; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + InventoryData: { + FolderID: UUID; + OwnerID: UUID; + SortOrder: number; + FetchFolders: boolean; + FetchItems: boolean; + }; + + getSize(): number + { + return 70; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData['FolderID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.InventoryData['SortOrder'], pos); + pos += 4; + buf.writeUInt8((this.InventoryData['FetchFolders']) ? 1 : 0, pos++); + buf.writeUInt8((this.InventoryData['FetchItems']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjInventoryData: { + FolderID: UUID, + OwnerID: UUID, + SortOrder: number, + FetchFolders: boolean, + FetchItems: boolean + } = { + FolderID: UUID.zero(), + OwnerID: UUID.zero(), + SortOrder: 0, + FetchFolders: false, + FetchItems: false + }; + newObjInventoryData['FolderID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['SortOrder'] = buf.readInt32LE(pos); + pos += 4; + newObjInventoryData['FetchFolders'] = (buf.readUInt8(pos++) === 1); + newObjInventoryData['FetchItems'] = (buf.readUInt8(pos++) === 1); + this.InventoryData = newObjInventoryData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/FetchInventoryReply.ts b/lib/classes/messages/FetchInventoryReply.ts new file mode 100644 index 0000000..816de73 --- /dev/null +++ b/lib/classes/messages/FetchInventoryReply.ts @@ -0,0 +1,215 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class FetchInventoryReplyMessage implements MessageBase +{ + name = 'FetchInventoryReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.FetchInventoryReply; + + AgentData: { + AgentID: UUID; + }; + InventoryData: { + ItemID: UUID; + FolderID: UUID; + CreatorID: UUID; + OwnerID: UUID; + GroupID: UUID; + BaseMask: number; + OwnerMask: number; + GroupMask: number; + EveryoneMask: number; + NextOwnerMask: number; + GroupOwned: boolean; + AssetID: UUID; + Type: number; + InvType: number; + Flags: number; + SaleType: number; + SalePrice: number; + Name: string; + Description: string; + CreationDate: number; + CRC: number; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.InventoryData, 'Name', 1) + this.calculateVarVarSize(this.InventoryData, 'Description', 1) + 136) * this.InventoryData.length) + 17; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.InventoryData.length; + buf.writeUInt8(this.InventoryData.length, pos++); + for (let i = 0; i < count; i++) + { + this.InventoryData[i]['ItemID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData[i]['FolderID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData[i]['CreatorID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData[i]['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData[i]['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.InventoryData[i]['BaseMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData[i]['OwnerMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData[i]['GroupMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData[i]['EveryoneMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData[i]['NextOwnerMask'], pos); + pos += 4; + buf.writeUInt8((this.InventoryData[i]['GroupOwned']) ? 1 : 0, pos++); + this.InventoryData[i]['AssetID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt8(this.InventoryData[i]['Type'], pos++); + buf.writeInt8(this.InventoryData[i]['InvType'], pos++); + buf.writeUInt32LE(this.InventoryData[i]['Flags'], pos); + pos += 4; + buf.writeUInt8(this.InventoryData[i]['SaleType'], pos++); + buf.writeInt32LE(this.InventoryData[i]['SalePrice'], pos); + pos += 4; + buf.writeUInt8(this.InventoryData[i]['Name'].length, pos++); + buf.write(this.InventoryData[i]['Name'], pos); + pos += this.InventoryData[i]['Name'].length; + buf.writeUInt8(this.InventoryData[i]['Description'].length, pos++); + buf.write(this.InventoryData[i]['Description'], pos); + pos += this.InventoryData[i]['Description'].length; + buf.writeInt32LE(this.InventoryData[i]['CreationDate'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData[i]['CRC'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.InventoryData = []; + for (let i = 0; i < count; i++) + { + const newObjInventoryData: { + ItemID: UUID, + FolderID: UUID, + CreatorID: UUID, + OwnerID: UUID, + GroupID: UUID, + BaseMask: number, + OwnerMask: number, + GroupMask: number, + EveryoneMask: number, + NextOwnerMask: number, + GroupOwned: boolean, + AssetID: UUID, + Type: number, + InvType: number, + Flags: number, + SaleType: number, + SalePrice: number, + Name: string, + Description: string, + CreationDate: number, + CRC: number + } = { + ItemID: UUID.zero(), + FolderID: UUID.zero(), + CreatorID: UUID.zero(), + OwnerID: UUID.zero(), + GroupID: UUID.zero(), + BaseMask: 0, + OwnerMask: 0, + GroupMask: 0, + EveryoneMask: 0, + NextOwnerMask: 0, + GroupOwned: false, + AssetID: UUID.zero(), + Type: 0, + InvType: 0, + Flags: 0, + SaleType: 0, + SalePrice: 0, + Name: '', + Description: '', + CreationDate: 0, + CRC: 0 + }; + newObjInventoryData['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['FolderID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['CreatorID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['BaseMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['OwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['GroupMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['EveryoneMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['NextOwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['GroupOwned'] = (buf.readUInt8(pos++) === 1); + newObjInventoryData['AssetID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['Type'] = buf.readInt8(pos++); + newObjInventoryData['InvType'] = buf.readInt8(pos++); + newObjInventoryData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['SaleType'] = buf.readUInt8(pos++); + newObjInventoryData['SalePrice'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjInventoryData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjInventoryData['Description'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjInventoryData['CreationDate'] = buf.readInt32LE(pos); + pos += 4; + newObjInventoryData['CRC'] = buf.readUInt32LE(pos); + pos += 4; + this.InventoryData.push(newObjInventoryData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/FindAgent.ts b/lib/classes/messages/FindAgent.ts new file mode 100644 index 0000000..bee1ebb --- /dev/null +++ b/lib/classes/messages/FindAgent.ts @@ -0,0 +1,91 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {IPAddress} from '../IPAddress'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class FindAgentMessage implements MessageBase +{ + name = 'FindAgent'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.FindAgent; + + AgentBlock: { + Hunter: UUID; + Prey: UUID; + SpaceIP: IPAddress; + }; + LocationBlock: { + GlobalX: number; + GlobalY: number; + }[]; + + getSize(): number + { + return ((16) * this.LocationBlock.length) + 37; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentBlock['Hunter'].writeToBuffer(buf, pos); + pos += 16; + this.AgentBlock['Prey'].writeToBuffer(buf, pos); + pos += 16; + this.AgentBlock['SpaceIP'].writeToBuffer(buf, pos); + pos += 4; + const count = this.LocationBlock.length; + buf.writeUInt8(this.LocationBlock.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeDoubleLE(this.LocationBlock[i]['GlobalX'], pos); + pos += 8; + buf.writeDoubleLE(this.LocationBlock[i]['GlobalY'], pos); + pos += 8; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentBlock: { + Hunter: UUID, + Prey: UUID, + SpaceIP: IPAddress + } = { + Hunter: UUID.zero(), + Prey: UUID.zero(), + SpaceIP: IPAddress.zero() + }; + newObjAgentBlock['Hunter'] = new UUID(buf, pos); + pos += 16; + newObjAgentBlock['Prey'] = new UUID(buf, pos); + pos += 16; + newObjAgentBlock['SpaceIP'] = new IPAddress(buf, pos); + pos += 4; + this.AgentBlock = newObjAgentBlock; + const count = buf.readUInt8(pos++); + this.LocationBlock = []; + for (let i = 0; i < count; i++) + { + const newObjLocationBlock: { + GlobalX: number, + GlobalY: number + } = { + GlobalX: 0, + GlobalY: 0 + }; + newObjLocationBlock['GlobalX'] = buf.readDoubleLE(pos); + pos += 8; + newObjLocationBlock['GlobalY'] = buf.readDoubleLE(pos); + pos += 8; + this.LocationBlock.push(newObjLocationBlock); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ForceObjectSelect.ts b/lib/classes/messages/ForceObjectSelect.ts new file mode 100644 index 0000000..2bf9373 --- /dev/null +++ b/lib/classes/messages/ForceObjectSelect.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ForceObjectSelectMessage implements MessageBase +{ + name = 'ForceObjectSelect'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.ForceObjectSelect; + + Header: { + ResetList: boolean; + }; + Data: { + LocalID: number; + }[]; + + getSize(): number + { + return ((4) * this.Data.length) + 2; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt8((this.Header['ResetList']) ? 1 : 0, pos++); + const count = this.Data.length; + buf.writeUInt8(this.Data.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.Data[i]['LocalID'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjHeader: { + ResetList: boolean + } = { + ResetList: false + }; + newObjHeader['ResetList'] = (buf.readUInt8(pos++) === 1); + this.Header = newObjHeader; + const count = buf.readUInt8(pos++); + this.Data = []; + for (let i = 0; i < count; i++) + { + const newObjData: { + LocalID: number + } = { + LocalID: 0 + }; + newObjData['LocalID'] = buf.readUInt32LE(pos); + pos += 4; + this.Data.push(newObjData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ForceScriptControlRelease.ts b/lib/classes/messages/ForceScriptControlRelease.ts new file mode 100644 index 0000000..9b7ec3b --- /dev/null +++ b/lib/classes/messages/ForceScriptControlRelease.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ForceScriptControlReleaseMessage implements MessageBase +{ + name = 'ForceScriptControlRelease'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.ForceScriptControlRelease; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + + getSize(): number + { + return 32; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/FormFriendship.ts b/lib/classes/messages/FormFriendship.ts new file mode 100644 index 0000000..4a07f28 --- /dev/null +++ b/lib/classes/messages/FormFriendship.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class FormFriendshipMessage implements MessageBase +{ + name = 'FormFriendship'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.FormFriendship; + + AgentBlock: { + SourceID: UUID; + DestID: UUID; + }; + + getSize(): number + { + return 32; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentBlock['SourceID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentBlock['DestID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentBlock: { + SourceID: UUID, + DestID: UUID + } = { + SourceID: UUID.zero(), + DestID: UUID.zero() + }; + newObjAgentBlock['SourceID'] = new UUID(buf, pos); + pos += 16; + newObjAgentBlock['DestID'] = new UUID(buf, pos); + pos += 16; + this.AgentBlock = newObjAgentBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/FreezeUser.ts b/lib/classes/messages/FreezeUser.ts new file mode 100644 index 0000000..a79fb9e --- /dev/null +++ b/lib/classes/messages/FreezeUser.ts @@ -0,0 +1,73 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class FreezeUserMessage implements MessageBase +{ + name = 'FreezeUser'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.FreezeUser; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + TargetID: UUID; + Flags: number; + }; + + getSize(): number + { + return 52; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['TargetID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.Data['Flags'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + TargetID: UUID, + Flags: number + } = { + TargetID: UUID.zero(), + Flags: 0 + }; + newObjData['TargetID'] = new UUID(buf, pos); + pos += 16; + newObjData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GenericMessage.ts b/lib/classes/messages/GenericMessage.ts new file mode 100644 index 0000000..f797446 --- /dev/null +++ b/lib/classes/messages/GenericMessage.ts @@ -0,0 +1,117 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GenericMessageMessage implements MessageBase +{ + name = 'GenericMessage'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.GenericMessage; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + TransactionID: UUID; + }; + MethodData: { + Method: string; + Invoice: UUID; + }; + ParamList: { + Parameter: string; + }[]; + + getSize(): number + { + return (this.MethodData['Method'].length + 1) + ((this.calculateVarVarSize(this.ParamList, 'Parameter', 1)) * this.ParamList.length) + 65; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.MethodData['Method'].length, pos++); + buf.write(this.MethodData['Method'], pos); + pos += this.MethodData['Method'].length; + this.MethodData['Invoice'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ParamList.length; + buf.writeUInt8(this.ParamList.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt8(this.ParamList[i]['Parameter'].length, pos++); + buf.write(this.ParamList[i]['Parameter'], pos); + pos += this.ParamList[i]['Parameter'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + TransactionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + TransactionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['TransactionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjMethodData: { + Method: string, + Invoice: UUID + } = { + Method: '', + Invoice: UUID.zero() + }; + varLength = buf.readUInt8(pos++); + newObjMethodData['Method'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjMethodData['Invoice'] = new UUID(buf, pos); + pos += 16; + this.MethodData = newObjMethodData; + const count = buf.readUInt8(pos++); + this.ParamList = []; + for (let i = 0; i < count; i++) + { + const newObjParamList: { + Parameter: string + } = { + Parameter: '' + }; + varLength = buf.readUInt8(pos++); + newObjParamList['Parameter'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ParamList.push(newObjParamList); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GetScriptRunning.ts b/lib/classes/messages/GetScriptRunning.ts new file mode 100644 index 0000000..851344a --- /dev/null +++ b/lib/classes/messages/GetScriptRunning.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GetScriptRunningMessage implements MessageBase +{ + name = 'GetScriptRunning'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.GetScriptRunning; + + Script: { + ObjectID: UUID; + ItemID: UUID; + }; + + getSize(): number + { + return 32; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.Script['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + this.Script['ItemID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjScript: { + ObjectID: UUID, + ItemID: UUID + } = { + ObjectID: UUID.zero(), + ItemID: UUID.zero() + }; + newObjScript['ObjectID'] = new UUID(buf, pos); + pos += 16; + newObjScript['ItemID'] = new UUID(buf, pos); + pos += 16; + this.Script = newObjScript; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GodKickUser.ts b/lib/classes/messages/GodKickUser.ts new file mode 100644 index 0000000..9cad66e --- /dev/null +++ b/lib/classes/messages/GodKickUser.ts @@ -0,0 +1,78 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GodKickUserMessage implements MessageBase +{ + name = 'GodKickUser'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.GodKickUser; + + UserInfo: { + GodID: UUID; + GodSessionID: UUID; + AgentID: UUID; + KickFlags: number; + Reason: string; + }; + + getSize(): number + { + return (this.UserInfo['Reason'].length + 2) + 52; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.UserInfo['GodID'].writeToBuffer(buf, pos); + pos += 16; + this.UserInfo['GodSessionID'].writeToBuffer(buf, pos); + pos += 16; + this.UserInfo['AgentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.UserInfo['KickFlags'], pos); + pos += 4; + buf.writeUInt16LE(this.UserInfo['Reason'].length, pos); + pos += 2; + buf.write(this.UserInfo['Reason'], pos); + pos += this.UserInfo['Reason'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjUserInfo: { + GodID: UUID, + GodSessionID: UUID, + AgentID: UUID, + KickFlags: number, + Reason: string + } = { + GodID: UUID.zero(), + GodSessionID: UUID.zero(), + AgentID: UUID.zero(), + KickFlags: 0, + Reason: '' + }; + newObjUserInfo['GodID'] = new UUID(buf, pos); + pos += 16; + newObjUserInfo['GodSessionID'] = new UUID(buf, pos); + pos += 16; + newObjUserInfo['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjUserInfo['KickFlags'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjUserInfo['Reason'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.UserInfo = newObjUserInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GodUpdateRegionInfo.ts b/lib/classes/messages/GodUpdateRegionInfo.ts new file mode 100644 index 0000000..3b69a29 --- /dev/null +++ b/lib/classes/messages/GodUpdateRegionInfo.ts @@ -0,0 +1,143 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GodUpdateRegionInfoMessage implements MessageBase +{ + name = 'GodUpdateRegionInfo'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.GodUpdateRegionInfo; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + RegionInfo: { + SimName: string; + EstateID: number; + ParentEstateID: number; + RegionFlags: number; + BillableFactor: number; + PricePerMeter: number; + RedirectGridX: number; + RedirectGridY: number; + }; + RegionInfo2: { + RegionFlagsExtended: Long; + }[]; + + getSize(): number + { + return (this.RegionInfo['SimName'].length + 1) + ((8) * this.RegionInfo2.length) + 61; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.RegionInfo['SimName'].length, pos++); + buf.write(this.RegionInfo['SimName'], pos); + pos += this.RegionInfo['SimName'].length; + buf.writeUInt32LE(this.RegionInfo['EstateID'], pos); + pos += 4; + buf.writeUInt32LE(this.RegionInfo['ParentEstateID'], pos); + pos += 4; + buf.writeUInt32LE(this.RegionInfo['RegionFlags'], pos); + pos += 4; + buf.writeFloatLE(this.RegionInfo['BillableFactor'], pos); + pos += 4; + buf.writeInt32LE(this.RegionInfo['PricePerMeter'], pos); + pos += 4; + buf.writeInt32LE(this.RegionInfo['RedirectGridX'], pos); + pos += 4; + buf.writeInt32LE(this.RegionInfo['RedirectGridY'], pos); + pos += 4; + const count = this.RegionInfo2.length; + buf.writeUInt8(this.RegionInfo2.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeInt32LE(this.RegionInfo2[i]['RegionFlagsExtended'].low, pos); + pos += 4; + buf.writeInt32LE(this.RegionInfo2[i]['RegionFlagsExtended'].high, pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjRegionInfo: { + SimName: string, + EstateID: number, + ParentEstateID: number, + RegionFlags: number, + BillableFactor: number, + PricePerMeter: number, + RedirectGridX: number, + RedirectGridY: number + } = { + SimName: '', + EstateID: 0, + ParentEstateID: 0, + RegionFlags: 0, + BillableFactor: 0, + PricePerMeter: 0, + RedirectGridX: 0, + RedirectGridY: 0 + }; + varLength = buf.readUInt8(pos++); + newObjRegionInfo['SimName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjRegionInfo['EstateID'] = buf.readUInt32LE(pos); + pos += 4; + newObjRegionInfo['ParentEstateID'] = buf.readUInt32LE(pos); + pos += 4; + newObjRegionInfo['RegionFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjRegionInfo['BillableFactor'] = buf.readFloatLE(pos); + pos += 4; + newObjRegionInfo['PricePerMeter'] = buf.readInt32LE(pos); + pos += 4; + newObjRegionInfo['RedirectGridX'] = buf.readInt32LE(pos); + pos += 4; + newObjRegionInfo['RedirectGridY'] = buf.readInt32LE(pos); + pos += 4; + this.RegionInfo = newObjRegionInfo; + const count = buf.readUInt8(pos++); + this.RegionInfo2 = []; + for (let i = 0; i < count; i++) + { + const newObjRegionInfo2: { + RegionFlagsExtended: Long + } = { + RegionFlagsExtended: Long.ZERO + }; + newObjRegionInfo2['RegionFlagsExtended'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + this.RegionInfo2.push(newObjRegionInfo2); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GodlikeMessage.ts b/lib/classes/messages/GodlikeMessage.ts new file mode 100644 index 0000000..99b5f21 --- /dev/null +++ b/lib/classes/messages/GodlikeMessage.ts @@ -0,0 +1,117 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GodlikeMessageMessage implements MessageBase +{ + name = 'GodlikeMessage'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.GodlikeMessage; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + TransactionID: UUID; + }; + MethodData: { + Method: string; + Invoice: UUID; + }; + ParamList: { + Parameter: string; + }[]; + + getSize(): number + { + return (this.MethodData['Method'].length + 1) + ((this.calculateVarVarSize(this.ParamList, 'Parameter', 1)) * this.ParamList.length) + 65; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.MethodData['Method'].length, pos++); + buf.write(this.MethodData['Method'], pos); + pos += this.MethodData['Method'].length; + this.MethodData['Invoice'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ParamList.length; + buf.writeUInt8(this.ParamList.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt8(this.ParamList[i]['Parameter'].length, pos++); + buf.write(this.ParamList[i]['Parameter'], pos); + pos += this.ParamList[i]['Parameter'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + TransactionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + TransactionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['TransactionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjMethodData: { + Method: string, + Invoice: UUID + } = { + Method: '', + Invoice: UUID.zero() + }; + varLength = buf.readUInt8(pos++); + newObjMethodData['Method'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjMethodData['Invoice'] = new UUID(buf, pos); + pos += 16; + this.MethodData = newObjMethodData; + const count = buf.readUInt8(pos++); + this.ParamList = []; + for (let i = 0; i < count; i++) + { + const newObjParamList: { + Parameter: string + } = { + Parameter: '' + }; + varLength = buf.readUInt8(pos++); + newObjParamList['Parameter'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ParamList.push(newObjParamList); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GrantGodlikePowers.ts b/lib/classes/messages/GrantGodlikePowers.ts new file mode 100644 index 0000000..87dc92e --- /dev/null +++ b/lib/classes/messages/GrantGodlikePowers.ts @@ -0,0 +1,71 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GrantGodlikePowersMessage implements MessageBase +{ + name = 'GrantGodlikePowers'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.GrantGodlikePowers; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + GrantData: { + GodLevel: number; + Token: UUID; + }; + + getSize(): number + { + return 49; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.GrantData['GodLevel'], pos++); + this.GrantData['Token'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjGrantData: { + GodLevel: number, + Token: UUID + } = { + GodLevel: 0, + Token: UUID.zero() + }; + newObjGrantData['GodLevel'] = buf.readUInt8(pos++); + newObjGrantData['Token'] = new UUID(buf, pos); + pos += 16; + this.GrantData = newObjGrantData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GrantUserRights.ts b/lib/classes/messages/GrantUserRights.ts new file mode 100644 index 0000000..2f735c9 --- /dev/null +++ b/lib/classes/messages/GrantUserRights.ts @@ -0,0 +1,83 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GrantUserRightsMessage implements MessageBase +{ + name = 'GrantUserRights'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.GrantUserRights; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Rights: { + AgentRelated: UUID; + RelatedRights: number; + }[]; + + getSize(): number + { + return ((20) * this.Rights.length) + 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.Rights.length; + buf.writeUInt8(this.Rights.length, pos++); + for (let i = 0; i < count; i++) + { + this.Rights[i]['AgentRelated'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.Rights[i]['RelatedRights'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.Rights = []; + for (let i = 0; i < count; i++) + { + const newObjRights: { + AgentRelated: UUID, + RelatedRights: number + } = { + AgentRelated: UUID.zero(), + RelatedRights: 0 + }; + newObjRights['AgentRelated'] = new UUID(buf, pos); + pos += 16; + newObjRights['RelatedRights'] = buf.readInt32LE(pos); + pos += 4; + this.Rights.push(newObjRights); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupAccountDetailsReply.ts b/lib/classes/messages/GroupAccountDetailsReply.ts new file mode 100644 index 0000000..ffd53d1 --- /dev/null +++ b/lib/classes/messages/GroupAccountDetailsReply.ts @@ -0,0 +1,131 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupAccountDetailsReplyMessage implements MessageBase +{ + name = 'GroupAccountDetailsReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.GroupAccountDetailsReply; + + AgentData: { + AgentID: UUID; + GroupID: UUID; + }; + MoneyData: { + RequestID: UUID; + IntervalDays: number; + CurrentInterval: number; + StartDate: string; + }; + HistoryData: { + Description: string; + Amount: number; + }[]; + + getSize(): number + { + return (this.MoneyData['StartDate'].length + 1) + ((this.calculateVarVarSize(this.HistoryData, 'Description', 1) + 4) * this.HistoryData.length) + 57; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + this.MoneyData['RequestID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.MoneyData['IntervalDays'], pos); + pos += 4; + buf.writeInt32LE(this.MoneyData['CurrentInterval'], pos); + pos += 4; + buf.writeUInt8(this.MoneyData['StartDate'].length, pos++); + buf.write(this.MoneyData['StartDate'], pos); + pos += this.MoneyData['StartDate'].length; + const count = this.HistoryData.length; + buf.writeUInt8(this.HistoryData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt8(this.HistoryData[i]['Description'].length, pos++); + buf.write(this.HistoryData[i]['Description'], pos); + pos += this.HistoryData[i]['Description'].length; + buf.writeInt32LE(this.HistoryData[i]['Amount'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + GroupID: UUID + } = { + AgentID: UUID.zero(), + GroupID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjMoneyData: { + RequestID: UUID, + IntervalDays: number, + CurrentInterval: number, + StartDate: string + } = { + RequestID: UUID.zero(), + IntervalDays: 0, + CurrentInterval: 0, + StartDate: '' + }; + newObjMoneyData['RequestID'] = new UUID(buf, pos); + pos += 16; + newObjMoneyData['IntervalDays'] = buf.readInt32LE(pos); + pos += 4; + newObjMoneyData['CurrentInterval'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjMoneyData['StartDate'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.MoneyData = newObjMoneyData; + const count = buf.readUInt8(pos++); + this.HistoryData = []; + for (let i = 0; i < count; i++) + { + const newObjHistoryData: { + Description: string, + Amount: number + } = { + Description: '', + Amount: 0 + }; + varLength = buf.readUInt8(pos++); + newObjHistoryData['Description'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjHistoryData['Amount'] = buf.readInt32LE(pos); + pos += 4; + this.HistoryData.push(newObjHistoryData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupAccountDetailsRequest.ts b/lib/classes/messages/GroupAccountDetailsRequest.ts new file mode 100644 index 0000000..f6b4ee3 --- /dev/null +++ b/lib/classes/messages/GroupAccountDetailsRequest.ts @@ -0,0 +1,87 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupAccountDetailsRequestMessage implements MessageBase +{ + name = 'GroupAccountDetailsRequest'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.GroupAccountDetailsRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + GroupID: UUID; + }; + MoneyData: { + RequestID: UUID; + IntervalDays: number; + CurrentInterval: number; + }; + + getSize(): number + { + return 72; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + this.MoneyData['RequestID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.MoneyData['IntervalDays'], pos); + pos += 4; + buf.writeInt32LE(this.MoneyData['CurrentInterval'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + GroupID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + GroupID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjMoneyData: { + RequestID: UUID, + IntervalDays: number, + CurrentInterval: number + } = { + RequestID: UUID.zero(), + IntervalDays: 0, + CurrentInterval: 0 + }; + newObjMoneyData['RequestID'] = new UUID(buf, pos); + pos += 16; + newObjMoneyData['IntervalDays'] = buf.readInt32LE(pos); + pos += 4; + newObjMoneyData['CurrentInterval'] = buf.readInt32LE(pos); + pos += 4; + this.MoneyData = newObjMoneyData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupAccountSummaryReply.ts b/lib/classes/messages/GroupAccountSummaryReply.ts new file mode 100644 index 0000000..a2c4c6d --- /dev/null +++ b/lib/classes/messages/GroupAccountSummaryReply.ts @@ -0,0 +1,205 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupAccountSummaryReplyMessage implements MessageBase +{ + name = 'GroupAccountSummaryReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.GroupAccountSummaryReply; + + AgentData: { + AgentID: UUID; + GroupID: UUID; + }; + MoneyData: { + RequestID: UUID; + IntervalDays: number; + CurrentInterval: number; + StartDate: string; + Balance: number; + TotalCredits: number; + TotalDebits: number; + ObjectTaxCurrent: number; + LightTaxCurrent: number; + LandTaxCurrent: number; + GroupTaxCurrent: number; + ParcelDirFeeCurrent: number; + ObjectTaxEstimate: number; + LightTaxEstimate: number; + LandTaxEstimate: number; + GroupTaxEstimate: number; + ParcelDirFeeEstimate: number; + NonExemptMembers: number; + LastTaxDate: string; + TaxDate: string; + }; + + getSize(): number + { + return (this.MoneyData['StartDate'].length + 1 + this.MoneyData['LastTaxDate'].length + 1 + this.MoneyData['TaxDate'].length + 1) + 112; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + this.MoneyData['RequestID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.MoneyData['IntervalDays'], pos); + pos += 4; + buf.writeInt32LE(this.MoneyData['CurrentInterval'], pos); + pos += 4; + buf.writeUInt8(this.MoneyData['StartDate'].length, pos++); + buf.write(this.MoneyData['StartDate'], pos); + pos += this.MoneyData['StartDate'].length; + buf.writeInt32LE(this.MoneyData['Balance'], pos); + pos += 4; + buf.writeInt32LE(this.MoneyData['TotalCredits'], pos); + pos += 4; + buf.writeInt32LE(this.MoneyData['TotalDebits'], pos); + pos += 4; + buf.writeInt32LE(this.MoneyData['ObjectTaxCurrent'], pos); + pos += 4; + buf.writeInt32LE(this.MoneyData['LightTaxCurrent'], pos); + pos += 4; + buf.writeInt32LE(this.MoneyData['LandTaxCurrent'], pos); + pos += 4; + buf.writeInt32LE(this.MoneyData['GroupTaxCurrent'], pos); + pos += 4; + buf.writeInt32LE(this.MoneyData['ParcelDirFeeCurrent'], pos); + pos += 4; + buf.writeInt32LE(this.MoneyData['ObjectTaxEstimate'], pos); + pos += 4; + buf.writeInt32LE(this.MoneyData['LightTaxEstimate'], pos); + pos += 4; + buf.writeInt32LE(this.MoneyData['LandTaxEstimate'], pos); + pos += 4; + buf.writeInt32LE(this.MoneyData['GroupTaxEstimate'], pos); + pos += 4; + buf.writeInt32LE(this.MoneyData['ParcelDirFeeEstimate'], pos); + pos += 4; + buf.writeInt32LE(this.MoneyData['NonExemptMembers'], pos); + pos += 4; + buf.writeUInt8(this.MoneyData['LastTaxDate'].length, pos++); + buf.write(this.MoneyData['LastTaxDate'], pos); + pos += this.MoneyData['LastTaxDate'].length; + buf.writeUInt8(this.MoneyData['TaxDate'].length, pos++); + buf.write(this.MoneyData['TaxDate'], pos); + pos += this.MoneyData['TaxDate'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + GroupID: UUID + } = { + AgentID: UUID.zero(), + GroupID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjMoneyData: { + RequestID: UUID, + IntervalDays: number, + CurrentInterval: number, + StartDate: string, + Balance: number, + TotalCredits: number, + TotalDebits: number, + ObjectTaxCurrent: number, + LightTaxCurrent: number, + LandTaxCurrent: number, + GroupTaxCurrent: number, + ParcelDirFeeCurrent: number, + ObjectTaxEstimate: number, + LightTaxEstimate: number, + LandTaxEstimate: number, + GroupTaxEstimate: number, + ParcelDirFeeEstimate: number, + NonExemptMembers: number, + LastTaxDate: string, + TaxDate: string + } = { + RequestID: UUID.zero(), + IntervalDays: 0, + CurrentInterval: 0, + StartDate: '', + Balance: 0, + TotalCredits: 0, + TotalDebits: 0, + ObjectTaxCurrent: 0, + LightTaxCurrent: 0, + LandTaxCurrent: 0, + GroupTaxCurrent: 0, + ParcelDirFeeCurrent: 0, + ObjectTaxEstimate: 0, + LightTaxEstimate: 0, + LandTaxEstimate: 0, + GroupTaxEstimate: 0, + ParcelDirFeeEstimate: 0, + NonExemptMembers: 0, + LastTaxDate: '', + TaxDate: '' + }; + newObjMoneyData['RequestID'] = new UUID(buf, pos); + pos += 16; + newObjMoneyData['IntervalDays'] = buf.readInt32LE(pos); + pos += 4; + newObjMoneyData['CurrentInterval'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjMoneyData['StartDate'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjMoneyData['Balance'] = buf.readInt32LE(pos); + pos += 4; + newObjMoneyData['TotalCredits'] = buf.readInt32LE(pos); + pos += 4; + newObjMoneyData['TotalDebits'] = buf.readInt32LE(pos); + pos += 4; + newObjMoneyData['ObjectTaxCurrent'] = buf.readInt32LE(pos); + pos += 4; + newObjMoneyData['LightTaxCurrent'] = buf.readInt32LE(pos); + pos += 4; + newObjMoneyData['LandTaxCurrent'] = buf.readInt32LE(pos); + pos += 4; + newObjMoneyData['GroupTaxCurrent'] = buf.readInt32LE(pos); + pos += 4; + newObjMoneyData['ParcelDirFeeCurrent'] = buf.readInt32LE(pos); + pos += 4; + newObjMoneyData['ObjectTaxEstimate'] = buf.readInt32LE(pos); + pos += 4; + newObjMoneyData['LightTaxEstimate'] = buf.readInt32LE(pos); + pos += 4; + newObjMoneyData['LandTaxEstimate'] = buf.readInt32LE(pos); + pos += 4; + newObjMoneyData['GroupTaxEstimate'] = buf.readInt32LE(pos); + pos += 4; + newObjMoneyData['ParcelDirFeeEstimate'] = buf.readInt32LE(pos); + pos += 4; + newObjMoneyData['NonExemptMembers'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjMoneyData['LastTaxDate'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjMoneyData['TaxDate'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.MoneyData = newObjMoneyData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupAccountSummaryRequest.ts b/lib/classes/messages/GroupAccountSummaryRequest.ts new file mode 100644 index 0000000..7d5679b --- /dev/null +++ b/lib/classes/messages/GroupAccountSummaryRequest.ts @@ -0,0 +1,87 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupAccountSummaryRequestMessage implements MessageBase +{ + name = 'GroupAccountSummaryRequest'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.GroupAccountSummaryRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + GroupID: UUID; + }; + MoneyData: { + RequestID: UUID; + IntervalDays: number; + CurrentInterval: number; + }; + + getSize(): number + { + return 72; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + this.MoneyData['RequestID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.MoneyData['IntervalDays'], pos); + pos += 4; + buf.writeInt32LE(this.MoneyData['CurrentInterval'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + GroupID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + GroupID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjMoneyData: { + RequestID: UUID, + IntervalDays: number, + CurrentInterval: number + } = { + RequestID: UUID.zero(), + IntervalDays: 0, + CurrentInterval: 0 + }; + newObjMoneyData['RequestID'] = new UUID(buf, pos); + pos += 16; + newObjMoneyData['IntervalDays'] = buf.readInt32LE(pos); + pos += 4; + newObjMoneyData['CurrentInterval'] = buf.readInt32LE(pos); + pos += 4; + this.MoneyData = newObjMoneyData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupAccountTransactionsReply.ts b/lib/classes/messages/GroupAccountTransactionsReply.ts new file mode 100644 index 0000000..93d8c64 --- /dev/null +++ b/lib/classes/messages/GroupAccountTransactionsReply.ts @@ -0,0 +1,156 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupAccountTransactionsReplyMessage implements MessageBase +{ + name = 'GroupAccountTransactionsReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.GroupAccountTransactionsReply; + + AgentData: { + AgentID: UUID; + GroupID: UUID; + }; + MoneyData: { + RequestID: UUID; + IntervalDays: number; + CurrentInterval: number; + StartDate: string; + }; + HistoryData: { + Time: string; + User: string; + Type: number; + Item: string; + Amount: number; + }[]; + + getSize(): number + { + return (this.MoneyData['StartDate'].length + 1) + ((this.calculateVarVarSize(this.HistoryData, 'Time', 1) + this.calculateVarVarSize(this.HistoryData, 'User', 1) + this.calculateVarVarSize(this.HistoryData, 'Item', 1) + 8) * this.HistoryData.length) + 57; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + this.MoneyData['RequestID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.MoneyData['IntervalDays'], pos); + pos += 4; + buf.writeInt32LE(this.MoneyData['CurrentInterval'], pos); + pos += 4; + buf.writeUInt8(this.MoneyData['StartDate'].length, pos++); + buf.write(this.MoneyData['StartDate'], pos); + pos += this.MoneyData['StartDate'].length; + const count = this.HistoryData.length; + buf.writeUInt8(this.HistoryData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt8(this.HistoryData[i]['Time'].length, pos++); + buf.write(this.HistoryData[i]['Time'], pos); + pos += this.HistoryData[i]['Time'].length; + buf.writeUInt8(this.HistoryData[i]['User'].length, pos++); + buf.write(this.HistoryData[i]['User'], pos); + pos += this.HistoryData[i]['User'].length; + buf.writeInt32LE(this.HistoryData[i]['Type'], pos); + pos += 4; + buf.writeUInt8(this.HistoryData[i]['Item'].length, pos++); + buf.write(this.HistoryData[i]['Item'], pos); + pos += this.HistoryData[i]['Item'].length; + buf.writeInt32LE(this.HistoryData[i]['Amount'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + GroupID: UUID + } = { + AgentID: UUID.zero(), + GroupID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjMoneyData: { + RequestID: UUID, + IntervalDays: number, + CurrentInterval: number, + StartDate: string + } = { + RequestID: UUID.zero(), + IntervalDays: 0, + CurrentInterval: 0, + StartDate: '' + }; + newObjMoneyData['RequestID'] = new UUID(buf, pos); + pos += 16; + newObjMoneyData['IntervalDays'] = buf.readInt32LE(pos); + pos += 4; + newObjMoneyData['CurrentInterval'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjMoneyData['StartDate'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.MoneyData = newObjMoneyData; + const count = buf.readUInt8(pos++); + this.HistoryData = []; + for (let i = 0; i < count; i++) + { + const newObjHistoryData: { + Time: string, + User: string, + Type: number, + Item: string, + Amount: number + } = { + Time: '', + User: '', + Type: 0, + Item: '', + Amount: 0 + }; + varLength = buf.readUInt8(pos++); + newObjHistoryData['Time'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjHistoryData['User'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjHistoryData['Type'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjHistoryData['Item'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjHistoryData['Amount'] = buf.readInt32LE(pos); + pos += 4; + this.HistoryData.push(newObjHistoryData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupAccountTransactionsRequest.ts b/lib/classes/messages/GroupAccountTransactionsRequest.ts new file mode 100644 index 0000000..272f4e5 --- /dev/null +++ b/lib/classes/messages/GroupAccountTransactionsRequest.ts @@ -0,0 +1,87 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupAccountTransactionsRequestMessage implements MessageBase +{ + name = 'GroupAccountTransactionsRequest'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.GroupAccountTransactionsRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + GroupID: UUID; + }; + MoneyData: { + RequestID: UUID; + IntervalDays: number; + CurrentInterval: number; + }; + + getSize(): number + { + return 72; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + this.MoneyData['RequestID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.MoneyData['IntervalDays'], pos); + pos += 4; + buf.writeInt32LE(this.MoneyData['CurrentInterval'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + GroupID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + GroupID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjMoneyData: { + RequestID: UUID, + IntervalDays: number, + CurrentInterval: number + } = { + RequestID: UUID.zero(), + IntervalDays: 0, + CurrentInterval: 0 + }; + newObjMoneyData['RequestID'] = new UUID(buf, pos); + pos += 16; + newObjMoneyData['IntervalDays'] = buf.readInt32LE(pos); + pos += 4; + newObjMoneyData['CurrentInterval'] = buf.readInt32LE(pos); + pos += 4; + this.MoneyData = newObjMoneyData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupActiveProposalItemReply.ts b/lib/classes/messages/GroupActiveProposalItemReply.ts new file mode 100644 index 0000000..b878308 --- /dev/null +++ b/lib/classes/messages/GroupActiveProposalItemReply.ts @@ -0,0 +1,177 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupActiveProposalItemReplyMessage implements MessageBase +{ + name = 'GroupActiveProposalItemReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.GroupActiveProposalItemReply; + + AgentData: { + AgentID: UUID; + GroupID: UUID; + }; + TransactionData: { + TransactionID: UUID; + TotalNumItems: number; + }; + ProposalData: { + VoteID: UUID; + VoteInitiator: UUID; + TerseDateID: string; + StartDateTime: string; + EndDateTime: string; + AlreadyVoted: boolean; + VoteCast: string; + Majority: number; + Quorum: number; + ProposalText: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.ProposalData, 'TerseDateID', 1) + this.calculateVarVarSize(this.ProposalData, 'StartDateTime', 1) + this.calculateVarVarSize(this.ProposalData, 'EndDateTime', 1) + this.calculateVarVarSize(this.ProposalData, 'VoteCast', 1) + this.calculateVarVarSize(this.ProposalData, 'ProposalText', 1) + 41) * this.ProposalData.length) + 53; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + this.TransactionData['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.TransactionData['TotalNumItems'], pos); + pos += 4; + const count = this.ProposalData.length; + buf.writeUInt8(this.ProposalData.length, pos++); + for (let i = 0; i < count; i++) + { + this.ProposalData[i]['VoteID'].writeToBuffer(buf, pos); + pos += 16; + this.ProposalData[i]['VoteInitiator'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.ProposalData[i]['TerseDateID'].length, pos++); + buf.write(this.ProposalData[i]['TerseDateID'], pos); + pos += this.ProposalData[i]['TerseDateID'].length; + buf.writeUInt8(this.ProposalData[i]['StartDateTime'].length, pos++); + buf.write(this.ProposalData[i]['StartDateTime'], pos); + pos += this.ProposalData[i]['StartDateTime'].length; + buf.writeUInt8(this.ProposalData[i]['EndDateTime'].length, pos++); + buf.write(this.ProposalData[i]['EndDateTime'], pos); + pos += this.ProposalData[i]['EndDateTime'].length; + buf.writeUInt8((this.ProposalData[i]['AlreadyVoted']) ? 1 : 0, pos++); + buf.writeUInt8(this.ProposalData[i]['VoteCast'].length, pos++); + buf.write(this.ProposalData[i]['VoteCast'], pos); + pos += this.ProposalData[i]['VoteCast'].length; + buf.writeFloatLE(this.ProposalData[i]['Majority'], pos); + pos += 4; + buf.writeInt32LE(this.ProposalData[i]['Quorum'], pos); + pos += 4; + buf.writeUInt8(this.ProposalData[i]['ProposalText'].length, pos++); + buf.write(this.ProposalData[i]['ProposalText'], pos); + pos += this.ProposalData[i]['ProposalText'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + GroupID: UUID + } = { + AgentID: UUID.zero(), + GroupID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjTransactionData: { + TransactionID: UUID, + TotalNumItems: number + } = { + TransactionID: UUID.zero(), + TotalNumItems: 0 + }; + newObjTransactionData['TransactionID'] = new UUID(buf, pos); + pos += 16; + newObjTransactionData['TotalNumItems'] = buf.readUInt32LE(pos); + pos += 4; + this.TransactionData = newObjTransactionData; + const count = buf.readUInt8(pos++); + this.ProposalData = []; + for (let i = 0; i < count; i++) + { + const newObjProposalData: { + VoteID: UUID, + VoteInitiator: UUID, + TerseDateID: string, + StartDateTime: string, + EndDateTime: string, + AlreadyVoted: boolean, + VoteCast: string, + Majority: number, + Quorum: number, + ProposalText: string + } = { + VoteID: UUID.zero(), + VoteInitiator: UUID.zero(), + TerseDateID: '', + StartDateTime: '', + EndDateTime: '', + AlreadyVoted: false, + VoteCast: '', + Majority: 0, + Quorum: 0, + ProposalText: '' + }; + newObjProposalData['VoteID'] = new UUID(buf, pos); + pos += 16; + newObjProposalData['VoteInitiator'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjProposalData['TerseDateID'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjProposalData['StartDateTime'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjProposalData['EndDateTime'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjProposalData['AlreadyVoted'] = (buf.readUInt8(pos++) === 1); + varLength = buf.readUInt8(pos++); + newObjProposalData['VoteCast'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjProposalData['Majority'] = buf.readFloatLE(pos); + pos += 4; + newObjProposalData['Quorum'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjProposalData['ProposalText'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ProposalData.push(newObjProposalData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupActiveProposalsRequest.ts b/lib/classes/messages/GroupActiveProposalsRequest.ts new file mode 100644 index 0000000..b06b7ad --- /dev/null +++ b/lib/classes/messages/GroupActiveProposalsRequest.ts @@ -0,0 +1,79 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupActiveProposalsRequestMessage implements MessageBase +{ + name = 'GroupActiveProposalsRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.GroupActiveProposalsRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + GroupData: { + GroupID: UUID; + }; + TransactionData: { + TransactionID: UUID; + }; + + getSize(): number + { + return 64; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.GroupData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + this.TransactionData['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjGroupData: { + GroupID: UUID + } = { + GroupID: UUID.zero() + }; + newObjGroupData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.GroupData = newObjGroupData; + const newObjTransactionData: { + TransactionID: UUID + } = { + TransactionID: UUID.zero() + }; + newObjTransactionData['TransactionID'] = new UUID(buf, pos); + pos += 16; + this.TransactionData = newObjTransactionData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupDataUpdate.ts b/lib/classes/messages/GroupDataUpdate.ts new file mode 100644 index 0000000..f7c50e8 --- /dev/null +++ b/lib/classes/messages/GroupDataUpdate.ts @@ -0,0 +1,92 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupDataUpdateMessage implements MessageBase +{ + name = 'GroupDataUpdate'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.GroupDataUpdate; + + AgentGroupData: { + AgentID: UUID; + GroupID: UUID; + AgentPowers: Long; + GroupTitle: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.AgentGroupData, 'GroupTitle', 1) + 40) * this.AgentGroupData.length) + 1; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.AgentGroupData.length; + buf.writeUInt8(this.AgentGroupData.length, pos++); + for (let i = 0; i < count; i++) + { + this.AgentGroupData[i]['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentGroupData[i]['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.AgentGroupData[i]['AgentPowers'].low, pos); + pos += 4; + buf.writeInt32LE(this.AgentGroupData[i]['AgentPowers'].high, pos); + pos += 4; + buf.writeUInt8(this.AgentGroupData[i]['GroupTitle'].length, pos++); + buf.write(this.AgentGroupData[i]['GroupTitle'], pos); + pos += this.AgentGroupData[i]['GroupTitle'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.AgentGroupData = []; + for (let i = 0; i < count; i++) + { + const newObjAgentGroupData: { + AgentID: UUID, + GroupID: UUID, + AgentPowers: Long, + GroupTitle: string + } = { + AgentID: UUID.zero(), + GroupID: UUID.zero(), + AgentPowers: Long.ZERO, + GroupTitle: '' + }; + newObjAgentGroupData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentGroupData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjAgentGroupData['AgentPowers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + varLength = buf.readUInt8(pos++); + newObjAgentGroupData['GroupTitle'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.AgentGroupData.push(newObjAgentGroupData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupMembersReply.ts b/lib/classes/messages/GroupMembersReply.ts new file mode 100644 index 0000000..1f8c8dc --- /dev/null +++ b/lib/classes/messages/GroupMembersReply.ts @@ -0,0 +1,146 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupMembersReplyMessage implements MessageBase +{ + name = 'GroupMembersReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.GroupMembersReply; + + AgentData: { + AgentID: UUID; + }; + GroupData: { + GroupID: UUID; + RequestID: UUID; + MemberCount: number; + }; + MemberData: { + AgentID: UUID; + Contribution: number; + OnlineStatus: string; + AgentPowers: Long; + Title: string; + IsOwner: boolean; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.MemberData, 'OnlineStatus', 1) + this.calculateVarVarSize(this.MemberData, 'Title', 1) + 29) * this.MemberData.length) + 53; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.GroupData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + this.GroupData['RequestID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.GroupData['MemberCount'], pos); + pos += 4; + const count = this.MemberData.length; + buf.writeUInt8(this.MemberData.length, pos++); + for (let i = 0; i < count; i++) + { + this.MemberData[i]['AgentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.MemberData[i]['Contribution'], pos); + pos += 4; + buf.writeUInt8(this.MemberData[i]['OnlineStatus'].length, pos++); + buf.write(this.MemberData[i]['OnlineStatus'], pos); + pos += this.MemberData[i]['OnlineStatus'].length; + buf.writeInt32LE(this.MemberData[i]['AgentPowers'].low, pos); + pos += 4; + buf.writeInt32LE(this.MemberData[i]['AgentPowers'].high, pos); + pos += 4; + buf.writeUInt8(this.MemberData[i]['Title'].length, pos++); + buf.write(this.MemberData[i]['Title'], pos); + pos += this.MemberData[i]['Title'].length; + buf.writeUInt8((this.MemberData[i]['IsOwner']) ? 1 : 0, pos++); + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjGroupData: { + GroupID: UUID, + RequestID: UUID, + MemberCount: number + } = { + GroupID: UUID.zero(), + RequestID: UUID.zero(), + MemberCount: 0 + }; + newObjGroupData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjGroupData['RequestID'] = new UUID(buf, pos); + pos += 16; + newObjGroupData['MemberCount'] = buf.readInt32LE(pos); + pos += 4; + this.GroupData = newObjGroupData; + const count = buf.readUInt8(pos++); + this.MemberData = []; + for (let i = 0; i < count; i++) + { + const newObjMemberData: { + AgentID: UUID, + Contribution: number, + OnlineStatus: string, + AgentPowers: Long, + Title: string, + IsOwner: boolean + } = { + AgentID: UUID.zero(), + Contribution: 0, + OnlineStatus: '', + AgentPowers: Long.ZERO, + Title: '', + IsOwner: false + }; + newObjMemberData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjMemberData['Contribution'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjMemberData['OnlineStatus'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjMemberData['AgentPowers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + varLength = buf.readUInt8(pos++); + newObjMemberData['Title'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjMemberData['IsOwner'] = (buf.readUInt8(pos++) === 1); + this.MemberData.push(newObjMemberData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupMembersRequest.ts b/lib/classes/messages/GroupMembersRequest.ts new file mode 100644 index 0000000..7a4b58f --- /dev/null +++ b/lib/classes/messages/GroupMembersRequest.ts @@ -0,0 +1,73 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupMembersRequestMessage implements MessageBase +{ + name = 'GroupMembersRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.GroupMembersRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + GroupData: { + GroupID: UUID; + RequestID: UUID; + }; + + getSize(): number + { + return 64; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.GroupData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + this.GroupData['RequestID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjGroupData: { + GroupID: UUID, + RequestID: UUID + } = { + GroupID: UUID.zero(), + RequestID: UUID.zero() + }; + newObjGroupData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjGroupData['RequestID'] = new UUID(buf, pos); + pos += 16; + this.GroupData = newObjGroupData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupNoticeAdd.ts b/lib/classes/messages/GroupNoticeAdd.ts new file mode 100644 index 0000000..9d21294 --- /dev/null +++ b/lib/classes/messages/GroupNoticeAdd.ts @@ -0,0 +1,102 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupNoticeAddMessage implements MessageBase +{ + name = 'GroupNoticeAdd'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.GroupNoticeAdd; + + AgentData: { + AgentID: UUID; + }; + MessageBlock: { + ToGroupID: UUID; + ID: UUID; + Dialog: number; + FromAgentName: string; + Message: string; + BinaryBucket: string; + }; + + getSize(): number + { + return (this.MessageBlock['FromAgentName'].length + 1 + this.MessageBlock['Message'].length + 2 + this.MessageBlock['BinaryBucket'].length + 2) + 49; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.MessageBlock['ToGroupID'].writeToBuffer(buf, pos); + pos += 16; + this.MessageBlock['ID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.MessageBlock['Dialog'], pos++); + buf.writeUInt8(this.MessageBlock['FromAgentName'].length, pos++); + buf.write(this.MessageBlock['FromAgentName'], pos); + pos += this.MessageBlock['FromAgentName'].length; + buf.writeUInt16LE(this.MessageBlock['Message'].length, pos); + pos += 2; + buf.write(this.MessageBlock['Message'], pos); + pos += this.MessageBlock['Message'].length; + buf.writeUInt16LE(this.MessageBlock['BinaryBucket'].length, pos); + pos += 2; + buf.write(this.MessageBlock['BinaryBucket'], pos); + pos += this.MessageBlock['BinaryBucket'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjMessageBlock: { + ToGroupID: UUID, + ID: UUID, + Dialog: number, + FromAgentName: string, + Message: string, + BinaryBucket: string + } = { + ToGroupID: UUID.zero(), + ID: UUID.zero(), + Dialog: 0, + FromAgentName: '', + Message: '', + BinaryBucket: '' + }; + newObjMessageBlock['ToGroupID'] = new UUID(buf, pos); + pos += 16; + newObjMessageBlock['ID'] = new UUID(buf, pos); + pos += 16; + newObjMessageBlock['Dialog'] = buf.readUInt8(pos++); + varLength = buf.readUInt8(pos++); + newObjMessageBlock['FromAgentName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjMessageBlock['Message'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjMessageBlock['BinaryBucket'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.MessageBlock = newObjMessageBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupNoticeRequest.ts b/lib/classes/messages/GroupNoticeRequest.ts new file mode 100644 index 0000000..98b4e70 --- /dev/null +++ b/lib/classes/messages/GroupNoticeRequest.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupNoticeRequestMessage implements MessageBase +{ + name = 'GroupNoticeRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.GroupNoticeRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + GroupNoticeID: UUID; + }; + + getSize(): number + { + return 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['GroupNoticeID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + GroupNoticeID: UUID + } = { + GroupNoticeID: UUID.zero() + }; + newObjData['GroupNoticeID'] = new UUID(buf, pos); + pos += 16; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupNoticesListReply.ts b/lib/classes/messages/GroupNoticesListReply.ts new file mode 100644 index 0000000..ee74ee3 --- /dev/null +++ b/lib/classes/messages/GroupNoticesListReply.ts @@ -0,0 +1,125 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupNoticesListReplyMessage implements MessageBase +{ + name = 'GroupNoticesListReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.GroupNoticesListReply; + + AgentData: { + AgentID: UUID; + GroupID: UUID; + }; + Data: { + NoticeID: UUID; + Timestamp: number; + FromName: string; + Subject: string; + HasAttachment: boolean; + AssetType: number; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.Data, 'FromName', 2) + this.calculateVarVarSize(this.Data, 'Subject', 2) + 22) * this.Data.length) + 33; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.Data.length; + buf.writeUInt8(this.Data.length, pos++); + for (let i = 0; i < count; i++) + { + this.Data[i]['NoticeID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.Data[i]['Timestamp'], pos); + pos += 4; + buf.writeUInt16LE(this.Data[i]['FromName'].length, pos); + pos += 2; + buf.write(this.Data[i]['FromName'], pos); + pos += this.Data[i]['FromName'].length; + buf.writeUInt16LE(this.Data[i]['Subject'].length, pos); + pos += 2; + buf.write(this.Data[i]['Subject'], pos); + pos += this.Data[i]['Subject'].length; + buf.writeUInt8((this.Data[i]['HasAttachment']) ? 1 : 0, pos++); + buf.writeUInt8(this.Data[i]['AssetType'], pos++); + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + GroupID: UUID + } = { + AgentID: UUID.zero(), + GroupID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.Data = []; + for (let i = 0; i < count; i++) + { + const newObjData: { + NoticeID: UUID, + Timestamp: number, + FromName: string, + Subject: string, + HasAttachment: boolean, + AssetType: number + } = { + NoticeID: UUID.zero(), + Timestamp: 0, + FromName: '', + Subject: '', + HasAttachment: false, + AssetType: 0 + }; + newObjData['NoticeID'] = new UUID(buf, pos); + pos += 16; + newObjData['Timestamp'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjData['FromName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjData['Subject'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjData['HasAttachment'] = (buf.readUInt8(pos++) === 1); + newObjData['AssetType'] = buf.readUInt8(pos++); + this.Data.push(newObjData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupNoticesListRequest.ts b/lib/classes/messages/GroupNoticesListRequest.ts new file mode 100644 index 0000000..49037f6 --- /dev/null +++ b/lib/classes/messages/GroupNoticesListRequest.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupNoticesListRequestMessage implements MessageBase +{ + name = 'GroupNoticesListRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.GroupNoticesListRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + GroupID: UUID; + }; + + getSize(): number + { + return 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['GroupID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + GroupID: UUID + } = { + GroupID: UUID.zero() + }; + newObjData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupProfileReply.ts b/lib/classes/messages/GroupProfileReply.ts new file mode 100644 index 0000000..c462c28 --- /dev/null +++ b/lib/classes/messages/GroupProfileReply.ts @@ -0,0 +1,167 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupProfileReplyMessage implements MessageBase +{ + name = 'GroupProfileReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.GroupProfileReply; + + AgentData: { + AgentID: UUID; + }; + GroupData: { + GroupID: UUID; + Name: string; + Charter: string; + ShowInList: boolean; + MemberTitle: string; + PowersMask: Long; + InsigniaID: UUID; + FounderID: UUID; + MembershipFee: number; + OpenEnrollment: boolean; + Money: number; + GroupMembershipCount: number; + GroupRolesCount: number; + AllowPublish: boolean; + MaturePublish: boolean; + OwnerRole: UUID; + }; + + getSize(): number + { + return (this.GroupData['Name'].length + 1 + this.GroupData['Charter'].length + 2 + this.GroupData['MemberTitle'].length + 1) + 108; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.GroupData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.GroupData['Name'].length, pos++); + buf.write(this.GroupData['Name'], pos); + pos += this.GroupData['Name'].length; + buf.writeUInt16LE(this.GroupData['Charter'].length, pos); + pos += 2; + buf.write(this.GroupData['Charter'], pos); + pos += this.GroupData['Charter'].length; + buf.writeUInt8((this.GroupData['ShowInList']) ? 1 : 0, pos++); + buf.writeUInt8(this.GroupData['MemberTitle'].length, pos++); + buf.write(this.GroupData['MemberTitle'], pos); + pos += this.GroupData['MemberTitle'].length; + buf.writeInt32LE(this.GroupData['PowersMask'].low, pos); + pos += 4; + buf.writeInt32LE(this.GroupData['PowersMask'].high, pos); + pos += 4; + this.GroupData['InsigniaID'].writeToBuffer(buf, pos); + pos += 16; + this.GroupData['FounderID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.GroupData['MembershipFee'], pos); + pos += 4; + buf.writeUInt8((this.GroupData['OpenEnrollment']) ? 1 : 0, pos++); + buf.writeInt32LE(this.GroupData['Money'], pos); + pos += 4; + buf.writeInt32LE(this.GroupData['GroupMembershipCount'], pos); + pos += 4; + buf.writeInt32LE(this.GroupData['GroupRolesCount'], pos); + pos += 4; + buf.writeUInt8((this.GroupData['AllowPublish']) ? 1 : 0, pos++); + buf.writeUInt8((this.GroupData['MaturePublish']) ? 1 : 0, pos++); + this.GroupData['OwnerRole'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjGroupData: { + GroupID: UUID, + Name: string, + Charter: string, + ShowInList: boolean, + MemberTitle: string, + PowersMask: Long, + InsigniaID: UUID, + FounderID: UUID, + MembershipFee: number, + OpenEnrollment: boolean, + Money: number, + GroupMembershipCount: number, + GroupRolesCount: number, + AllowPublish: boolean, + MaturePublish: boolean, + OwnerRole: UUID + } = { + GroupID: UUID.zero(), + Name: '', + Charter: '', + ShowInList: false, + MemberTitle: '', + PowersMask: Long.ZERO, + InsigniaID: UUID.zero(), + FounderID: UUID.zero(), + MembershipFee: 0, + OpenEnrollment: false, + Money: 0, + GroupMembershipCount: 0, + GroupRolesCount: 0, + AllowPublish: false, + MaturePublish: false, + OwnerRole: UUID.zero() + }; + newObjGroupData['GroupID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjGroupData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjGroupData['Charter'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjGroupData['ShowInList'] = (buf.readUInt8(pos++) === 1); + varLength = buf.readUInt8(pos++); + newObjGroupData['MemberTitle'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjGroupData['PowersMask'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjGroupData['InsigniaID'] = new UUID(buf, pos); + pos += 16; + newObjGroupData['FounderID'] = new UUID(buf, pos); + pos += 16; + newObjGroupData['MembershipFee'] = buf.readInt32LE(pos); + pos += 4; + newObjGroupData['OpenEnrollment'] = (buf.readUInt8(pos++) === 1); + newObjGroupData['Money'] = buf.readInt32LE(pos); + pos += 4; + newObjGroupData['GroupMembershipCount'] = buf.readInt32LE(pos); + pos += 4; + newObjGroupData['GroupRolesCount'] = buf.readInt32LE(pos); + pos += 4; + newObjGroupData['AllowPublish'] = (buf.readUInt8(pos++) === 1); + newObjGroupData['MaturePublish'] = (buf.readUInt8(pos++) === 1); + newObjGroupData['OwnerRole'] = new UUID(buf, pos); + pos += 16; + this.GroupData = newObjGroupData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupProfileRequest.ts b/lib/classes/messages/GroupProfileRequest.ts new file mode 100644 index 0000000..e8c1e27 --- /dev/null +++ b/lib/classes/messages/GroupProfileRequest.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupProfileRequestMessage implements MessageBase +{ + name = 'GroupProfileRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.GroupProfileRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + GroupData: { + GroupID: UUID; + }; + + getSize(): number + { + return 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.GroupData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjGroupData: { + GroupID: UUID + } = { + GroupID: UUID.zero() + }; + newObjGroupData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.GroupData = newObjGroupData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupProposalBallot.ts b/lib/classes/messages/GroupProposalBallot.ts new file mode 100644 index 0000000..b40bf71 --- /dev/null +++ b/lib/classes/messages/GroupProposalBallot.ts @@ -0,0 +1,82 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupProposalBallotMessage implements MessageBase +{ + name = 'GroupProposalBallot'; + messageFlags = MessageFlags.Deprecated | MessageFlags.FrequencyLow; + id = Message.GroupProposalBallot; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ProposalData: { + ProposalID: UUID; + GroupID: UUID; + VoteCast: string; + }; + + getSize(): number + { + return (this.ProposalData['VoteCast'].length + 1) + 64; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.ProposalData['ProposalID'].writeToBuffer(buf, pos); + pos += 16; + this.ProposalData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.ProposalData['VoteCast'].length, pos++); + buf.write(this.ProposalData['VoteCast'], pos); + pos += this.ProposalData['VoteCast'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjProposalData: { + ProposalID: UUID, + GroupID: UUID, + VoteCast: string + } = { + ProposalID: UUID.zero(), + GroupID: UUID.zero(), + VoteCast: '' + }; + newObjProposalData['ProposalID'] = new UUID(buf, pos); + pos += 16; + newObjProposalData['GroupID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjProposalData['VoteCast'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ProposalData = newObjProposalData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupRoleChanges.ts b/lib/classes/messages/GroupRoleChanges.ts new file mode 100644 index 0000000..9078778 --- /dev/null +++ b/lib/classes/messages/GroupRoleChanges.ts @@ -0,0 +1,97 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupRoleChangesMessage implements MessageBase +{ + name = 'GroupRoleChanges'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.GroupRoleChanges; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + GroupID: UUID; + }; + RoleChange: { + RoleID: UUID; + MemberID: UUID; + Change: number; + }[]; + + getSize(): number + { + return ((36) * this.RoleChange.length) + 49; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.RoleChange.length; + buf.writeUInt8(this.RoleChange.length, pos++); + for (let i = 0; i < count; i++) + { + this.RoleChange[i]['RoleID'].writeToBuffer(buf, pos); + pos += 16; + this.RoleChange[i]['MemberID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.RoleChange[i]['Change'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + GroupID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + GroupID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.RoleChange = []; + for (let i = 0; i < count; i++) + { + const newObjRoleChange: { + RoleID: UUID, + MemberID: UUID, + Change: number + } = { + RoleID: UUID.zero(), + MemberID: UUID.zero(), + Change: 0 + }; + newObjRoleChange['RoleID'] = new UUID(buf, pos); + pos += 16; + newObjRoleChange['MemberID'] = new UUID(buf, pos); + pos += 16; + newObjRoleChange['Change'] = buf.readUInt32LE(pos); + pos += 4; + this.RoleChange.push(newObjRoleChange); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupRoleDataReply.ts b/lib/classes/messages/GroupRoleDataReply.ts new file mode 100644 index 0000000..ffc1ff8 --- /dev/null +++ b/lib/classes/messages/GroupRoleDataReply.ts @@ -0,0 +1,150 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupRoleDataReplyMessage implements MessageBase +{ + name = 'GroupRoleDataReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.GroupRoleDataReply; + + AgentData: { + AgentID: UUID; + }; + GroupData: { + GroupID: UUID; + RequestID: UUID; + RoleCount: number; + }; + RoleData: { + RoleID: UUID; + Name: string; + Title: string; + Description: string; + Powers: Long; + Members: number; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.RoleData, 'Name', 1) + this.calculateVarVarSize(this.RoleData, 'Title', 1) + this.calculateVarVarSize(this.RoleData, 'Description', 1) + 28) * this.RoleData.length) + 53; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.GroupData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + this.GroupData['RequestID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.GroupData['RoleCount'], pos); + pos += 4; + const count = this.RoleData.length; + buf.writeUInt8(this.RoleData.length, pos++); + for (let i = 0; i < count; i++) + { + this.RoleData[i]['RoleID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.RoleData[i]['Name'].length, pos++); + buf.write(this.RoleData[i]['Name'], pos); + pos += this.RoleData[i]['Name'].length; + buf.writeUInt8(this.RoleData[i]['Title'].length, pos++); + buf.write(this.RoleData[i]['Title'], pos); + pos += this.RoleData[i]['Title'].length; + buf.writeUInt8(this.RoleData[i]['Description'].length, pos++); + buf.write(this.RoleData[i]['Description'], pos); + pos += this.RoleData[i]['Description'].length; + buf.writeInt32LE(this.RoleData[i]['Powers'].low, pos); + pos += 4; + buf.writeInt32LE(this.RoleData[i]['Powers'].high, pos); + pos += 4; + buf.writeUInt32LE(this.RoleData[i]['Members'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjGroupData: { + GroupID: UUID, + RequestID: UUID, + RoleCount: number + } = { + GroupID: UUID.zero(), + RequestID: UUID.zero(), + RoleCount: 0 + }; + newObjGroupData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjGroupData['RequestID'] = new UUID(buf, pos); + pos += 16; + newObjGroupData['RoleCount'] = buf.readInt32LE(pos); + pos += 4; + this.GroupData = newObjGroupData; + const count = buf.readUInt8(pos++); + this.RoleData = []; + for (let i = 0; i < count; i++) + { + const newObjRoleData: { + RoleID: UUID, + Name: string, + Title: string, + Description: string, + Powers: Long, + Members: number + } = { + RoleID: UUID.zero(), + Name: '', + Title: '', + Description: '', + Powers: Long.ZERO, + Members: 0 + }; + newObjRoleData['RoleID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjRoleData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjRoleData['Title'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjRoleData['Description'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjRoleData['Powers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjRoleData['Members'] = buf.readUInt32LE(pos); + pos += 4; + this.RoleData.push(newObjRoleData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupRoleDataRequest.ts b/lib/classes/messages/GroupRoleDataRequest.ts new file mode 100644 index 0000000..1b247a3 --- /dev/null +++ b/lib/classes/messages/GroupRoleDataRequest.ts @@ -0,0 +1,73 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupRoleDataRequestMessage implements MessageBase +{ + name = 'GroupRoleDataRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.GroupRoleDataRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + GroupData: { + GroupID: UUID; + RequestID: UUID; + }; + + getSize(): number + { + return 64; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.GroupData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + this.GroupData['RequestID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjGroupData: { + GroupID: UUID, + RequestID: UUID + } = { + GroupID: UUID.zero(), + RequestID: UUID.zero() + }; + newObjGroupData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjGroupData['RequestID'] = new UUID(buf, pos); + pos += 16; + this.GroupData = newObjGroupData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupRoleMembersReply.ts b/lib/classes/messages/GroupRoleMembersReply.ts new file mode 100644 index 0000000..31a06c0 --- /dev/null +++ b/lib/classes/messages/GroupRoleMembersReply.ts @@ -0,0 +1,97 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupRoleMembersReplyMessage implements MessageBase +{ + name = 'GroupRoleMembersReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.GroupRoleMembersReply; + + AgentData: { + AgentID: UUID; + GroupID: UUID; + RequestID: UUID; + TotalPairs: number; + }; + MemberData: { + RoleID: UUID; + MemberID: UUID; + }[]; + + getSize(): number + { + return ((32) * this.MemberData.length) + 53; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['RequestID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.AgentData['TotalPairs'], pos); + pos += 4; + const count = this.MemberData.length; + buf.writeUInt8(this.MemberData.length, pos++); + for (let i = 0; i < count; i++) + { + this.MemberData[i]['RoleID'].writeToBuffer(buf, pos); + pos += 16; + this.MemberData[i]['MemberID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + GroupID: UUID, + RequestID: UUID, + TotalPairs: number + } = { + AgentID: UUID.zero(), + GroupID: UUID.zero(), + RequestID: UUID.zero(), + TotalPairs: 0 + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['RequestID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['TotalPairs'] = buf.readUInt32LE(pos); + pos += 4; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.MemberData = []; + for (let i = 0; i < count; i++) + { + const newObjMemberData: { + RoleID: UUID, + MemberID: UUID + } = { + RoleID: UUID.zero(), + MemberID: UUID.zero() + }; + newObjMemberData['RoleID'] = new UUID(buf, pos); + pos += 16; + newObjMemberData['MemberID'] = new UUID(buf, pos); + pos += 16; + this.MemberData.push(newObjMemberData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupRoleMembersRequest.ts b/lib/classes/messages/GroupRoleMembersRequest.ts new file mode 100644 index 0000000..f17ec67 --- /dev/null +++ b/lib/classes/messages/GroupRoleMembersRequest.ts @@ -0,0 +1,73 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupRoleMembersRequestMessage implements MessageBase +{ + name = 'GroupRoleMembersRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.GroupRoleMembersRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + GroupData: { + GroupID: UUID; + RequestID: UUID; + }; + + getSize(): number + { + return 64; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.GroupData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + this.GroupData['RequestID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjGroupData: { + GroupID: UUID, + RequestID: UUID + } = { + GroupID: UUID.zero(), + RequestID: UUID.zero() + }; + newObjGroupData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjGroupData['RequestID'] = new UUID(buf, pos); + pos += 16; + this.GroupData = newObjGroupData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupRoleUpdate.ts b/lib/classes/messages/GroupRoleUpdate.ts new file mode 100644 index 0000000..51e2443 --- /dev/null +++ b/lib/classes/messages/GroupRoleUpdate.ts @@ -0,0 +1,135 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupRoleUpdateMessage implements MessageBase +{ + name = 'GroupRoleUpdate'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.GroupRoleUpdate; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + GroupID: UUID; + }; + RoleData: { + RoleID: UUID; + Name: string; + Description: string; + Title: string; + Powers: Long; + UpdateType: number; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.RoleData, 'Name', 1) + this.calculateVarVarSize(this.RoleData, 'Description', 1) + this.calculateVarVarSize(this.RoleData, 'Title', 1) + 25) * this.RoleData.length) + 49; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.RoleData.length; + buf.writeUInt8(this.RoleData.length, pos++); + for (let i = 0; i < count; i++) + { + this.RoleData[i]['RoleID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.RoleData[i]['Name'].length, pos++); + buf.write(this.RoleData[i]['Name'], pos); + pos += this.RoleData[i]['Name'].length; + buf.writeUInt8(this.RoleData[i]['Description'].length, pos++); + buf.write(this.RoleData[i]['Description'], pos); + pos += this.RoleData[i]['Description'].length; + buf.writeUInt8(this.RoleData[i]['Title'].length, pos++); + buf.write(this.RoleData[i]['Title'], pos); + pos += this.RoleData[i]['Title'].length; + buf.writeInt32LE(this.RoleData[i]['Powers'].low, pos); + pos += 4; + buf.writeInt32LE(this.RoleData[i]['Powers'].high, pos); + pos += 4; + buf.writeUInt8(this.RoleData[i]['UpdateType'], pos++); + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + GroupID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + GroupID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.RoleData = []; + for (let i = 0; i < count; i++) + { + const newObjRoleData: { + RoleID: UUID, + Name: string, + Description: string, + Title: string, + Powers: Long, + UpdateType: number + } = { + RoleID: UUID.zero(), + Name: '', + Description: '', + Title: '', + Powers: Long.ZERO, + UpdateType: 0 + }; + newObjRoleData['RoleID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjRoleData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjRoleData['Description'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjRoleData['Title'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjRoleData['Powers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjRoleData['UpdateType'] = buf.readUInt8(pos++); + this.RoleData.push(newObjRoleData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupTitleUpdate.ts b/lib/classes/messages/GroupTitleUpdate.ts new file mode 100644 index 0000000..f250724 --- /dev/null +++ b/lib/classes/messages/GroupTitleUpdate.ts @@ -0,0 +1,67 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupTitleUpdateMessage implements MessageBase +{ + name = 'GroupTitleUpdate'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.GroupTitleUpdate; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + GroupID: UUID; + TitleRoleID: UUID; + }; + + getSize(): number + { + return 64; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['TitleRoleID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + GroupID: UUID, + TitleRoleID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + GroupID: UUID.zero(), + TitleRoleID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['TitleRoleID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupTitlesReply.ts b/lib/classes/messages/GroupTitlesReply.ts new file mode 100644 index 0000000..c313d5d --- /dev/null +++ b/lib/classes/messages/GroupTitlesReply.ts @@ -0,0 +1,107 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupTitlesReplyMessage implements MessageBase +{ + name = 'GroupTitlesReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.GroupTitlesReply; + + AgentData: { + AgentID: UUID; + GroupID: UUID; + RequestID: UUID; + }; + GroupData: { + Title: string; + RoleID: UUID; + Selected: boolean; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.GroupData, 'Title', 1) + 17) * this.GroupData.length) + 49; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['RequestID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.GroupData.length; + buf.writeUInt8(this.GroupData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt8(this.GroupData[i]['Title'].length, pos++); + buf.write(this.GroupData[i]['Title'], pos); + pos += this.GroupData[i]['Title'].length; + this.GroupData[i]['RoleID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.GroupData[i]['Selected']) ? 1 : 0, pos++); + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + GroupID: UUID, + RequestID: UUID + } = { + AgentID: UUID.zero(), + GroupID: UUID.zero(), + RequestID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['RequestID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.GroupData = []; + for (let i = 0; i < count; i++) + { + const newObjGroupData: { + Title: string, + RoleID: UUID, + Selected: boolean + } = { + Title: '', + RoleID: UUID.zero(), + Selected: false + }; + varLength = buf.readUInt8(pos++); + newObjGroupData['Title'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjGroupData['RoleID'] = new UUID(buf, pos); + pos += 16; + newObjGroupData['Selected'] = (buf.readUInt8(pos++) === 1); + this.GroupData.push(newObjGroupData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupTitlesRequest.ts b/lib/classes/messages/GroupTitlesRequest.ts new file mode 100644 index 0000000..cc8aa3d --- /dev/null +++ b/lib/classes/messages/GroupTitlesRequest.ts @@ -0,0 +1,67 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupTitlesRequestMessage implements MessageBase +{ + name = 'GroupTitlesRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.GroupTitlesRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + GroupID: UUID; + RequestID: UUID; + }; + + getSize(): number + { + return 64; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['RequestID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + GroupID: UUID, + RequestID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + GroupID: UUID.zero(), + RequestID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['RequestID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupVoteHistoryItemReply.ts b/lib/classes/messages/GroupVoteHistoryItemReply.ts new file mode 100644 index 0000000..dc357ad --- /dev/null +++ b/lib/classes/messages/GroupVoteHistoryItemReply.ts @@ -0,0 +1,212 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupVoteHistoryItemReplyMessage implements MessageBase +{ + name = 'GroupVoteHistoryItemReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.GroupVoteHistoryItemReply; + + AgentData: { + AgentID: UUID; + GroupID: UUID; + }; + TransactionData: { + TransactionID: UUID; + TotalNumItems: number; + }; + HistoryItemData: { + VoteID: UUID; + TerseDateID: string; + StartDateTime: string; + EndDateTime: string; + VoteInitiator: UUID; + VoteType: string; + VoteResult: string; + Majority: number; + Quorum: number; + ProposalText: string; + }; + VoteItem: { + CandidateID: UUID; + VoteCast: string; + NumVotes: number; + }[]; + + getSize(): number + { + return (this.HistoryItemData['TerseDateID'].length + 1 + this.HistoryItemData['StartDateTime'].length + 1 + this.HistoryItemData['EndDateTime'].length + 1 + this.HistoryItemData['VoteType'].length + 1 + this.HistoryItemData['VoteResult'].length + 1 + this.HistoryItemData['ProposalText'].length + 2) + ((this.calculateVarVarSize(this.VoteItem, 'VoteCast', 1) + 20) * this.VoteItem.length) + 93; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + this.TransactionData['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.TransactionData['TotalNumItems'], pos); + pos += 4; + this.HistoryItemData['VoteID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.HistoryItemData['TerseDateID'].length, pos++); + buf.write(this.HistoryItemData['TerseDateID'], pos); + pos += this.HistoryItemData['TerseDateID'].length; + buf.writeUInt8(this.HistoryItemData['StartDateTime'].length, pos++); + buf.write(this.HistoryItemData['StartDateTime'], pos); + pos += this.HistoryItemData['StartDateTime'].length; + buf.writeUInt8(this.HistoryItemData['EndDateTime'].length, pos++); + buf.write(this.HistoryItemData['EndDateTime'], pos); + pos += this.HistoryItemData['EndDateTime'].length; + this.HistoryItemData['VoteInitiator'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.HistoryItemData['VoteType'].length, pos++); + buf.write(this.HistoryItemData['VoteType'], pos); + pos += this.HistoryItemData['VoteType'].length; + buf.writeUInt8(this.HistoryItemData['VoteResult'].length, pos++); + buf.write(this.HistoryItemData['VoteResult'], pos); + pos += this.HistoryItemData['VoteResult'].length; + buf.writeFloatLE(this.HistoryItemData['Majority'], pos); + pos += 4; + buf.writeInt32LE(this.HistoryItemData['Quorum'], pos); + pos += 4; + buf.writeUInt16LE(this.HistoryItemData['ProposalText'].length, pos); + pos += 2; + buf.write(this.HistoryItemData['ProposalText'], pos); + pos += this.HistoryItemData['ProposalText'].length; + const count = this.VoteItem.length; + buf.writeUInt8(this.VoteItem.length, pos++); + for (let i = 0; i < count; i++) + { + this.VoteItem[i]['CandidateID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.VoteItem[i]['VoteCast'].length, pos++); + buf.write(this.VoteItem[i]['VoteCast'], pos); + pos += this.VoteItem[i]['VoteCast'].length; + buf.writeInt32LE(this.VoteItem[i]['NumVotes'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + GroupID: UUID + } = { + AgentID: UUID.zero(), + GroupID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjTransactionData: { + TransactionID: UUID, + TotalNumItems: number + } = { + TransactionID: UUID.zero(), + TotalNumItems: 0 + }; + newObjTransactionData['TransactionID'] = new UUID(buf, pos); + pos += 16; + newObjTransactionData['TotalNumItems'] = buf.readUInt32LE(pos); + pos += 4; + this.TransactionData = newObjTransactionData; + const newObjHistoryItemData: { + VoteID: UUID, + TerseDateID: string, + StartDateTime: string, + EndDateTime: string, + VoteInitiator: UUID, + VoteType: string, + VoteResult: string, + Majority: number, + Quorum: number, + ProposalText: string + } = { + VoteID: UUID.zero(), + TerseDateID: '', + StartDateTime: '', + EndDateTime: '', + VoteInitiator: UUID.zero(), + VoteType: '', + VoteResult: '', + Majority: 0, + Quorum: 0, + ProposalText: '' + }; + newObjHistoryItemData['VoteID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjHistoryItemData['TerseDateID'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjHistoryItemData['StartDateTime'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjHistoryItemData['EndDateTime'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjHistoryItemData['VoteInitiator'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjHistoryItemData['VoteType'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjHistoryItemData['VoteResult'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjHistoryItemData['Majority'] = buf.readFloatLE(pos); + pos += 4; + newObjHistoryItemData['Quorum'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjHistoryItemData['ProposalText'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.HistoryItemData = newObjHistoryItemData; + const count = buf.readUInt8(pos++); + this.VoteItem = []; + for (let i = 0; i < count; i++) + { + const newObjVoteItem: { + CandidateID: UUID, + VoteCast: string, + NumVotes: number + } = { + CandidateID: UUID.zero(), + VoteCast: '', + NumVotes: 0 + }; + newObjVoteItem['CandidateID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjVoteItem['VoteCast'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjVoteItem['NumVotes'] = buf.readInt32LE(pos); + pos += 4; + this.VoteItem.push(newObjVoteItem); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/GroupVoteHistoryRequest.ts b/lib/classes/messages/GroupVoteHistoryRequest.ts new file mode 100644 index 0000000..9a02463 --- /dev/null +++ b/lib/classes/messages/GroupVoteHistoryRequest.ts @@ -0,0 +1,79 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class GroupVoteHistoryRequestMessage implements MessageBase +{ + name = 'GroupVoteHistoryRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.GroupVoteHistoryRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + GroupData: { + GroupID: UUID; + }; + TransactionData: { + TransactionID: UUID; + }; + + getSize(): number + { + return 64; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.GroupData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + this.TransactionData['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjGroupData: { + GroupID: UUID + } = { + GroupID: UUID.zero() + }; + newObjGroupData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.GroupData = newObjGroupData; + const newObjTransactionData: { + TransactionID: UUID + } = { + TransactionID: UUID.zero() + }; + newObjTransactionData['TransactionID'] = new UUID(buf, pos); + pos += 16; + this.TransactionData = newObjTransactionData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/HealthMessage.ts b/lib/classes/messages/HealthMessage.ts new file mode 100644 index 0000000..14dae11 --- /dev/null +++ b/lib/classes/messages/HealthMessage.ts @@ -0,0 +1,45 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class HealthMessageMessage implements MessageBase +{ + name = 'HealthMessage'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.HealthMessage; + + HealthData: { + Health: number; + }; + + getSize(): number + { + return 4; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeFloatLE(this.HealthData['Health'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjHealthData: { + Health: number + } = { + Health: 0 + }; + newObjHealthData['Health'] = buf.readFloatLE(pos); + pos += 4; + this.HealthData = newObjHealthData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ImageData.ts b/lib/classes/messages/ImageData.ts new file mode 100644 index 0000000..e1dda19 --- /dev/null +++ b/lib/classes/messages/ImageData.ts @@ -0,0 +1,82 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ImageDataMessage implements MessageBase +{ + name = 'ImageData'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyHigh; + id = Message.ImageData; + + ImageID: { + ID: UUID; + Codec: number; + Size: number; + Packets: number; + }; + ImageData: { + Data: string; + }; + + getSize(): number + { + return (this.ImageData['Data'].length + 2) + 23; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.ImageID['ID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.ImageID['Codec'], pos++); + buf.writeUInt32LE(this.ImageID['Size'], pos); + pos += 4; + buf.writeUInt16LE(this.ImageID['Packets'], pos); + pos += 2; + buf.writeUInt16LE(this.ImageData['Data'].length, pos); + pos += 2; + buf.write(this.ImageData['Data'], pos); + pos += this.ImageData['Data'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjImageID: { + ID: UUID, + Codec: number, + Size: number, + Packets: number + } = { + ID: UUID.zero(), + Codec: 0, + Size: 0, + Packets: 0 + }; + newObjImageID['ID'] = new UUID(buf, pos); + pos += 16; + newObjImageID['Codec'] = buf.readUInt8(pos++); + newObjImageID['Size'] = buf.readUInt32LE(pos); + pos += 4; + newObjImageID['Packets'] = buf.readUInt16LE(pos); + pos += 2; + this.ImageID = newObjImageID; + const newObjImageData: { + Data: string + } = { + Data: '' + }; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjImageData['Data'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ImageData = newObjImageData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ImageNotInDatabase.ts b/lib/classes/messages/ImageNotInDatabase.ts new file mode 100644 index 0000000..e0ce3e9 --- /dev/null +++ b/lib/classes/messages/ImageNotInDatabase.ts @@ -0,0 +1,46 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ImageNotInDatabaseMessage implements MessageBase +{ + name = 'ImageNotInDatabase'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.ImageNotInDatabase; + + ImageID: { + ID: UUID; + }; + + getSize(): number + { + return 16; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.ImageID['ID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjImageID: { + ID: UUID + } = { + ID: UUID.zero() + }; + newObjImageID['ID'] = new UUID(buf, pos); + pos += 16; + this.ImageID = newObjImageID; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ImagePacket.ts b/lib/classes/messages/ImagePacket.ts new file mode 100644 index 0000000..6a9a3f7 --- /dev/null +++ b/lib/classes/messages/ImagePacket.ts @@ -0,0 +1,70 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ImagePacketMessage implements MessageBase +{ + name = 'ImagePacket'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyHigh; + id = Message.ImagePacket; + + ImageID: { + ID: UUID; + Packet: number; + }; + ImageData: { + Data: string; + }; + + getSize(): number + { + return (this.ImageData['Data'].length + 2) + 18; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.ImageID['ID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt16LE(this.ImageID['Packet'], pos); + pos += 2; + buf.writeUInt16LE(this.ImageData['Data'].length, pos); + pos += 2; + buf.write(this.ImageData['Data'], pos); + pos += this.ImageData['Data'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjImageID: { + ID: UUID, + Packet: number + } = { + ID: UUID.zero(), + Packet: 0 + }; + newObjImageID['ID'] = new UUID(buf, pos); + pos += 16; + newObjImageID['Packet'] = buf.readUInt16LE(pos); + pos += 2; + this.ImageID = newObjImageID; + const newObjImageData: { + Data: string + } = { + Data: '' + }; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjImageData['Data'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ImageData = newObjImageData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ImprovedInstantMessage.ts b/lib/classes/messages/ImprovedInstantMessage.ts new file mode 100644 index 0000000..02c6ac5 --- /dev/null +++ b/lib/classes/messages/ImprovedInstantMessage.ts @@ -0,0 +1,161 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ImprovedInstantMessageMessage implements MessageBase +{ + name = 'ImprovedInstantMessage'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ImprovedInstantMessage; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + MessageBlock: { + FromGroup: boolean; + ToAgentID: UUID; + ParentEstateID: number; + RegionID: UUID; + Position: Vector3; + Offline: number; + Dialog: number; + ID: UUID; + Timestamp: number; + FromAgentName: string; + Message: string; + BinaryBucket: string; + }; + EstateBlock: { + EstateID: number; + }; + + getSize(): number + { + return (this.MessageBlock['FromAgentName'].length + 1 + this.MessageBlock['Message'].length + 2 + this.MessageBlock['BinaryBucket'].length + 2) + 107; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.MessageBlock['FromGroup']) ? 1 : 0, pos++); + this.MessageBlock['ToAgentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.MessageBlock['ParentEstateID'], pos); + pos += 4; + this.MessageBlock['RegionID'].writeToBuffer(buf, pos); + pos += 16; + this.MessageBlock['Position'].writeToBuffer(buf, pos, false); + pos += 12; + buf.writeUInt8(this.MessageBlock['Offline'], pos++); + buf.writeUInt8(this.MessageBlock['Dialog'], pos++); + this.MessageBlock['ID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.MessageBlock['Timestamp'], pos); + pos += 4; + buf.writeUInt8(this.MessageBlock['FromAgentName'].length, pos++); + buf.write(this.MessageBlock['FromAgentName'], pos); + pos += this.MessageBlock['FromAgentName'].length; + buf.writeUInt16LE(this.MessageBlock['Message'].length, pos); + pos += 2; + buf.write(this.MessageBlock['Message'], pos); + pos += this.MessageBlock['Message'].length; + buf.writeUInt16LE(this.MessageBlock['BinaryBucket'].length, pos); + pos += 2; + buf.write(this.MessageBlock['BinaryBucket'], pos); + pos += this.MessageBlock['BinaryBucket'].length; + buf.writeUInt32LE(this.EstateBlock['EstateID'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjMessageBlock: { + FromGroup: boolean, + ToAgentID: UUID, + ParentEstateID: number, + RegionID: UUID, + Position: Vector3, + Offline: number, + Dialog: number, + ID: UUID, + Timestamp: number, + FromAgentName: string, + Message: string, + BinaryBucket: string + } = { + FromGroup: false, + ToAgentID: UUID.zero(), + ParentEstateID: 0, + RegionID: UUID.zero(), + Position: Vector3.getZero(), + Offline: 0, + Dialog: 0, + ID: UUID.zero(), + Timestamp: 0, + FromAgentName: '', + Message: '', + BinaryBucket: '' + }; + newObjMessageBlock['FromGroup'] = (buf.readUInt8(pos++) === 1); + newObjMessageBlock['ToAgentID'] = new UUID(buf, pos); + pos += 16; + newObjMessageBlock['ParentEstateID'] = buf.readUInt32LE(pos); + pos += 4; + newObjMessageBlock['RegionID'] = new UUID(buf, pos); + pos += 16; + newObjMessageBlock['Position'] = new Vector3(buf, pos, false); + pos += 12; + newObjMessageBlock['Offline'] = buf.readUInt8(pos++); + newObjMessageBlock['Dialog'] = buf.readUInt8(pos++); + newObjMessageBlock['ID'] = new UUID(buf, pos); + pos += 16; + newObjMessageBlock['Timestamp'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjMessageBlock['FromAgentName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjMessageBlock['Message'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjMessageBlock['BinaryBucket'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.MessageBlock = newObjMessageBlock; + const newObjEstateBlock: { + EstateID: number + } = { + EstateID: 0 + }; + newObjEstateBlock['EstateID'] = buf.readUInt32LE(pos); + pos += 4; + this.EstateBlock = newObjEstateBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ImprovedTerseObjectUpdate.ts b/lib/classes/messages/ImprovedTerseObjectUpdate.ts new file mode 100644 index 0000000..3076559 --- /dev/null +++ b/lib/classes/messages/ImprovedTerseObjectUpdate.ts @@ -0,0 +1,101 @@ +// This file has been automatically generated by writeMessageClasses.js + +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ImprovedTerseObjectUpdateMessage implements MessageBase +{ + name = 'ImprovedTerseObjectUpdate'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyHigh; + id = Message.ImprovedTerseObjectUpdate; + + RegionData: { + RegionHandle: Long; + TimeDilation: number; + }; + ObjectData: { + Data: string; + TextureEntry: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.ObjectData, 'Data', 1) + this.calculateVarVarSize(this.ObjectData, 'TextureEntry', 2)) * this.ObjectData.length) + 11; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeInt32LE(this.RegionData['RegionHandle'].low, pos); + pos += 4; + buf.writeInt32LE(this.RegionData['RegionHandle'].high, pos); + pos += 4; + buf.writeUInt16LE(this.RegionData['TimeDilation'], pos); + pos += 2; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt8(this.ObjectData[i]['Data'].length, pos++); + buf.write(this.ObjectData[i]['Data'], pos); + pos += this.ObjectData[i]['Data'].length; + buf.writeUInt16LE(this.ObjectData[i]['TextureEntry'].length, pos); + pos += 2; + buf.write(this.ObjectData[i]['TextureEntry'], pos); + pos += this.ObjectData[i]['TextureEntry'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjRegionData: { + RegionHandle: Long, + TimeDilation: number + } = { + RegionHandle: Long.ZERO, + TimeDilation: 0 + }; + newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjRegionData['TimeDilation'] = buf.readUInt16LE(pos); + pos += 2; + this.RegionData = newObjRegionData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + Data: string, + TextureEntry: string + } = { + Data: '', + TextureEntry: '' + }; + varLength = buf.readUInt8(pos++); + newObjObjectData['Data'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjObjectData['TextureEntry'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/InitiateDownload.ts b/lib/classes/messages/InitiateDownload.ts new file mode 100644 index 0000000..85a4696 --- /dev/null +++ b/lib/classes/messages/InitiateDownload.ts @@ -0,0 +1,70 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class InitiateDownloadMessage implements MessageBase +{ + name = 'InitiateDownload'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.InitiateDownload; + + AgentData: { + AgentID: UUID; + }; + FileData: { + SimFilename: string; + ViewerFilename: string; + }; + + getSize(): number + { + return (this.FileData['SimFilename'].length + 1 + this.FileData['ViewerFilename'].length + 1) + 16; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.FileData['SimFilename'].length, pos++); + buf.write(this.FileData['SimFilename'], pos); + pos += this.FileData['SimFilename'].length; + buf.writeUInt8(this.FileData['ViewerFilename'].length, pos++); + buf.write(this.FileData['ViewerFilename'], pos); + pos += this.FileData['ViewerFilename'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjFileData: { + SimFilename: string, + ViewerFilename: string + } = { + SimFilename: '', + ViewerFilename: '' + }; + varLength = buf.readUInt8(pos++); + newObjFileData['SimFilename'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjFileData['ViewerFilename'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.FileData = newObjFileData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/InternalScriptMail.ts b/lib/classes/messages/InternalScriptMail.ts new file mode 100644 index 0000000..822f587 --- /dev/null +++ b/lib/classes/messages/InternalScriptMail.ts @@ -0,0 +1,75 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class InternalScriptMailMessage implements MessageBase +{ + name = 'InternalScriptMail'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyMedium; + id = Message.InternalScriptMail; + + DataBlock: { + From: string; + To: UUID; + Subject: string; + Body: string; + }; + + getSize(): number + { + return (this.DataBlock['From'].length + 1 + this.DataBlock['Subject'].length + 1 + this.DataBlock['Body'].length + 2) + 16; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt8(this.DataBlock['From'].length, pos++); + buf.write(this.DataBlock['From'], pos); + pos += this.DataBlock['From'].length; + this.DataBlock['To'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.DataBlock['Subject'].length, pos++); + buf.write(this.DataBlock['Subject'], pos); + pos += this.DataBlock['Subject'].length; + buf.writeUInt16LE(this.DataBlock['Body'].length, pos); + pos += 2; + buf.write(this.DataBlock['Body'], pos); + pos += this.DataBlock['Body'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjDataBlock: { + From: string, + To: UUID, + Subject: string, + Body: string + } = { + From: '', + To: UUID.zero(), + Subject: '', + Body: '' + }; + varLength = buf.readUInt8(pos++); + newObjDataBlock['From'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjDataBlock['To'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjDataBlock['Subject'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjDataBlock['Body'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.DataBlock = newObjDataBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/InventoryAssetResponse.ts b/lib/classes/messages/InventoryAssetResponse.ts new file mode 100644 index 0000000..4728bf0 --- /dev/null +++ b/lib/classes/messages/InventoryAssetResponse.ts @@ -0,0 +1,58 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class InventoryAssetResponseMessage implements MessageBase +{ + name = 'InventoryAssetResponse'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.InventoryAssetResponse; + + QueryData: { + QueryID: UUID; + AssetID: UUID; + IsReadable: boolean; + }; + + getSize(): number + { + return 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.QueryData['QueryID'].writeToBuffer(buf, pos); + pos += 16; + this.QueryData['AssetID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.QueryData['IsReadable']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjQueryData: { + QueryID: UUID, + AssetID: UUID, + IsReadable: boolean + } = { + QueryID: UUID.zero(), + AssetID: UUID.zero(), + IsReadable: false + }; + newObjQueryData['QueryID'] = new UUID(buf, pos); + pos += 16; + newObjQueryData['AssetID'] = new UUID(buf, pos); + pos += 16; + newObjQueryData['IsReadable'] = (buf.readUInt8(pos++) === 1); + this.QueryData = newObjQueryData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/InventoryDescendents.ts b/lib/classes/messages/InventoryDescendents.ts new file mode 100644 index 0000000..3ee4ab3 --- /dev/null +++ b/lib/classes/messages/InventoryDescendents.ts @@ -0,0 +1,287 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class InventoryDescendentsMessage implements MessageBase +{ + name = 'InventoryDescendents'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.InventoryDescendents; + + AgentData: { + AgentID: UUID; + FolderID: UUID; + OwnerID: UUID; + Version: number; + Descendents: number; + }; + FolderData: { + FolderID: UUID; + ParentID: UUID; + Type: number; + Name: string; + }[]; + ItemData: { + ItemID: UUID; + FolderID: UUID; + CreatorID: UUID; + OwnerID: UUID; + GroupID: UUID; + BaseMask: number; + OwnerMask: number; + GroupMask: number; + EveryoneMask: number; + NextOwnerMask: number; + GroupOwned: boolean; + AssetID: UUID; + Type: number; + InvType: number; + Flags: number; + SaleType: number; + SalePrice: number; + Name: string; + Description: string; + CreationDate: number; + CRC: number; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.FolderData, 'Name', 1) + 33) * this.FolderData.length) + ((this.calculateVarVarSize(this.ItemData, 'Name', 1) + this.calculateVarVarSize(this.ItemData, 'Description', 1) + 136) * this.ItemData.length) + 58; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['FolderID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.AgentData['Version'], pos); + pos += 4; + buf.writeInt32LE(this.AgentData['Descendents'], pos); + pos += 4; + let count = this.FolderData.length; + buf.writeUInt8(this.FolderData.length, pos++); + for (let i = 0; i < count; i++) + { + this.FolderData[i]['FolderID'].writeToBuffer(buf, pos); + pos += 16; + this.FolderData[i]['ParentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt8(this.FolderData[i]['Type'], pos++); + buf.writeUInt8(this.FolderData[i]['Name'].length, pos++); + buf.write(this.FolderData[i]['Name'], pos); + pos += this.FolderData[i]['Name'].length; + } + count = this.ItemData.length; + buf.writeUInt8(this.ItemData.length, pos++); + for (let i = 0; i < count; i++) + { + this.ItemData[i]['ItemID'].writeToBuffer(buf, pos); + pos += 16; + this.ItemData[i]['FolderID'].writeToBuffer(buf, pos); + pos += 16; + this.ItemData[i]['CreatorID'].writeToBuffer(buf, pos); + pos += 16; + this.ItemData[i]['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + this.ItemData[i]['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.ItemData[i]['BaseMask'], pos); + pos += 4; + buf.writeUInt32LE(this.ItemData[i]['OwnerMask'], pos); + pos += 4; + buf.writeUInt32LE(this.ItemData[i]['GroupMask'], pos); + pos += 4; + buf.writeUInt32LE(this.ItemData[i]['EveryoneMask'], pos); + pos += 4; + buf.writeUInt32LE(this.ItemData[i]['NextOwnerMask'], pos); + pos += 4; + buf.writeUInt8((this.ItemData[i]['GroupOwned']) ? 1 : 0, pos++); + this.ItemData[i]['AssetID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt8(this.ItemData[i]['Type'], pos++); + buf.writeInt8(this.ItemData[i]['InvType'], pos++); + buf.writeUInt32LE(this.ItemData[i]['Flags'], pos); + pos += 4; + buf.writeUInt8(this.ItemData[i]['SaleType'], pos++); + buf.writeInt32LE(this.ItemData[i]['SalePrice'], pos); + pos += 4; + buf.writeUInt8(this.ItemData[i]['Name'].length, pos++); + buf.write(this.ItemData[i]['Name'], pos); + pos += this.ItemData[i]['Name'].length; + buf.writeUInt8(this.ItemData[i]['Description'].length, pos++); + buf.write(this.ItemData[i]['Description'], pos); + pos += this.ItemData[i]['Description'].length; + buf.writeInt32LE(this.ItemData[i]['CreationDate'], pos); + pos += 4; + buf.writeUInt32LE(this.ItemData[i]['CRC'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + FolderID: UUID, + OwnerID: UUID, + Version: number, + Descendents: number + } = { + AgentID: UUID.zero(), + FolderID: UUID.zero(), + OwnerID: UUID.zero(), + Version: 0, + Descendents: 0 + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['FolderID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['Version'] = buf.readInt32LE(pos); + pos += 4; + newObjAgentData['Descendents'] = buf.readInt32LE(pos); + pos += 4; + this.AgentData = newObjAgentData; + let count = buf.readUInt8(pos++); + this.FolderData = []; + for (let i = 0; i < count; i++) + { + const newObjFolderData: { + FolderID: UUID, + ParentID: UUID, + Type: number, + Name: string + } = { + FolderID: UUID.zero(), + ParentID: UUID.zero(), + Type: 0, + Name: '' + }; + newObjFolderData['FolderID'] = new UUID(buf, pos); + pos += 16; + newObjFolderData['ParentID'] = new UUID(buf, pos); + pos += 16; + newObjFolderData['Type'] = buf.readInt8(pos++); + varLength = buf.readUInt8(pos++); + newObjFolderData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.FolderData.push(newObjFolderData); + } + count = buf.readUInt8(pos++); + this.ItemData = []; + for (let i = 0; i < count; i++) + { + const newObjItemData: { + ItemID: UUID, + FolderID: UUID, + CreatorID: UUID, + OwnerID: UUID, + GroupID: UUID, + BaseMask: number, + OwnerMask: number, + GroupMask: number, + EveryoneMask: number, + NextOwnerMask: number, + GroupOwned: boolean, + AssetID: UUID, + Type: number, + InvType: number, + Flags: number, + SaleType: number, + SalePrice: number, + Name: string, + Description: string, + CreationDate: number, + CRC: number + } = { + ItemID: UUID.zero(), + FolderID: UUID.zero(), + CreatorID: UUID.zero(), + OwnerID: UUID.zero(), + GroupID: UUID.zero(), + BaseMask: 0, + OwnerMask: 0, + GroupMask: 0, + EveryoneMask: 0, + NextOwnerMask: 0, + GroupOwned: false, + AssetID: UUID.zero(), + Type: 0, + InvType: 0, + Flags: 0, + SaleType: 0, + SalePrice: 0, + Name: '', + Description: '', + CreationDate: 0, + CRC: 0 + }; + newObjItemData['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjItemData['FolderID'] = new UUID(buf, pos); + pos += 16; + newObjItemData['CreatorID'] = new UUID(buf, pos); + pos += 16; + newObjItemData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjItemData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjItemData['BaseMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjItemData['OwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjItemData['GroupMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjItemData['EveryoneMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjItemData['NextOwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjItemData['GroupOwned'] = (buf.readUInt8(pos++) === 1); + newObjItemData['AssetID'] = new UUID(buf, pos); + pos += 16; + newObjItemData['Type'] = buf.readInt8(pos++); + newObjItemData['InvType'] = buf.readInt8(pos++); + newObjItemData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + newObjItemData['SaleType'] = buf.readUInt8(pos++); + newObjItemData['SalePrice'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjItemData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjItemData['Description'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjItemData['CreationDate'] = buf.readInt32LE(pos); + pos += 4; + newObjItemData['CRC'] = buf.readUInt32LE(pos); + pos += 4; + this.ItemData.push(newObjItemData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/InviteGroupRequest.ts b/lib/classes/messages/InviteGroupRequest.ts new file mode 100644 index 0000000..a24223f --- /dev/null +++ b/lib/classes/messages/InviteGroupRequest.ts @@ -0,0 +1,96 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class InviteGroupRequestMessage implements MessageBase +{ + name = 'InviteGroupRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.InviteGroupRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + GroupData: { + GroupID: UUID; + }; + InviteData: { + InviteeID: UUID; + RoleID: UUID; + }[]; + + getSize(): number + { + return ((32) * this.InviteData.length) + 49; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.GroupData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.InviteData.length; + buf.writeUInt8(this.InviteData.length, pos++); + for (let i = 0; i < count; i++) + { + this.InviteData[i]['InviteeID'].writeToBuffer(buf, pos); + pos += 16; + this.InviteData[i]['RoleID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjGroupData: { + GroupID: UUID + } = { + GroupID: UUID.zero() + }; + newObjGroupData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.GroupData = newObjGroupData; + const count = buf.readUInt8(pos++); + this.InviteData = []; + for (let i = 0; i < count; i++) + { + const newObjInviteData: { + InviteeID: UUID, + RoleID: UUID + } = { + InviteeID: UUID.zero(), + RoleID: UUID.zero() + }; + newObjInviteData['InviteeID'] = new UUID(buf, pos); + pos += 16; + newObjInviteData['RoleID'] = new UUID(buf, pos); + pos += 16; + this.InviteData.push(newObjInviteData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/InviteGroupResponse.ts b/lib/classes/messages/InviteGroupResponse.ts new file mode 100644 index 0000000..32bd7b9 --- /dev/null +++ b/lib/classes/messages/InviteGroupResponse.ts @@ -0,0 +1,87 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class InviteGroupResponseMessage implements MessageBase +{ + name = 'InviteGroupResponse'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.InviteGroupResponse; + + InviteData: { + AgentID: UUID; + InviteeID: UUID; + GroupID: UUID; + RoleID: UUID; + MembershipFee: number; + }; + GroupData: { + GroupLimit: number; + }; + + getSize(): number + { + return 72; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.InviteData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.InviteData['InviteeID'].writeToBuffer(buf, pos); + pos += 16; + this.InviteData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + this.InviteData['RoleID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.InviteData['MembershipFee'], pos); + pos += 4; + buf.writeInt32LE(this.GroupData['GroupLimit'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjInviteData: { + AgentID: UUID, + InviteeID: UUID, + GroupID: UUID, + RoleID: UUID, + MembershipFee: number + } = { + AgentID: UUID.zero(), + InviteeID: UUID.zero(), + GroupID: UUID.zero(), + RoleID: UUID.zero(), + MembershipFee: 0 + }; + newObjInviteData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjInviteData['InviteeID'] = new UUID(buf, pos); + pos += 16; + newObjInviteData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjInviteData['RoleID'] = new UUID(buf, pos); + pos += 16; + newObjInviteData['MembershipFee'] = buf.readInt32LE(pos); + pos += 4; + this.InviteData = newObjInviteData; + const newObjGroupData: { + GroupLimit: number + } = { + GroupLimit: 0 + }; + newObjGroupData['GroupLimit'] = buf.readInt32LE(pos); + pos += 4; + this.GroupData = newObjGroupData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/JoinGroupReply.ts b/lib/classes/messages/JoinGroupReply.ts new file mode 100644 index 0000000..b369905 --- /dev/null +++ b/lib/classes/messages/JoinGroupReply.ts @@ -0,0 +1,64 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class JoinGroupReplyMessage implements MessageBase +{ + name = 'JoinGroupReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.JoinGroupReply; + + AgentData: { + AgentID: UUID; + }; + GroupData: { + GroupID: UUID; + Success: boolean; + }; + + getSize(): number + { + return 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.GroupData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.GroupData['Success']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjGroupData: { + GroupID: UUID, + Success: boolean + } = { + GroupID: UUID.zero(), + Success: false + }; + newObjGroupData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjGroupData['Success'] = (buf.readUInt8(pos++) === 1); + this.GroupData = newObjGroupData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/JoinGroupRequest.ts b/lib/classes/messages/JoinGroupRequest.ts new file mode 100644 index 0000000..c98f1b4 --- /dev/null +++ b/lib/classes/messages/JoinGroupRequest.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class JoinGroupRequestMessage implements MessageBase +{ + name = 'JoinGroupRequest'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.JoinGroupRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + GroupData: { + GroupID: UUID; + }; + + getSize(): number + { + return 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.GroupData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjGroupData: { + GroupID: UUID + } = { + GroupID: UUID.zero() + }; + newObjGroupData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.GroupData = newObjGroupData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/JoinGroupRequestExtended.ts b/lib/classes/messages/JoinGroupRequestExtended.ts new file mode 100644 index 0000000..3673f33 --- /dev/null +++ b/lib/classes/messages/JoinGroupRequestExtended.ts @@ -0,0 +1,73 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class JoinGroupRequestExtendedMessage implements MessageBase +{ + name = 'JoinGroupRequestExtended'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.JoinGroupRequestExtended; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + GroupLimit: number; + }; + GroupData: { + GroupID: UUID; + }; + + getSize(): number + { + return 52; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.AgentData['GroupLimit'], pos); + pos += 4; + this.GroupData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + GroupLimit: number + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + GroupLimit: 0 + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupLimit'] = buf.readInt32LE(pos); + pos += 4; + this.AgentData = newObjAgentData; + const newObjGroupData: { + GroupID: UUID + } = { + GroupID: UUID.zero() + }; + newObjGroupData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.GroupData = newObjGroupData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/KickUser.ts b/lib/classes/messages/KickUser.ts new file mode 100644 index 0000000..24c127b --- /dev/null +++ b/lib/classes/messages/KickUser.ts @@ -0,0 +1,85 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {IPAddress} from '../IPAddress'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class KickUserMessage implements MessageBase +{ + name = 'KickUser'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.KickUser; + + TargetBlock: { + TargetIP: IPAddress; + TargetPort: number; + }; + UserInfo: { + AgentID: UUID; + SessionID: UUID; + Reason: string; + }; + + getSize(): number + { + return (this.UserInfo['Reason'].length + 2) + 38; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.TargetBlock['TargetIP'].writeToBuffer(buf, pos); + pos += 4; + buf.writeUInt16LE(this.TargetBlock['TargetPort'], pos); + pos += 2; + this.UserInfo['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.UserInfo['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt16LE(this.UserInfo['Reason'].length, pos); + pos += 2; + buf.write(this.UserInfo['Reason'], pos); + pos += this.UserInfo['Reason'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjTargetBlock: { + TargetIP: IPAddress, + TargetPort: number + } = { + TargetIP: IPAddress.zero(), + TargetPort: 0 + }; + newObjTargetBlock['TargetIP'] = new IPAddress(buf, pos); + pos += 4; + newObjTargetBlock['TargetPort'] = buf.readUInt16LE(pos); + pos += 2; + this.TargetBlock = newObjTargetBlock; + const newObjUserInfo: { + AgentID: UUID, + SessionID: UUID, + Reason: string + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + Reason: '' + }; + newObjUserInfo['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjUserInfo['SessionID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjUserInfo['Reason'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.UserInfo = newObjUserInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/KickUserAck.ts b/lib/classes/messages/KickUserAck.ts new file mode 100644 index 0000000..ced5cf8 --- /dev/null +++ b/lib/classes/messages/KickUserAck.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class KickUserAckMessage implements MessageBase +{ + name = 'KickUserAck'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.KickUserAck; + + UserInfo: { + SessionID: UUID; + Flags: number; + }; + + getSize(): number + { + return 20; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.UserInfo['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.UserInfo['Flags'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjUserInfo: { + SessionID: UUID, + Flags: number + } = { + SessionID: UUID.zero(), + Flags: 0 + }; + newObjUserInfo['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjUserInfo['Flags'] = buf.readUInt32LE(pos); + pos += 4; + this.UserInfo = newObjUserInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/KillChildAgents.ts b/lib/classes/messages/KillChildAgents.ts new file mode 100644 index 0000000..e429260 --- /dev/null +++ b/lib/classes/messages/KillChildAgents.ts @@ -0,0 +1,46 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class KillChildAgentsMessage implements MessageBase +{ + name = 'KillChildAgents'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.KillChildAgents; + + IDBlock: { + AgentID: UUID; + }; + + getSize(): number + { + return 16; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.IDBlock['AgentID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjIDBlock: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjIDBlock['AgentID'] = new UUID(buf, pos); + pos += 16; + this.IDBlock = newObjIDBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/KillObject.ts b/lib/classes/messages/KillObject.ts new file mode 100644 index 0000000..a7604a9 --- /dev/null +++ b/lib/classes/messages/KillObject.ts @@ -0,0 +1,55 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class KillObjectMessage implements MessageBase +{ + name = 'KillObject'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyHigh; + id = Message.KillObject; + + ObjectData: { + ID: number; + }[]; + + getSize(): number + { + return ((4) * this.ObjectData.length) + 1; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ID'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ID: number + } = { + ID: 0 + }; + newObjObjectData['ID'] = buf.readUInt32LE(pos); + pos += 4; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/LandStatReply.ts b/lib/classes/messages/LandStatReply.ts new file mode 100644 index 0000000..ce081d4 --- /dev/null +++ b/lib/classes/messages/LandStatReply.ts @@ -0,0 +1,146 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class LandStatReplyMessage implements MessageBase +{ + name = 'LandStatReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Deprecated | MessageFlags.FrequencyLow; + id = Message.LandStatReply; + + RequestData: { + ReportType: number; + RequestFlags: number; + TotalObjectCount: number; + }; + ReportData: { + TaskLocalID: number; + TaskID: UUID; + LocationX: number; + LocationY: number; + LocationZ: number; + Score: number; + TaskName: string; + OwnerName: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.ReportData, 'TaskName', 1) + this.calculateVarVarSize(this.ReportData, 'OwnerName', 1) + 36) * this.ReportData.length) + 13; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt32LE(this.RequestData['ReportType'], pos); + pos += 4; + buf.writeUInt32LE(this.RequestData['RequestFlags'], pos); + pos += 4; + buf.writeUInt32LE(this.RequestData['TotalObjectCount'], pos); + pos += 4; + const count = this.ReportData.length; + buf.writeUInt8(this.ReportData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ReportData[i]['TaskLocalID'], pos); + pos += 4; + this.ReportData[i]['TaskID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeFloatLE(this.ReportData[i]['LocationX'], pos); + pos += 4; + buf.writeFloatLE(this.ReportData[i]['LocationY'], pos); + pos += 4; + buf.writeFloatLE(this.ReportData[i]['LocationZ'], pos); + pos += 4; + buf.writeFloatLE(this.ReportData[i]['Score'], pos); + pos += 4; + buf.writeUInt8(this.ReportData[i]['TaskName'].length, pos++); + buf.write(this.ReportData[i]['TaskName'], pos); + pos += this.ReportData[i]['TaskName'].length; + buf.writeUInt8(this.ReportData[i]['OwnerName'].length, pos++); + buf.write(this.ReportData[i]['OwnerName'], pos); + pos += this.ReportData[i]['OwnerName'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjRequestData: { + ReportType: number, + RequestFlags: number, + TotalObjectCount: number + } = { + ReportType: 0, + RequestFlags: 0, + TotalObjectCount: 0 + }; + newObjRequestData['ReportType'] = buf.readUInt32LE(pos); + pos += 4; + newObjRequestData['RequestFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjRequestData['TotalObjectCount'] = buf.readUInt32LE(pos); + pos += 4; + this.RequestData = newObjRequestData; + const count = buf.readUInt8(pos++); + this.ReportData = []; + for (let i = 0; i < count; i++) + { + const newObjReportData: { + TaskLocalID: number, + TaskID: UUID, + LocationX: number, + LocationY: number, + LocationZ: number, + Score: number, + TaskName: string, + OwnerName: string + } = { + TaskLocalID: 0, + TaskID: UUID.zero(), + LocationX: 0, + LocationY: 0, + LocationZ: 0, + Score: 0, + TaskName: '', + OwnerName: '' + }; + newObjReportData['TaskLocalID'] = buf.readUInt32LE(pos); + pos += 4; + newObjReportData['TaskID'] = new UUID(buf, pos); + pos += 16; + newObjReportData['LocationX'] = buf.readFloatLE(pos); + pos += 4; + newObjReportData['LocationY'] = buf.readFloatLE(pos); + pos += 4; + newObjReportData['LocationZ'] = buf.readFloatLE(pos); + pos += 4; + newObjReportData['Score'] = buf.readFloatLE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjReportData['TaskName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjReportData['OwnerName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ReportData.push(newObjReportData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/LandStatRequest.ts b/lib/classes/messages/LandStatRequest.ts new file mode 100644 index 0000000..bd9d258 --- /dev/null +++ b/lib/classes/messages/LandStatRequest.ts @@ -0,0 +1,89 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class LandStatRequestMessage implements MessageBase +{ + name = 'LandStatRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.LandStatRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + RequestData: { + ReportType: number; + RequestFlags: number; + Filter: string; + ParcelLocalID: number; + }; + + getSize(): number + { + return (this.RequestData['Filter'].length + 1) + 44; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.RequestData['ReportType'], pos); + pos += 4; + buf.writeUInt32LE(this.RequestData['RequestFlags'], pos); + pos += 4; + buf.writeUInt8(this.RequestData['Filter'].length, pos++); + buf.write(this.RequestData['Filter'], pos); + pos += this.RequestData['Filter'].length; + buf.writeInt32LE(this.RequestData['ParcelLocalID'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjRequestData: { + ReportType: number, + RequestFlags: number, + Filter: string, + ParcelLocalID: number + } = { + ReportType: 0, + RequestFlags: 0, + Filter: '', + ParcelLocalID: 0 + }; + newObjRequestData['ReportType'] = buf.readUInt32LE(pos); + pos += 4; + newObjRequestData['RequestFlags'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjRequestData['Filter'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjRequestData['ParcelLocalID'] = buf.readInt32LE(pos); + pos += 4; + this.RequestData = newObjRequestData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/LayerData.ts b/lib/classes/messages/LayerData.ts new file mode 100644 index 0000000..16e7846 --- /dev/null +++ b/lib/classes/messages/LayerData.ts @@ -0,0 +1,60 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class LayerDataMessage implements MessageBase +{ + name = 'LayerData'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyHigh; + id = Message.LayerData; + + LayerID: { + Type: number; + }; + LayerData: { + Data: string; + }; + + getSize(): number + { + return (this.LayerData['Data'].length + 2) + 1; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt8(this.LayerID['Type'], pos++); + buf.writeUInt16LE(this.LayerData['Data'].length, pos); + pos += 2; + buf.write(this.LayerData['Data'], pos); + pos += this.LayerData['Data'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjLayerID: { + Type: number + } = { + Type: 0 + }; + newObjLayerID['Type'] = buf.readUInt8(pos++); + this.LayerID = newObjLayerID; + const newObjLayerData: { + Data: string + } = { + Data: '' + }; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjLayerData['Data'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.LayerData = newObjLayerData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/LeaveGroupReply.ts b/lib/classes/messages/LeaveGroupReply.ts new file mode 100644 index 0000000..9bf6e29 --- /dev/null +++ b/lib/classes/messages/LeaveGroupReply.ts @@ -0,0 +1,64 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class LeaveGroupReplyMessage implements MessageBase +{ + name = 'LeaveGroupReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.LeaveGroupReply; + + AgentData: { + AgentID: UUID; + }; + GroupData: { + GroupID: UUID; + Success: boolean; + }; + + getSize(): number + { + return 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.GroupData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.GroupData['Success']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjGroupData: { + GroupID: UUID, + Success: boolean + } = { + GroupID: UUID.zero(), + Success: false + }; + newObjGroupData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjGroupData['Success'] = (buf.readUInt8(pos++) === 1); + this.GroupData = newObjGroupData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/LeaveGroupRequest.ts b/lib/classes/messages/LeaveGroupRequest.ts new file mode 100644 index 0000000..cd58387 --- /dev/null +++ b/lib/classes/messages/LeaveGroupRequest.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class LeaveGroupRequestMessage implements MessageBase +{ + name = 'LeaveGroupRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.LeaveGroupRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + GroupData: { + GroupID: UUID; + }; + + getSize(): number + { + return 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.GroupData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjGroupData: { + GroupID: UUID + } = { + GroupID: UUID.zero() + }; + newObjGroupData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.GroupData = newObjGroupData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/LinkInventoryItem.ts b/lib/classes/messages/LinkInventoryItem.ts new file mode 100644 index 0000000..03c592e --- /dev/null +++ b/lib/classes/messages/LinkInventoryItem.ts @@ -0,0 +1,115 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class LinkInventoryItemMessage implements MessageBase +{ + name = 'LinkInventoryItem'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.LinkInventoryItem; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + InventoryBlock: { + CallbackID: number; + FolderID: UUID; + TransactionID: UUID; + OldItemID: UUID; + Type: number; + InvType: number; + Name: string; + Description: string; + }; + + getSize(): number + { + return (this.InventoryBlock['Name'].length + 1 + this.InventoryBlock['Description'].length + 1) + 86; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.InventoryBlock['CallbackID'], pos); + pos += 4; + this.InventoryBlock['FolderID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryBlock['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryBlock['OldItemID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt8(this.InventoryBlock['Type'], pos++); + buf.writeInt8(this.InventoryBlock['InvType'], pos++); + buf.writeUInt8(this.InventoryBlock['Name'].length, pos++); + buf.write(this.InventoryBlock['Name'], pos); + pos += this.InventoryBlock['Name'].length; + buf.writeUInt8(this.InventoryBlock['Description'].length, pos++); + buf.write(this.InventoryBlock['Description'], pos); + pos += this.InventoryBlock['Description'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjInventoryBlock: { + CallbackID: number, + FolderID: UUID, + TransactionID: UUID, + OldItemID: UUID, + Type: number, + InvType: number, + Name: string, + Description: string + } = { + CallbackID: 0, + FolderID: UUID.zero(), + TransactionID: UUID.zero(), + OldItemID: UUID.zero(), + Type: 0, + InvType: 0, + Name: '', + Description: '' + }; + newObjInventoryBlock['CallbackID'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryBlock['FolderID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryBlock['TransactionID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryBlock['OldItemID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryBlock['Type'] = buf.readInt8(pos++); + newObjInventoryBlock['InvType'] = buf.readInt8(pos++); + varLength = buf.readUInt8(pos++); + newObjInventoryBlock['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjInventoryBlock['Description'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.InventoryBlock = newObjInventoryBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/LiveHelpGroupReply.ts b/lib/classes/messages/LiveHelpGroupReply.ts new file mode 100644 index 0000000..6cd9b08 --- /dev/null +++ b/lib/classes/messages/LiveHelpGroupReply.ts @@ -0,0 +1,62 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class LiveHelpGroupReplyMessage implements MessageBase +{ + name = 'LiveHelpGroupReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.LiveHelpGroupReply; + + ReplyData: { + RequestID: UUID; + GroupID: UUID; + Selection: string; + }; + + getSize(): number + { + return (this.ReplyData['Selection'].length + 1) + 32; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.ReplyData['RequestID'].writeToBuffer(buf, pos); + pos += 16; + this.ReplyData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.ReplyData['Selection'].length, pos++); + buf.write(this.ReplyData['Selection'], pos); + pos += this.ReplyData['Selection'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjReplyData: { + RequestID: UUID, + GroupID: UUID, + Selection: string + } = { + RequestID: UUID.zero(), + GroupID: UUID.zero(), + Selection: '' + }; + newObjReplyData['RequestID'] = new UUID(buf, pos); + pos += 16; + newObjReplyData['GroupID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjReplyData['Selection'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ReplyData = newObjReplyData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/LiveHelpGroupRequest.ts b/lib/classes/messages/LiveHelpGroupRequest.ts new file mode 100644 index 0000000..8e2f377 --- /dev/null +++ b/lib/classes/messages/LiveHelpGroupRequest.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class LiveHelpGroupRequestMessage implements MessageBase +{ + name = 'LiveHelpGroupRequest'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.LiveHelpGroupRequest; + + RequestData: { + RequestID: UUID; + AgentID: UUID; + }; + + getSize(): number + { + return 32; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.RequestData['RequestID'].writeToBuffer(buf, pos); + pos += 16; + this.RequestData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjRequestData: { + RequestID: UUID, + AgentID: UUID + } = { + RequestID: UUID.zero(), + AgentID: UUID.zero() + }; + newObjRequestData['RequestID'] = new UUID(buf, pos); + pos += 16; + newObjRequestData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.RequestData = newObjRequestData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/LoadURL.ts b/lib/classes/messages/LoadURL.ts new file mode 100644 index 0000000..2201e45 --- /dev/null +++ b/lib/classes/messages/LoadURL.ts @@ -0,0 +1,85 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class LoadURLMessage implements MessageBase +{ + name = 'LoadURL'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.LoadURL; + + Data: { + ObjectName: string; + ObjectID: UUID; + OwnerID: UUID; + OwnerIsGroup: boolean; + Message: string; + URL: string; + }; + + getSize(): number + { + return (this.Data['ObjectName'].length + 1 + this.Data['Message'].length + 1 + this.Data['URL'].length + 1) + 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt8(this.Data['ObjectName'].length, pos++); + buf.write(this.Data['ObjectName'], pos); + pos += this.Data['ObjectName'].length; + this.Data['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.Data['OwnerIsGroup']) ? 1 : 0, pos++); + buf.writeUInt8(this.Data['Message'].length, pos++); + buf.write(this.Data['Message'], pos); + pos += this.Data['Message'].length; + buf.writeUInt8(this.Data['URL'].length, pos++); + buf.write(this.Data['URL'], pos); + pos += this.Data['URL'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjData: { + ObjectName: string, + ObjectID: UUID, + OwnerID: UUID, + OwnerIsGroup: boolean, + Message: string, + URL: string + } = { + ObjectName: '', + ObjectID: UUID.zero(), + OwnerID: UUID.zero(), + OwnerIsGroup: false, + Message: '', + URL: '' + }; + varLength = buf.readUInt8(pos++); + newObjData['ObjectName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjData['ObjectID'] = new UUID(buf, pos); + pos += 16; + newObjData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjData['OwnerIsGroup'] = (buf.readUInt8(pos++) === 1); + varLength = buf.readUInt8(pos++); + newObjData['Message'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjData['URL'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/LogDwellTime.ts b/lib/classes/messages/LogDwellTime.ts new file mode 100644 index 0000000..3d7b44c --- /dev/null +++ b/lib/classes/messages/LogDwellTime.ts @@ -0,0 +1,93 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class LogDwellTimeMessage implements MessageBase +{ + name = 'LogDwellTime'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.LogDwellTime; + + DwellInfo: { + AgentID: UUID; + SessionID: UUID; + Duration: number; + SimName: string; + RegionX: number; + RegionY: number; + AvgAgentsInView: number; + AvgViewerFPS: number; + }; + + getSize(): number + { + return (this.DwellInfo['SimName'].length + 1) + 46; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.DwellInfo['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.DwellInfo['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeFloatLE(this.DwellInfo['Duration'], pos); + pos += 4; + buf.writeUInt8(this.DwellInfo['SimName'].length, pos++); + buf.write(this.DwellInfo['SimName'], pos); + pos += this.DwellInfo['SimName'].length; + buf.writeUInt32LE(this.DwellInfo['RegionX'], pos); + pos += 4; + buf.writeUInt32LE(this.DwellInfo['RegionY'], pos); + pos += 4; + buf.writeUInt8(this.DwellInfo['AvgAgentsInView'], pos++); + buf.writeUInt8(this.DwellInfo['AvgViewerFPS'], pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjDwellInfo: { + AgentID: UUID, + SessionID: UUID, + Duration: number, + SimName: string, + RegionX: number, + RegionY: number, + AvgAgentsInView: number, + AvgViewerFPS: number + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + Duration: 0, + SimName: '', + RegionX: 0, + RegionY: 0, + AvgAgentsInView: 0, + AvgViewerFPS: 0 + }; + newObjDwellInfo['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjDwellInfo['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjDwellInfo['Duration'] = buf.readFloatLE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjDwellInfo['SimName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjDwellInfo['RegionX'] = buf.readUInt32LE(pos); + pos += 4; + newObjDwellInfo['RegionY'] = buf.readUInt32LE(pos); + pos += 4; + newObjDwellInfo['AvgAgentsInView'] = buf.readUInt8(pos++); + newObjDwellInfo['AvgViewerFPS'] = buf.readUInt8(pos++); + this.DwellInfo = newObjDwellInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/LogFailedMoneyTransaction.ts b/lib/classes/messages/LogFailedMoneyTransaction.ts new file mode 100644 index 0000000..f4cba2d --- /dev/null +++ b/lib/classes/messages/LogFailedMoneyTransaction.ts @@ -0,0 +1,113 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {IPAddress} from '../IPAddress'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class LogFailedMoneyTransactionMessage implements MessageBase +{ + name = 'LogFailedMoneyTransaction'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.LogFailedMoneyTransaction; + + TransactionData: { + TransactionID: UUID; + TransactionTime: number; + TransactionType: number; + SourceID: UUID; + DestID: UUID; + Flags: number; + Amount: number; + SimulatorIP: IPAddress; + GridX: number; + GridY: number; + FailureType: number; + }; + + getSize(): number + { + return 74; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.TransactionData['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.TransactionData['TransactionTime'], pos); + pos += 4; + buf.writeInt32LE(this.TransactionData['TransactionType'], pos); + pos += 4; + this.TransactionData['SourceID'].writeToBuffer(buf, pos); + pos += 16; + this.TransactionData['DestID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.TransactionData['Flags'], pos++); + buf.writeInt32LE(this.TransactionData['Amount'], pos); + pos += 4; + this.TransactionData['SimulatorIP'].writeToBuffer(buf, pos); + pos += 4; + buf.writeUInt32LE(this.TransactionData['GridX'], pos); + pos += 4; + buf.writeUInt32LE(this.TransactionData['GridY'], pos); + pos += 4; + buf.writeUInt8(this.TransactionData['FailureType'], pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjTransactionData: { + TransactionID: UUID, + TransactionTime: number, + TransactionType: number, + SourceID: UUID, + DestID: UUID, + Flags: number, + Amount: number, + SimulatorIP: IPAddress, + GridX: number, + GridY: number, + FailureType: number + } = { + TransactionID: UUID.zero(), + TransactionTime: 0, + TransactionType: 0, + SourceID: UUID.zero(), + DestID: UUID.zero(), + Flags: 0, + Amount: 0, + SimulatorIP: IPAddress.zero(), + GridX: 0, + GridY: 0, + FailureType: 0 + }; + newObjTransactionData['TransactionID'] = new UUID(buf, pos); + pos += 16; + newObjTransactionData['TransactionTime'] = buf.readUInt32LE(pos); + pos += 4; + newObjTransactionData['TransactionType'] = buf.readInt32LE(pos); + pos += 4; + newObjTransactionData['SourceID'] = new UUID(buf, pos); + pos += 16; + newObjTransactionData['DestID'] = new UUID(buf, pos); + pos += 16; + newObjTransactionData['Flags'] = buf.readUInt8(pos++); + newObjTransactionData['Amount'] = buf.readInt32LE(pos); + pos += 4; + newObjTransactionData['SimulatorIP'] = new IPAddress(buf, pos); + pos += 4; + newObjTransactionData['GridX'] = buf.readUInt32LE(pos); + pos += 4; + newObjTransactionData['GridY'] = buf.readUInt32LE(pos); + pos += 4; + newObjTransactionData['FailureType'] = buf.readUInt8(pos++); + this.TransactionData = newObjTransactionData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/LogParcelChanges.ts b/lib/classes/messages/LogParcelChanges.ts new file mode 100644 index 0000000..f78f787 --- /dev/null +++ b/lib/classes/messages/LogParcelChanges.ts @@ -0,0 +1,116 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class LogParcelChangesMessage implements MessageBase +{ + name = 'LogParcelChanges'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.LogParcelChanges; + + AgentData: { + AgentID: UUID; + }; + RegionData: { + RegionHandle: Long; + }; + ParcelData: { + ParcelID: UUID; + OwnerID: UUID; + IsOwnerGroup: boolean; + ActualArea: number; + Action: number; + TransactionID: UUID; + }[]; + + getSize(): number + { + return ((54) * this.ParcelData.length) + 25; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.RegionData['RegionHandle'].low, pos); + pos += 4; + buf.writeInt32LE(this.RegionData['RegionHandle'].high, pos); + pos += 4; + const count = this.ParcelData.length; + buf.writeUInt8(this.ParcelData.length, pos++); + for (let i = 0; i < count; i++) + { + this.ParcelData[i]['ParcelID'].writeToBuffer(buf, pos); + pos += 16; + this.ParcelData[i]['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.ParcelData[i]['IsOwnerGroup']) ? 1 : 0, pos++); + buf.writeInt32LE(this.ParcelData[i]['ActualArea'], pos); + pos += 4; + buf.writeInt8(this.ParcelData[i]['Action'], pos++); + this.ParcelData[i]['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjRegionData: { + RegionHandle: Long + } = { + RegionHandle: Long.ZERO + }; + newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + this.RegionData = newObjRegionData; + const count = buf.readUInt8(pos++); + this.ParcelData = []; + for (let i = 0; i < count; i++) + { + const newObjParcelData: { + ParcelID: UUID, + OwnerID: UUID, + IsOwnerGroup: boolean, + ActualArea: number, + Action: number, + TransactionID: UUID + } = { + ParcelID: UUID.zero(), + OwnerID: UUID.zero(), + IsOwnerGroup: false, + ActualArea: 0, + Action: 0, + TransactionID: UUID.zero() + }; + newObjParcelData['ParcelID'] = new UUID(buf, pos); + pos += 16; + newObjParcelData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjParcelData['IsOwnerGroup'] = (buf.readUInt8(pos++) === 1); + newObjParcelData['ActualArea'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['Action'] = buf.readInt8(pos++); + newObjParcelData['TransactionID'] = new UUID(buf, pos); + pos += 16; + this.ParcelData.push(newObjParcelData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/LogTextMessage.ts b/lib/classes/messages/LogTextMessage.ts new file mode 100644 index 0000000..09fda8e --- /dev/null +++ b/lib/classes/messages/LogTextMessage.ts @@ -0,0 +1,105 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class LogTextMessageMessage implements MessageBase +{ + name = 'LogTextMessage'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.LogTextMessage; + + DataBlock: { + FromAgentId: UUID; + ToAgentId: UUID; + GlobalX: number; + GlobalY: number; + Time: number; + Message: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.DataBlock, 'Message', 2) + 52) * this.DataBlock.length) + 1; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.DataBlock.length; + buf.writeUInt8(this.DataBlock.length, pos++); + for (let i = 0; i < count; i++) + { + this.DataBlock[i]['FromAgentId'].writeToBuffer(buf, pos); + pos += 16; + this.DataBlock[i]['ToAgentId'].writeToBuffer(buf, pos); + pos += 16; + buf.writeDoubleLE(this.DataBlock[i]['GlobalX'], pos); + pos += 8; + buf.writeDoubleLE(this.DataBlock[i]['GlobalY'], pos); + pos += 8; + buf.writeUInt32LE(this.DataBlock[i]['Time'], pos); + pos += 4; + buf.writeUInt16LE(this.DataBlock[i]['Message'].length, pos); + pos += 2; + buf.write(this.DataBlock[i]['Message'], pos); + pos += this.DataBlock[i]['Message'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.DataBlock = []; + for (let i = 0; i < count; i++) + { + const newObjDataBlock: { + FromAgentId: UUID, + ToAgentId: UUID, + GlobalX: number, + GlobalY: number, + Time: number, + Message: string + } = { + FromAgentId: UUID.zero(), + ToAgentId: UUID.zero(), + GlobalX: 0, + GlobalY: 0, + Time: 0, + Message: '' + }; + newObjDataBlock['FromAgentId'] = new UUID(buf, pos); + pos += 16; + newObjDataBlock['ToAgentId'] = new UUID(buf, pos); + pos += 16; + newObjDataBlock['GlobalX'] = buf.readDoubleLE(pos); + pos += 8; + newObjDataBlock['GlobalY'] = buf.readDoubleLE(pos); + pos += 8; + newObjDataBlock['Time'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjDataBlock['Message'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.DataBlock.push(newObjDataBlock); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/LogoutReply.ts b/lib/classes/messages/LogoutReply.ts new file mode 100644 index 0000000..9d7c0db --- /dev/null +++ b/lib/classes/messages/LogoutReply.ts @@ -0,0 +1,76 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class LogoutReplyMessage implements MessageBase +{ + name = 'LogoutReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.LogoutReply; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + InventoryData: { + ItemID: UUID; + }[]; + + getSize(): number + { + return ((16) * this.InventoryData.length) + 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.InventoryData.length; + buf.writeUInt8(this.InventoryData.length, pos++); + for (let i = 0; i < count; i++) + { + this.InventoryData[i]['ItemID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.InventoryData = []; + for (let i = 0; i < count; i++) + { + const newObjInventoryData: { + ItemID: UUID + } = { + ItemID: UUID.zero() + }; + newObjInventoryData['ItemID'] = new UUID(buf, pos); + pos += 16; + this.InventoryData.push(newObjInventoryData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/LogoutRequest.ts b/lib/classes/messages/LogoutRequest.ts new file mode 100644 index 0000000..ce6b200 --- /dev/null +++ b/lib/classes/messages/LogoutRequest.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class LogoutRequestMessage implements MessageBase +{ + name = 'LogoutRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.LogoutRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + + getSize(): number + { + return 32; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/MapBlockReply.ts b/lib/classes/messages/MapBlockReply.ts new file mode 100644 index 0000000..d1cf9b4 --- /dev/null +++ b/lib/classes/messages/MapBlockReply.ts @@ -0,0 +1,131 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class MapBlockReplyMessage implements MessageBase +{ + name = 'MapBlockReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.MapBlockReply; + + AgentData: { + AgentID: UUID; + Flags: number; + }; + Data: { + X: number; + Y: number; + Name: string; + Access: number; + RegionFlags: number; + WaterHeight: number; + Agents: number; + MapImageID: UUID; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.Data, 'Name', 1) + 27) * this.Data.length) + 21; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.AgentData['Flags'], pos); + pos += 4; + const count = this.Data.length; + buf.writeUInt8(this.Data.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt16LE(this.Data[i]['X'], pos); + pos += 2; + buf.writeUInt16LE(this.Data[i]['Y'], pos); + pos += 2; + buf.writeUInt8(this.Data[i]['Name'].length, pos++); + buf.write(this.Data[i]['Name'], pos); + pos += this.Data[i]['Name'].length; + buf.writeUInt8(this.Data[i]['Access'], pos++); + buf.writeUInt32LE(this.Data[i]['RegionFlags'], pos); + pos += 4; + buf.writeUInt8(this.Data[i]['WaterHeight'], pos++); + buf.writeUInt8(this.Data[i]['Agents'], pos++); + this.Data[i]['MapImageID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + Flags: number + } = { + AgentID: UUID.zero(), + Flags: 0 + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.Data = []; + for (let i = 0; i < count; i++) + { + const newObjData: { + X: number, + Y: number, + Name: string, + Access: number, + RegionFlags: number, + WaterHeight: number, + Agents: number, + MapImageID: UUID + } = { + X: 0, + Y: 0, + Name: '', + Access: 0, + RegionFlags: 0, + WaterHeight: 0, + Agents: 0, + MapImageID: UUID.zero() + }; + newObjData['X'] = buf.readUInt16LE(pos); + pos += 2; + newObjData['Y'] = buf.readUInt16LE(pos); + pos += 2; + varLength = buf.readUInt8(pos++); + newObjData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjData['Access'] = buf.readUInt8(pos++); + newObjData['RegionFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjData['WaterHeight'] = buf.readUInt8(pos++); + newObjData['Agents'] = buf.readUInt8(pos++); + newObjData['MapImageID'] = new UUID(buf, pos); + pos += 16; + this.Data.push(newObjData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/MapBlockRequest.ts b/lib/classes/messages/MapBlockRequest.ts new file mode 100644 index 0000000..d184dbb --- /dev/null +++ b/lib/classes/messages/MapBlockRequest.ts @@ -0,0 +1,106 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class MapBlockRequestMessage implements MessageBase +{ + name = 'MapBlockRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.MapBlockRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + Flags: number; + EstateID: number; + Godlike: boolean; + }; + PositionData: { + MinX: number; + MaxX: number; + MinY: number; + MaxY: number; + }; + + getSize(): number + { + return 49; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.AgentData['Flags'], pos); + pos += 4; + buf.writeUInt32LE(this.AgentData['EstateID'], pos); + pos += 4; + buf.writeUInt8((this.AgentData['Godlike']) ? 1 : 0, pos++); + buf.writeUInt16LE(this.PositionData['MinX'], pos); + pos += 2; + buf.writeUInt16LE(this.PositionData['MaxX'], pos); + pos += 2; + buf.writeUInt16LE(this.PositionData['MinY'], pos); + pos += 2; + buf.writeUInt16LE(this.PositionData['MaxY'], pos); + pos += 2; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + Flags: number, + EstateID: number, + Godlike: boolean + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + Flags: 0, + EstateID: 0, + Godlike: false + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + newObjAgentData['EstateID'] = buf.readUInt32LE(pos); + pos += 4; + newObjAgentData['Godlike'] = (buf.readUInt8(pos++) === 1); + this.AgentData = newObjAgentData; + const newObjPositionData: { + MinX: number, + MaxX: number, + MinY: number, + MaxY: number + } = { + MinX: 0, + MaxX: 0, + MinY: 0, + MaxY: 0 + }; + newObjPositionData['MinX'] = buf.readUInt16LE(pos); + pos += 2; + newObjPositionData['MaxX'] = buf.readUInt16LE(pos); + pos += 2; + newObjPositionData['MinY'] = buf.readUInt16LE(pos); + pos += 2; + newObjPositionData['MaxY'] = buf.readUInt16LE(pos); + pos += 2; + this.PositionData = newObjPositionData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/MapItemReply.ts b/lib/classes/messages/MapItemReply.ts new file mode 100644 index 0000000..eb9f522 --- /dev/null +++ b/lib/classes/messages/MapItemReply.ts @@ -0,0 +1,136 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class MapItemReplyMessage implements MessageBase +{ + name = 'MapItemReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.MapItemReply; + + AgentData: { + AgentID: UUID; + Flags: number; + }; + RequestData: { + ItemType: number; + }; + Data: { + X: number; + Y: number; + ID: UUID; + Extra: number; + Extra2: number; + Name: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.Data, 'Name', 1) + 32) * this.Data.length) + 25; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.AgentData['Flags'], pos); + pos += 4; + buf.writeUInt32LE(this.RequestData['ItemType'], pos); + pos += 4; + const count = this.Data.length; + buf.writeUInt8(this.Data.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.Data[i]['X'], pos); + pos += 4; + buf.writeUInt32LE(this.Data[i]['Y'], pos); + pos += 4; + this.Data[i]['ID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.Data[i]['Extra'], pos); + pos += 4; + buf.writeInt32LE(this.Data[i]['Extra2'], pos); + pos += 4; + buf.writeUInt8(this.Data[i]['Name'].length, pos++); + buf.write(this.Data[i]['Name'], pos); + pos += this.Data[i]['Name'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + Flags: number + } = { + AgentID: UUID.zero(), + Flags: 0 + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + this.AgentData = newObjAgentData; + const newObjRequestData: { + ItemType: number + } = { + ItemType: 0 + }; + newObjRequestData['ItemType'] = buf.readUInt32LE(pos); + pos += 4; + this.RequestData = newObjRequestData; + const count = buf.readUInt8(pos++); + this.Data = []; + for (let i = 0; i < count; i++) + { + const newObjData: { + X: number, + Y: number, + ID: UUID, + Extra: number, + Extra2: number, + Name: string + } = { + X: 0, + Y: 0, + ID: UUID.zero(), + Extra: 0, + Extra2: 0, + Name: '' + }; + newObjData['X'] = buf.readUInt32LE(pos); + pos += 4; + newObjData['Y'] = buf.readUInt32LE(pos); + pos += 4; + newObjData['ID'] = new UUID(buf, pos); + pos += 16; + newObjData['Extra'] = buf.readInt32LE(pos); + pos += 4; + newObjData['Extra2'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.Data.push(newObjData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/MapItemRequest.ts b/lib/classes/messages/MapItemRequest.ts new file mode 100644 index 0000000..85fda5c --- /dev/null +++ b/lib/classes/messages/MapItemRequest.ts @@ -0,0 +1,95 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class MapItemRequestMessage implements MessageBase +{ + name = 'MapItemRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.MapItemRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + Flags: number; + EstateID: number; + Godlike: boolean; + }; + RequestData: { + ItemType: number; + RegionHandle: Long; + }; + + getSize(): number + { + return 53; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.AgentData['Flags'], pos); + pos += 4; + buf.writeUInt32LE(this.AgentData['EstateID'], pos); + pos += 4; + buf.writeUInt8((this.AgentData['Godlike']) ? 1 : 0, pos++); + buf.writeUInt32LE(this.RequestData['ItemType'], pos); + pos += 4; + buf.writeInt32LE(this.RequestData['RegionHandle'].low, pos); + pos += 4; + buf.writeInt32LE(this.RequestData['RegionHandle'].high, pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + Flags: number, + EstateID: number, + Godlike: boolean + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + Flags: 0, + EstateID: 0, + Godlike: false + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + newObjAgentData['EstateID'] = buf.readUInt32LE(pos); + pos += 4; + newObjAgentData['Godlike'] = (buf.readUInt8(pos++) === 1); + this.AgentData = newObjAgentData; + const newObjRequestData: { + ItemType: number, + RegionHandle: Long + } = { + ItemType: 0, + RegionHandle: Long.ZERO + }; + newObjRequestData['ItemType'] = buf.readUInt32LE(pos); + pos += 4; + newObjRequestData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + this.RequestData = newObjRequestData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/MapLayerReply.ts b/lib/classes/messages/MapLayerReply.ts new file mode 100644 index 0000000..aa41caf --- /dev/null +++ b/lib/classes/messages/MapLayerReply.ts @@ -0,0 +1,104 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class MapLayerReplyMessage implements MessageBase +{ + name = 'MapLayerReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.MapLayerReply; + + AgentData: { + AgentID: UUID; + Flags: number; + }; + LayerData: { + Left: number; + Right: number; + Top: number; + Bottom: number; + ImageID: UUID; + }[]; + + getSize(): number + { + return ((32) * this.LayerData.length) + 21; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.AgentData['Flags'], pos); + pos += 4; + const count = this.LayerData.length; + buf.writeUInt8(this.LayerData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.LayerData[i]['Left'], pos); + pos += 4; + buf.writeUInt32LE(this.LayerData[i]['Right'], pos); + pos += 4; + buf.writeUInt32LE(this.LayerData[i]['Top'], pos); + pos += 4; + buf.writeUInt32LE(this.LayerData[i]['Bottom'], pos); + pos += 4; + this.LayerData[i]['ImageID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + Flags: number + } = { + AgentID: UUID.zero(), + Flags: 0 + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.LayerData = []; + for (let i = 0; i < count; i++) + { + const newObjLayerData: { + Left: number, + Right: number, + Top: number, + Bottom: number, + ImageID: UUID + } = { + Left: 0, + Right: 0, + Top: 0, + Bottom: 0, + ImageID: UUID.zero() + }; + newObjLayerData['Left'] = buf.readUInt32LE(pos); + pos += 4; + newObjLayerData['Right'] = buf.readUInt32LE(pos); + pos += 4; + newObjLayerData['Top'] = buf.readUInt32LE(pos); + pos += 4; + newObjLayerData['Bottom'] = buf.readUInt32LE(pos); + pos += 4; + newObjLayerData['ImageID'] = new UUID(buf, pos); + pos += 16; + this.LayerData.push(newObjLayerData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/MapLayerRequest.ts b/lib/classes/messages/MapLayerRequest.ts new file mode 100644 index 0000000..350b1d5 --- /dev/null +++ b/lib/classes/messages/MapLayerRequest.ts @@ -0,0 +1,72 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class MapLayerRequestMessage implements MessageBase +{ + name = 'MapLayerRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.MapLayerRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + Flags: number; + EstateID: number; + Godlike: boolean; + }; + + getSize(): number + { + return 41; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.AgentData['Flags'], pos); + pos += 4; + buf.writeUInt32LE(this.AgentData['EstateID'], pos); + pos += 4; + buf.writeUInt8((this.AgentData['Godlike']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + Flags: number, + EstateID: number, + Godlike: boolean + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + Flags: 0, + EstateID: 0, + Godlike: false + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + newObjAgentData['EstateID'] = buf.readUInt32LE(pos); + pos += 4; + newObjAgentData['Godlike'] = (buf.readUInt8(pos++) === 1); + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/MapNameRequest.ts b/lib/classes/messages/MapNameRequest.ts new file mode 100644 index 0000000..d713e89 --- /dev/null +++ b/lib/classes/messages/MapNameRequest.ts @@ -0,0 +1,87 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class MapNameRequestMessage implements MessageBase +{ + name = 'MapNameRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.MapNameRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + Flags: number; + EstateID: number; + Godlike: boolean; + }; + NameData: { + Name: string; + }; + + getSize(): number + { + return (this.NameData['Name'].length + 1) + 41; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.AgentData['Flags'], pos); + pos += 4; + buf.writeUInt32LE(this.AgentData['EstateID'], pos); + pos += 4; + buf.writeUInt8((this.AgentData['Godlike']) ? 1 : 0, pos++); + buf.writeUInt8(this.NameData['Name'].length, pos++); + buf.write(this.NameData['Name'], pos); + pos += this.NameData['Name'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + Flags: number, + EstateID: number, + Godlike: boolean + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + Flags: 0, + EstateID: 0, + Godlike: false + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + newObjAgentData['EstateID'] = buf.readUInt32LE(pos); + pos += 4; + newObjAgentData['Godlike'] = (buf.readUInt8(pos++) === 1); + this.AgentData = newObjAgentData; + const newObjNameData: { + Name: string + } = { + Name: '' + }; + varLength = buf.readUInt8(pos++); + newObjNameData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.NameData = newObjNameData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/MeanCollisionAlert.ts b/lib/classes/messages/MeanCollisionAlert.ts new file mode 100644 index 0000000..34fbed6 --- /dev/null +++ b/lib/classes/messages/MeanCollisionAlert.ts @@ -0,0 +1,82 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class MeanCollisionAlertMessage implements MessageBase +{ + name = 'MeanCollisionAlert'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.MeanCollisionAlert; + + MeanCollision: { + Victim: UUID; + Perp: UUID; + Time: number; + Mag: number; + Type: number; + }[]; + + getSize(): number + { + return ((41) * this.MeanCollision.length) + 1; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.MeanCollision.length; + buf.writeUInt8(this.MeanCollision.length, pos++); + for (let i = 0; i < count; i++) + { + this.MeanCollision[i]['Victim'].writeToBuffer(buf, pos); + pos += 16; + this.MeanCollision[i]['Perp'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.MeanCollision[i]['Time'], pos); + pos += 4; + buf.writeFloatLE(this.MeanCollision[i]['Mag'], pos); + pos += 4; + buf.writeUInt8(this.MeanCollision[i]['Type'], pos++); + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.MeanCollision = []; + for (let i = 0; i < count; i++) + { + const newObjMeanCollision: { + Victim: UUID, + Perp: UUID, + Time: number, + Mag: number, + Type: number + } = { + Victim: UUID.zero(), + Perp: UUID.zero(), + Time: 0, + Mag: 0, + Type: 0 + }; + newObjMeanCollision['Victim'] = new UUID(buf, pos); + pos += 16; + newObjMeanCollision['Perp'] = new UUID(buf, pos); + pos += 16; + newObjMeanCollision['Time'] = buf.readUInt32LE(pos); + pos += 4; + newObjMeanCollision['Mag'] = buf.readFloatLE(pos); + pos += 4; + newObjMeanCollision['Type'] = buf.readUInt8(pos++); + this.MeanCollision.push(newObjMeanCollision); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/MergeParcel.ts b/lib/classes/messages/MergeParcel.ts new file mode 100644 index 0000000..7f93714 --- /dev/null +++ b/lib/classes/messages/MergeParcel.ts @@ -0,0 +1,69 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class MergeParcelMessage implements MessageBase +{ + name = 'MergeParcel'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.MergeParcel; + + MasterParcelData: { + MasterID: UUID; + }; + SlaveParcelData: { + SlaveID: UUID; + }[]; + + getSize(): number + { + return ((16) * this.SlaveParcelData.length) + 17; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.MasterParcelData['MasterID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.SlaveParcelData.length; + buf.writeUInt8(this.SlaveParcelData.length, pos++); + for (let i = 0; i < count; i++) + { + this.SlaveParcelData[i]['SlaveID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjMasterParcelData: { + MasterID: UUID + } = { + MasterID: UUID.zero() + }; + newObjMasterParcelData['MasterID'] = new UUID(buf, pos); + pos += 16; + this.MasterParcelData = newObjMasterParcelData; + const count = buf.readUInt8(pos++); + this.SlaveParcelData = []; + for (let i = 0; i < count; i++) + { + const newObjSlaveParcelData: { + SlaveID: UUID + } = { + SlaveID: UUID.zero() + }; + newObjSlaveParcelData['SlaveID'] = new UUID(buf, pos); + pos += 16; + this.SlaveParcelData.push(newObjSlaveParcelData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ModifyLand.ts b/lib/classes/messages/ModifyLand.ts new file mode 100644 index 0000000..d4406e9 --- /dev/null +++ b/lib/classes/messages/ModifyLand.ts @@ -0,0 +1,157 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ModifyLandMessage implements MessageBase +{ + name = 'ModifyLand'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ModifyLand; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ModifyBlock: { + Action: number; + BrushSize: number; + Seconds: number; + Height: number; + }; + ParcelData: { + LocalID: number; + West: number; + South: number; + East: number; + North: number; + }[]; + ModifyBlockExtended: { + BrushSize: number; + }[]; + + getSize(): number + { + return ((20) * this.ParcelData.length) + ((4) * this.ModifyBlockExtended.length) + 44; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.ModifyBlock['Action'], pos++); + buf.writeUInt8(this.ModifyBlock['BrushSize'], pos++); + buf.writeFloatLE(this.ModifyBlock['Seconds'], pos); + pos += 4; + buf.writeFloatLE(this.ModifyBlock['Height'], pos); + pos += 4; + let count = this.ParcelData.length; + buf.writeUInt8(this.ParcelData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeInt32LE(this.ParcelData[i]['LocalID'], pos); + pos += 4; + buf.writeFloatLE(this.ParcelData[i]['West'], pos); + pos += 4; + buf.writeFloatLE(this.ParcelData[i]['South'], pos); + pos += 4; + buf.writeFloatLE(this.ParcelData[i]['East'], pos); + pos += 4; + buf.writeFloatLE(this.ParcelData[i]['North'], pos); + pos += 4; + } + count = this.ModifyBlockExtended.length; + buf.writeUInt8(this.ModifyBlockExtended.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeFloatLE(this.ModifyBlockExtended[i]['BrushSize'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjModifyBlock: { + Action: number, + BrushSize: number, + Seconds: number, + Height: number + } = { + Action: 0, + BrushSize: 0, + Seconds: 0, + Height: 0 + }; + newObjModifyBlock['Action'] = buf.readUInt8(pos++); + newObjModifyBlock['BrushSize'] = buf.readUInt8(pos++); + newObjModifyBlock['Seconds'] = buf.readFloatLE(pos); + pos += 4; + newObjModifyBlock['Height'] = buf.readFloatLE(pos); + pos += 4; + this.ModifyBlock = newObjModifyBlock; + let count = buf.readUInt8(pos++); + this.ParcelData = []; + for (let i = 0; i < count; i++) + { + const newObjParcelData: { + LocalID: number, + West: number, + South: number, + East: number, + North: number + } = { + LocalID: 0, + West: 0, + South: 0, + East: 0, + North: 0 + }; + newObjParcelData['LocalID'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['West'] = buf.readFloatLE(pos); + pos += 4; + newObjParcelData['South'] = buf.readFloatLE(pos); + pos += 4; + newObjParcelData['East'] = buf.readFloatLE(pos); + pos += 4; + newObjParcelData['North'] = buf.readFloatLE(pos); + pos += 4; + this.ParcelData.push(newObjParcelData); + } + count = buf.readUInt8(pos++); + this.ModifyBlockExtended = []; + for (let i = 0; i < count; i++) + { + const newObjModifyBlockExtended: { + BrushSize: number + } = { + BrushSize: 0 + }; + newObjModifyBlockExtended['BrushSize'] = buf.readFloatLE(pos); + pos += 4; + this.ModifyBlockExtended.push(newObjModifyBlockExtended); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/MoneyBalanceReply.ts b/lib/classes/messages/MoneyBalanceReply.ts new file mode 100644 index 0000000..b8251fa --- /dev/null +++ b/lib/classes/messages/MoneyBalanceReply.ts @@ -0,0 +1,141 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class MoneyBalanceReplyMessage implements MessageBase +{ + name = 'MoneyBalanceReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.MoneyBalanceReply; + + MoneyData: { + AgentID: UUID; + TransactionID: UUID; + TransactionSuccess: boolean; + MoneyBalance: number; + SquareMetersCredit: number; + SquareMetersCommitted: number; + Description: string; + }; + TransactionInfo: { + TransactionType: number; + SourceID: UUID; + IsSourceGroup: boolean; + DestID: UUID; + IsDestGroup: boolean; + Amount: number; + ItemDescription: string; + }; + + getSize(): number + { + return (this.MoneyData['Description'].length + 1) + (this.TransactionInfo['ItemDescription'].length + 1) + 87; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.MoneyData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.MoneyData['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.MoneyData['TransactionSuccess']) ? 1 : 0, pos++); + buf.writeInt32LE(this.MoneyData['MoneyBalance'], pos); + pos += 4; + buf.writeInt32LE(this.MoneyData['SquareMetersCredit'], pos); + pos += 4; + buf.writeInt32LE(this.MoneyData['SquareMetersCommitted'], pos); + pos += 4; + buf.writeUInt8(this.MoneyData['Description'].length, pos++); + buf.write(this.MoneyData['Description'], pos); + pos += this.MoneyData['Description'].length; + buf.writeInt32LE(this.TransactionInfo['TransactionType'], pos); + pos += 4; + this.TransactionInfo['SourceID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.TransactionInfo['IsSourceGroup']) ? 1 : 0, pos++); + this.TransactionInfo['DestID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.TransactionInfo['IsDestGroup']) ? 1 : 0, pos++); + buf.writeInt32LE(this.TransactionInfo['Amount'], pos); + pos += 4; + buf.writeUInt8(this.TransactionInfo['ItemDescription'].length, pos++); + buf.write(this.TransactionInfo['ItemDescription'], pos); + pos += this.TransactionInfo['ItemDescription'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjMoneyData: { + AgentID: UUID, + TransactionID: UUID, + TransactionSuccess: boolean, + MoneyBalance: number, + SquareMetersCredit: number, + SquareMetersCommitted: number, + Description: string + } = { + AgentID: UUID.zero(), + TransactionID: UUID.zero(), + TransactionSuccess: false, + MoneyBalance: 0, + SquareMetersCredit: 0, + SquareMetersCommitted: 0, + Description: '' + }; + newObjMoneyData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjMoneyData['TransactionID'] = new UUID(buf, pos); + pos += 16; + newObjMoneyData['TransactionSuccess'] = (buf.readUInt8(pos++) === 1); + newObjMoneyData['MoneyBalance'] = buf.readInt32LE(pos); + pos += 4; + newObjMoneyData['SquareMetersCredit'] = buf.readInt32LE(pos); + pos += 4; + newObjMoneyData['SquareMetersCommitted'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjMoneyData['Description'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.MoneyData = newObjMoneyData; + const newObjTransactionInfo: { + TransactionType: number, + SourceID: UUID, + IsSourceGroup: boolean, + DestID: UUID, + IsDestGroup: boolean, + Amount: number, + ItemDescription: string + } = { + TransactionType: 0, + SourceID: UUID.zero(), + IsSourceGroup: false, + DestID: UUID.zero(), + IsDestGroup: false, + Amount: 0, + ItemDescription: '' + }; + newObjTransactionInfo['TransactionType'] = buf.readInt32LE(pos); + pos += 4; + newObjTransactionInfo['SourceID'] = new UUID(buf, pos); + pos += 16; + newObjTransactionInfo['IsSourceGroup'] = (buf.readUInt8(pos++) === 1); + newObjTransactionInfo['DestID'] = new UUID(buf, pos); + pos += 16; + newObjTransactionInfo['IsDestGroup'] = (buf.readUInt8(pos++) === 1); + newObjTransactionInfo['Amount'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjTransactionInfo['ItemDescription'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.TransactionInfo = newObjTransactionInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/MoneyBalanceRequest.ts b/lib/classes/messages/MoneyBalanceRequest.ts new file mode 100644 index 0000000..4117ecc --- /dev/null +++ b/lib/classes/messages/MoneyBalanceRequest.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class MoneyBalanceRequestMessage implements MessageBase +{ + name = 'MoneyBalanceRequest'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.MoneyBalanceRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + MoneyData: { + TransactionID: UUID; + }; + + getSize(): number + { + return 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.MoneyData['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjMoneyData: { + TransactionID: UUID + } = { + TransactionID: UUID.zero() + }; + newObjMoneyData['TransactionID'] = new UUID(buf, pos); + pos += 16; + this.MoneyData = newObjMoneyData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/MoneyTransferBackend.ts b/lib/classes/messages/MoneyTransferBackend.ts new file mode 100644 index 0000000..0adbc69 --- /dev/null +++ b/lib/classes/messages/MoneyTransferBackend.ts @@ -0,0 +1,126 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class MoneyTransferBackendMessage implements MessageBase +{ + name = 'MoneyTransferBackend'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.MoneyTransferBackend; + + MoneyData: { + TransactionID: UUID; + TransactionTime: number; + SourceID: UUID; + DestID: UUID; + Flags: number; + Amount: number; + AggregatePermNextOwner: number; + AggregatePermInventory: number; + TransactionType: number; + RegionID: UUID; + GridX: number; + GridY: number; + Description: string; + }; + + getSize(): number + { + return (this.MoneyData['Description'].length + 1) + 87; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.MoneyData['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.MoneyData['TransactionTime'], pos); + pos += 4; + this.MoneyData['SourceID'].writeToBuffer(buf, pos); + pos += 16; + this.MoneyData['DestID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.MoneyData['Flags'], pos++); + buf.writeInt32LE(this.MoneyData['Amount'], pos); + pos += 4; + buf.writeUInt8(this.MoneyData['AggregatePermNextOwner'], pos++); + buf.writeUInt8(this.MoneyData['AggregatePermInventory'], pos++); + buf.writeInt32LE(this.MoneyData['TransactionType'], pos); + pos += 4; + this.MoneyData['RegionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.MoneyData['GridX'], pos); + pos += 4; + buf.writeUInt32LE(this.MoneyData['GridY'], pos); + pos += 4; + buf.writeUInt8(this.MoneyData['Description'].length, pos++); + buf.write(this.MoneyData['Description'], pos); + pos += this.MoneyData['Description'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjMoneyData: { + TransactionID: UUID, + TransactionTime: number, + SourceID: UUID, + DestID: UUID, + Flags: number, + Amount: number, + AggregatePermNextOwner: number, + AggregatePermInventory: number, + TransactionType: number, + RegionID: UUID, + GridX: number, + GridY: number, + Description: string + } = { + TransactionID: UUID.zero(), + TransactionTime: 0, + SourceID: UUID.zero(), + DestID: UUID.zero(), + Flags: 0, + Amount: 0, + AggregatePermNextOwner: 0, + AggregatePermInventory: 0, + TransactionType: 0, + RegionID: UUID.zero(), + GridX: 0, + GridY: 0, + Description: '' + }; + newObjMoneyData['TransactionID'] = new UUID(buf, pos); + pos += 16; + newObjMoneyData['TransactionTime'] = buf.readUInt32LE(pos); + pos += 4; + newObjMoneyData['SourceID'] = new UUID(buf, pos); + pos += 16; + newObjMoneyData['DestID'] = new UUID(buf, pos); + pos += 16; + newObjMoneyData['Flags'] = buf.readUInt8(pos++); + newObjMoneyData['Amount'] = buf.readInt32LE(pos); + pos += 4; + newObjMoneyData['AggregatePermNextOwner'] = buf.readUInt8(pos++); + newObjMoneyData['AggregatePermInventory'] = buf.readUInt8(pos++); + newObjMoneyData['TransactionType'] = buf.readInt32LE(pos); + pos += 4; + newObjMoneyData['RegionID'] = new UUID(buf, pos); + pos += 16; + newObjMoneyData['GridX'] = buf.readUInt32LE(pos); + pos += 4; + newObjMoneyData['GridY'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjMoneyData['Description'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.MoneyData = newObjMoneyData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/MoneyTransferRequest.ts b/lib/classes/messages/MoneyTransferRequest.ts new file mode 100644 index 0000000..6b27ddb --- /dev/null +++ b/lib/classes/messages/MoneyTransferRequest.ts @@ -0,0 +1,111 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class MoneyTransferRequestMessage implements MessageBase +{ + name = 'MoneyTransferRequest'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.MoneyTransferRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + MoneyData: { + SourceID: UUID; + DestID: UUID; + Flags: number; + Amount: number; + AggregatePermNextOwner: number; + AggregatePermInventory: number; + TransactionType: number; + Description: string; + }; + + getSize(): number + { + return (this.MoneyData['Description'].length + 1) + 75; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.MoneyData['SourceID'].writeToBuffer(buf, pos); + pos += 16; + this.MoneyData['DestID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.MoneyData['Flags'], pos++); + buf.writeInt32LE(this.MoneyData['Amount'], pos); + pos += 4; + buf.writeUInt8(this.MoneyData['AggregatePermNextOwner'], pos++); + buf.writeUInt8(this.MoneyData['AggregatePermInventory'], pos++); + buf.writeInt32LE(this.MoneyData['TransactionType'], pos); + pos += 4; + buf.writeUInt8(this.MoneyData['Description'].length, pos++); + buf.write(this.MoneyData['Description'], pos); + pos += this.MoneyData['Description'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjMoneyData: { + SourceID: UUID, + DestID: UUID, + Flags: number, + Amount: number, + AggregatePermNextOwner: number, + AggregatePermInventory: number, + TransactionType: number, + Description: string + } = { + SourceID: UUID.zero(), + DestID: UUID.zero(), + Flags: 0, + Amount: 0, + AggregatePermNextOwner: 0, + AggregatePermInventory: 0, + TransactionType: 0, + Description: '' + }; + newObjMoneyData['SourceID'] = new UUID(buf, pos); + pos += 16; + newObjMoneyData['DestID'] = new UUID(buf, pos); + pos += 16; + newObjMoneyData['Flags'] = buf.readUInt8(pos++); + newObjMoneyData['Amount'] = buf.readInt32LE(pos); + pos += 4; + newObjMoneyData['AggregatePermNextOwner'] = buf.readUInt8(pos++); + newObjMoneyData['AggregatePermInventory'] = buf.readUInt8(pos++); + newObjMoneyData['TransactionType'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjMoneyData['Description'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.MoneyData = newObjMoneyData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/MoveInventoryFolder.ts b/lib/classes/messages/MoveInventoryFolder.ts new file mode 100644 index 0000000..079bee7 --- /dev/null +++ b/lib/classes/messages/MoveInventoryFolder.ts @@ -0,0 +1,88 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class MoveInventoryFolderMessage implements MessageBase +{ + name = 'MoveInventoryFolder'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.MoveInventoryFolder; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + Stamp: boolean; + }; + InventoryData: { + FolderID: UUID; + ParentID: UUID; + }[]; + + getSize(): number + { + return ((32) * this.InventoryData.length) + 34; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.AgentData['Stamp']) ? 1 : 0, pos++); + const count = this.InventoryData.length; + buf.writeUInt8(this.InventoryData.length, pos++); + for (let i = 0; i < count; i++) + { + this.InventoryData[i]['FolderID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData[i]['ParentID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + Stamp: boolean + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + Stamp: false + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['Stamp'] = (buf.readUInt8(pos++) === 1); + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.InventoryData = []; + for (let i = 0; i < count; i++) + { + const newObjInventoryData: { + FolderID: UUID, + ParentID: UUID + } = { + FolderID: UUID.zero(), + ParentID: UUID.zero() + }; + newObjInventoryData['FolderID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['ParentID'] = new UUID(buf, pos); + pos += 16; + this.InventoryData.push(newObjInventoryData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/MoveInventoryItem.ts b/lib/classes/messages/MoveInventoryItem.ts new file mode 100644 index 0000000..15d6152 --- /dev/null +++ b/lib/classes/messages/MoveInventoryItem.ts @@ -0,0 +1,107 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class MoveInventoryItemMessage implements MessageBase +{ + name = 'MoveInventoryItem'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.MoveInventoryItem; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + Stamp: boolean; + }; + InventoryData: { + ItemID: UUID; + FolderID: UUID; + NewName: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.InventoryData, 'NewName', 1) + 32) * this.InventoryData.length) + 34; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.AgentData['Stamp']) ? 1 : 0, pos++); + const count = this.InventoryData.length; + buf.writeUInt8(this.InventoryData.length, pos++); + for (let i = 0; i < count; i++) + { + this.InventoryData[i]['ItemID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData[i]['FolderID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.InventoryData[i]['NewName'].length, pos++); + buf.write(this.InventoryData[i]['NewName'], pos); + pos += this.InventoryData[i]['NewName'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + Stamp: boolean + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + Stamp: false + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['Stamp'] = (buf.readUInt8(pos++) === 1); + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.InventoryData = []; + for (let i = 0; i < count; i++) + { + const newObjInventoryData: { + ItemID: UUID, + FolderID: UUID, + NewName: string + } = { + ItemID: UUID.zero(), + FolderID: UUID.zero(), + NewName: '' + }; + newObjInventoryData['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['FolderID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjInventoryData['NewName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.InventoryData.push(newObjInventoryData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/MoveTaskInventory.ts b/lib/classes/messages/MoveTaskInventory.ts new file mode 100644 index 0000000..d3a0c12 --- /dev/null +++ b/lib/classes/messages/MoveTaskInventory.ts @@ -0,0 +1,80 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class MoveTaskInventoryMessage implements MessageBase +{ + name = 'MoveTaskInventory'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.MoveTaskInventory; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + FolderID: UUID; + }; + InventoryData: { + LocalID: number; + ItemID: UUID; + }; + + getSize(): number + { + return 68; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['FolderID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.InventoryData['LocalID'], pos); + pos += 4; + this.InventoryData['ItemID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + FolderID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + FolderID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['FolderID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjInventoryData: { + LocalID: number, + ItemID: UUID + } = { + LocalID: 0, + ItemID: UUID.zero() + }; + newObjInventoryData['LocalID'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['ItemID'] = new UUID(buf, pos); + pos += 16; + this.InventoryData = newObjInventoryData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/MultipleObjectUpdate.ts b/lib/classes/messages/MultipleObjectUpdate.ts new file mode 100644 index 0000000..1d1643d --- /dev/null +++ b/lib/classes/messages/MultipleObjectUpdate.ts @@ -0,0 +1,100 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class MultipleObjectUpdateMessage implements MessageBase +{ + name = 'MultipleObjectUpdate'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyMedium; + id = Message.MultipleObjectUpdate; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + ObjectLocalID: number; + Type: number; + Data: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.ObjectData, 'Data', 1) + 5) * this.ObjectData.length) + 33; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); + pos += 4; + buf.writeUInt8(this.ObjectData[i]['Type'], pos++); + buf.writeUInt8(this.ObjectData[i]['Data'].length, pos++); + buf.write(this.ObjectData[i]['Data'], pos); + pos += this.ObjectData[i]['Data'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectLocalID: number, + Type: number, + Data: string + } = { + ObjectLocalID: 0, + Type: 0, + Data: '' + }; + newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['Type'] = buf.readUInt8(pos++); + varLength = buf.readUInt8(pos++); + newObjObjectData['Data'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/MuteListRequest.ts b/lib/classes/messages/MuteListRequest.ts new file mode 100644 index 0000000..82445cf --- /dev/null +++ b/lib/classes/messages/MuteListRequest.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class MuteListRequestMessage implements MessageBase +{ + name = 'MuteListRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.MuteListRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + MuteData: { + MuteCRC: number; + }; + + getSize(): number + { + return 36; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.MuteData['MuteCRC'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjMuteData: { + MuteCRC: number + } = { + MuteCRC: 0 + }; + newObjMuteData['MuteCRC'] = buf.readUInt32LE(pos); + pos += 4; + this.MuteData = newObjMuteData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/MuteListUpdate.ts b/lib/classes/messages/MuteListUpdate.ts new file mode 100644 index 0000000..12bca8c --- /dev/null +++ b/lib/classes/messages/MuteListUpdate.ts @@ -0,0 +1,55 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class MuteListUpdateMessage implements MessageBase +{ + name = 'MuteListUpdate'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.MuteListUpdate; + + MuteData: { + AgentID: UUID; + Filename: string; + }; + + getSize(): number + { + return (this.MuteData['Filename'].length + 1) + 16; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.MuteData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.MuteData['Filename'].length, pos++); + buf.write(this.MuteData['Filename'], pos); + pos += this.MuteData['Filename'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjMuteData: { + AgentID: UUID, + Filename: string + } = { + AgentID: UUID.zero(), + Filename: '' + }; + newObjMuteData['AgentID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjMuteData['Filename'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.MuteData = newObjMuteData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/NameValuePair.ts b/lib/classes/messages/NameValuePair.ts new file mode 100644 index 0000000..516b557 --- /dev/null +++ b/lib/classes/messages/NameValuePair.ts @@ -0,0 +1,83 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class NameValuePairMessage implements MessageBase +{ + name = 'NameValuePair'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.NameValuePair; + + TaskData: { + ID: UUID; + }; + NameValueData: { + NVPair: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.NameValueData, 'NVPair', 2)) * this.NameValueData.length) + 17; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.TaskData['ID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.NameValueData.length; + buf.writeUInt8(this.NameValueData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt16LE(this.NameValueData[i]['NVPair'].length, pos); + pos += 2; + buf.write(this.NameValueData[i]['NVPair'], pos); + pos += this.NameValueData[i]['NVPair'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjTaskData: { + ID: UUID + } = { + ID: UUID.zero() + }; + newObjTaskData['ID'] = new UUID(buf, pos); + pos += 16; + this.TaskData = newObjTaskData; + const count = buf.readUInt8(pos++); + this.NameValueData = []; + for (let i = 0; i < count; i++) + { + const newObjNameValueData: { + NVPair: string + } = { + NVPair: '' + }; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjNameValueData['NVPair'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.NameValueData.push(newObjNameValueData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/NearestLandingRegionReply.ts b/lib/classes/messages/NearestLandingRegionReply.ts new file mode 100644 index 0000000..84c6062 --- /dev/null +++ b/lib/classes/messages/NearestLandingRegionReply.ts @@ -0,0 +1,48 @@ +// This file has been automatically generated by writeMessageClasses.js + +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class NearestLandingRegionReplyMessage implements MessageBase +{ + name = 'NearestLandingRegionReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.NearestLandingRegionReply; + + LandingRegionData: { + RegionHandle: Long; + }; + + getSize(): number + { + return 8; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeInt32LE(this.LandingRegionData['RegionHandle'].low, pos); + pos += 4; + buf.writeInt32LE(this.LandingRegionData['RegionHandle'].high, pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjLandingRegionData: { + RegionHandle: Long + } = { + RegionHandle: Long.ZERO + }; + newObjLandingRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + this.LandingRegionData = newObjLandingRegionData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/NearestLandingRegionRequest.ts b/lib/classes/messages/NearestLandingRegionRequest.ts new file mode 100644 index 0000000..16a8793 --- /dev/null +++ b/lib/classes/messages/NearestLandingRegionRequest.ts @@ -0,0 +1,48 @@ +// This file has been automatically generated by writeMessageClasses.js + +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class NearestLandingRegionRequestMessage implements MessageBase +{ + name = 'NearestLandingRegionRequest'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.NearestLandingRegionRequest; + + RequestingRegionData: { + RegionHandle: Long; + }; + + getSize(): number + { + return 8; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeInt32LE(this.RequestingRegionData['RegionHandle'].low, pos); + pos += 4; + buf.writeInt32LE(this.RequestingRegionData['RegionHandle'].high, pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjRequestingRegionData: { + RegionHandle: Long + } = { + RegionHandle: Long.ZERO + }; + newObjRequestingRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + this.RequestingRegionData = newObjRequestingRegionData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/NearestLandingRegionUpdated.ts b/lib/classes/messages/NearestLandingRegionUpdated.ts new file mode 100644 index 0000000..a97414f --- /dev/null +++ b/lib/classes/messages/NearestLandingRegionUpdated.ts @@ -0,0 +1,48 @@ +// This file has been automatically generated by writeMessageClasses.js + +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class NearestLandingRegionUpdatedMessage implements MessageBase +{ + name = 'NearestLandingRegionUpdated'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.NearestLandingRegionUpdated; + + RegionData: { + RegionHandle: Long; + }; + + getSize(): number + { + return 8; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeInt32LE(this.RegionData['RegionHandle'].low, pos); + pos += 4; + buf.writeInt32LE(this.RegionData['RegionHandle'].high, pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjRegionData: { + RegionHandle: Long + } = { + RegionHandle: Long.ZERO + }; + newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + this.RegionData = newObjRegionData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/NeighborList.ts b/lib/classes/messages/NeighborList.ts new file mode 100644 index 0000000..833f406 --- /dev/null +++ b/lib/classes/messages/NeighborList.ts @@ -0,0 +1,107 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {IPAddress} from '../IPAddress'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class NeighborListMessage implements MessageBase +{ + name = 'NeighborList'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyHigh; + id = Message.NeighborList; + + NeighborBlock: { + IP: IPAddress; + Port: number; + PublicIP: IPAddress; + PublicPort: number; + RegionID: UUID; + Name: string; + SimAccess: number; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.NeighborBlock, 'Name', 1)) * 4) + 116; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = 4; + for (let i = 0; i < count; i++) + { + this.NeighborBlock[i]['IP'].writeToBuffer(buf, pos); + pos += 4; + buf.writeUInt16LE(this.NeighborBlock[i]['Port'], pos); + pos += 2; + this.NeighborBlock[i]['PublicIP'].writeToBuffer(buf, pos); + pos += 4; + buf.writeUInt16LE(this.NeighborBlock[i]['PublicPort'], pos); + pos += 2; + this.NeighborBlock[i]['RegionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.NeighborBlock[i]['Name'].length, pos++); + buf.write(this.NeighborBlock[i]['Name'], pos); + pos += this.NeighborBlock[i]['Name'].length; + buf.writeUInt8(this.NeighborBlock[i]['SimAccess'], pos++); + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = 4; + this.NeighborBlock = []; for (let i = 0; i < count; i++) + { + const newObjNeighborBlock: { + IP: IPAddress, + Port: number, + PublicIP: IPAddress, + PublicPort: number, + RegionID: UUID, + Name: string, + SimAccess: number + } = { + IP: IPAddress.zero(), + Port: 0, + PublicIP: IPAddress.zero(), + PublicPort: 0, + RegionID: UUID.zero(), + Name: '', + SimAccess: 0 + }; + newObjNeighborBlock['IP'] = new IPAddress(buf, pos); + pos += 4; + newObjNeighborBlock['Port'] = buf.readUInt16LE(pos); + pos += 2; + newObjNeighborBlock['PublicIP'] = new IPAddress(buf, pos); + pos += 4; + newObjNeighborBlock['PublicPort'] = buf.readUInt16LE(pos); + pos += 2; + newObjNeighborBlock['RegionID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjNeighborBlock['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjNeighborBlock['SimAccess'] = buf.readUInt8(pos++); + this.NeighborBlock.push(newObjNeighborBlock); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/NetTest.ts b/lib/classes/messages/NetTest.ts new file mode 100644 index 0000000..c92e2c1 --- /dev/null +++ b/lib/classes/messages/NetTest.ts @@ -0,0 +1,45 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class NetTestMessage implements MessageBase +{ + name = 'NetTest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.NetTest; + + NetBlock: { + Port: number; + }; + + getSize(): number + { + return 2; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt16LE(this.NetBlock['Port'], pos); + pos += 2; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjNetBlock: { + Port: number + } = { + Port: 0 + }; + newObjNetBlock['Port'] = buf.readUInt16LE(pos); + pos += 2; + this.NetBlock = newObjNetBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectAdd.ts b/lib/classes/messages/ObjectAdd.ts new file mode 100644 index 0000000..cc3293c --- /dev/null +++ b/lib/classes/messages/ObjectAdd.ts @@ -0,0 +1,235 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {Quaternion} from '../Quaternion'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectAddMessage implements MessageBase +{ + name = 'ObjectAdd'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyMedium; + id = Message.ObjectAdd; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + GroupID: UUID; + }; + ObjectData: { + PCode: number; + Material: number; + AddFlags: 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; + BypassRaycast: number; + RayStart: Vector3; + RayEnd: Vector3; + RayTargetID: UUID; + RayEndIsIntersection: number; + Scale: Vector3; + Rotation: Quaternion; + State: number; + }; + + getSize(): number + { + return 144; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.ObjectData['PCode'], pos++); + buf.writeUInt8(this.ObjectData['Material'], pos++); + buf.writeUInt32LE(this.ObjectData['AddFlags'], pos); + pos += 4; + buf.writeUInt8(this.ObjectData['PathCurve'], pos++); + buf.writeUInt8(this.ObjectData['ProfileCurve'], pos++); + buf.writeUInt16LE(this.ObjectData['PathBegin'], pos); + pos += 2; + buf.writeUInt16LE(this.ObjectData['PathEnd'], pos); + pos += 2; + buf.writeUInt8(this.ObjectData['PathScaleX'], pos++); + buf.writeUInt8(this.ObjectData['PathScaleY'], pos++); + buf.writeUInt8(this.ObjectData['PathShearX'], pos++); + buf.writeUInt8(this.ObjectData['PathShearY'], pos++); + buf.writeInt8(this.ObjectData['PathTwist'], pos++); + buf.writeInt8(this.ObjectData['PathTwistBegin'], pos++); + buf.writeInt8(this.ObjectData['PathRadiusOffset'], pos++); + buf.writeInt8(this.ObjectData['PathTaperX'], pos++); + buf.writeInt8(this.ObjectData['PathTaperY'], pos++); + buf.writeUInt8(this.ObjectData['PathRevolutions'], pos++); + buf.writeInt8(this.ObjectData['PathSkew'], pos++); + buf.writeUInt16LE(this.ObjectData['ProfileBegin'], pos); + pos += 2; + buf.writeUInt16LE(this.ObjectData['ProfileEnd'], pos); + pos += 2; + buf.writeUInt16LE(this.ObjectData['ProfileHollow'], pos); + pos += 2; + buf.writeUInt8(this.ObjectData['BypassRaycast'], pos++); + this.ObjectData['RayStart'].writeToBuffer(buf, pos, false); + pos += 12; + this.ObjectData['RayEnd'].writeToBuffer(buf, pos, false); + pos += 12; + this.ObjectData['RayTargetID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.ObjectData['RayEndIsIntersection'], pos++); + this.ObjectData['Scale'].writeToBuffer(buf, pos, false); + pos += 12; + this.ObjectData['Rotation'].writeToBuffer(buf, pos); + pos += 12; + buf.writeUInt8(this.ObjectData['State'], pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + GroupID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + GroupID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjObjectData: { + PCode: number, + Material: number, + AddFlags: 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, + BypassRaycast: number, + RayStart: Vector3, + RayEnd: Vector3, + RayTargetID: UUID, + RayEndIsIntersection: number, + Scale: Vector3, + Rotation: Quaternion, + State: number + } = { + PCode: 0, + Material: 0, + AddFlags: 0, + PathCurve: 0, + ProfileCurve: 0, + PathBegin: 0, + PathEnd: 0, + PathScaleX: 0, + PathScaleY: 0, + PathShearX: 0, + PathShearY: 0, + PathTwist: 0, + PathTwistBegin: 0, + PathRadiusOffset: 0, + PathTaperX: 0, + PathTaperY: 0, + PathRevolutions: 0, + PathSkew: 0, + ProfileBegin: 0, + ProfileEnd: 0, + ProfileHollow: 0, + BypassRaycast: 0, + RayStart: Vector3.getZero(), + RayEnd: Vector3.getZero(), + RayTargetID: UUID.zero(), + RayEndIsIntersection: 0, + Scale: Vector3.getZero(), + Rotation: Quaternion.getIdentity(), + State: 0 + }; + newObjObjectData['PCode'] = buf.readUInt8(pos++); + newObjObjectData['Material'] = buf.readUInt8(pos++); + newObjObjectData['AddFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['PathCurve'] = buf.readUInt8(pos++); + newObjObjectData['ProfileCurve'] = buf.readUInt8(pos++); + newObjObjectData['PathBegin'] = buf.readUInt16LE(pos); + pos += 2; + newObjObjectData['PathEnd'] = buf.readUInt16LE(pos); + pos += 2; + newObjObjectData['PathScaleX'] = buf.readUInt8(pos++); + newObjObjectData['PathScaleY'] = buf.readUInt8(pos++); + newObjObjectData['PathShearX'] = buf.readUInt8(pos++); + newObjObjectData['PathShearY'] = buf.readUInt8(pos++); + newObjObjectData['PathTwist'] = buf.readInt8(pos++); + newObjObjectData['PathTwistBegin'] = buf.readInt8(pos++); + newObjObjectData['PathRadiusOffset'] = buf.readInt8(pos++); + newObjObjectData['PathTaperX'] = buf.readInt8(pos++); + newObjObjectData['PathTaperY'] = buf.readInt8(pos++); + newObjObjectData['PathRevolutions'] = buf.readUInt8(pos++); + newObjObjectData['PathSkew'] = buf.readInt8(pos++); + newObjObjectData['ProfileBegin'] = buf.readUInt16LE(pos); + pos += 2; + newObjObjectData['ProfileEnd'] = buf.readUInt16LE(pos); + pos += 2; + newObjObjectData['ProfileHollow'] = buf.readUInt16LE(pos); + pos += 2; + newObjObjectData['BypassRaycast'] = buf.readUInt8(pos++); + newObjObjectData['RayStart'] = new Vector3(buf, pos, false); + pos += 12; + newObjObjectData['RayEnd'] = new Vector3(buf, pos, false); + pos += 12; + newObjObjectData['RayTargetID'] = new UUID(buf, pos); + pos += 16; + newObjObjectData['RayEndIsIntersection'] = buf.readUInt8(pos++); + newObjObjectData['Scale'] = new Vector3(buf, pos, false); + pos += 12; + newObjObjectData['Rotation'] = new Quaternion(buf, pos); + pos += 12; + newObjObjectData['State'] = buf.readUInt8(pos++); + this.ObjectData = newObjObjectData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectAttach.ts b/lib/classes/messages/ObjectAttach.ts new file mode 100644 index 0000000..5b750e4 --- /dev/null +++ b/lib/classes/messages/ObjectAttach.ts @@ -0,0 +1,89 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Quaternion} from '../Quaternion'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectAttachMessage implements MessageBase +{ + name = 'ObjectAttach'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ObjectAttach; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + AttachmentPoint: number; + }; + ObjectData: { + ObjectLocalID: number; + Rotation: Quaternion; + }[]; + + getSize(): number + { + return ((16) * this.ObjectData.length) + 34; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.AgentData['AttachmentPoint'], pos++); + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); + pos += 4; + this.ObjectData[i]['Rotation'].writeToBuffer(buf, pos); + pos += 12; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + AttachmentPoint: number + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + AttachmentPoint: 0 + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['AttachmentPoint'] = buf.readUInt8(pos++); + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectLocalID: number, + Rotation: Quaternion + } = { + ObjectLocalID: 0, + Rotation: Quaternion.getIdentity() + }; + newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['Rotation'] = new Quaternion(buf, pos); + pos += 12; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectBuy.ts b/lib/classes/messages/ObjectBuy.ts new file mode 100644 index 0000000..5163384 --- /dev/null +++ b/lib/classes/messages/ObjectBuy.ts @@ -0,0 +1,102 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectBuyMessage implements MessageBase +{ + name = 'ObjectBuy'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ObjectBuy; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + GroupID: UUID; + CategoryID: UUID; + }; + ObjectData: { + ObjectLocalID: number; + SaleType: number; + SalePrice: number; + }[]; + + getSize(): number + { + return ((9) * this.ObjectData.length) + 65; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['CategoryID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); + pos += 4; + buf.writeUInt8(this.ObjectData[i]['SaleType'], pos++); + buf.writeInt32LE(this.ObjectData[i]['SalePrice'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + GroupID: UUID, + CategoryID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + GroupID: UUID.zero(), + CategoryID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['CategoryID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectLocalID: number, + SaleType: number, + SalePrice: number + } = { + ObjectLocalID: 0, + SaleType: 0, + SalePrice: 0 + }; + newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['SaleType'] = buf.readUInt8(pos++); + newObjObjectData['SalePrice'] = buf.readInt32LE(pos); + pos += 4; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectCategory.ts b/lib/classes/messages/ObjectCategory.ts new file mode 100644 index 0000000..f584a07 --- /dev/null +++ b/lib/classes/messages/ObjectCategory.ts @@ -0,0 +1,83 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectCategoryMessage implements MessageBase +{ + name = 'ObjectCategory'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ObjectCategory; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + LocalID: number; + Category: number; + }[]; + + getSize(): number + { + return ((8) * this.ObjectData.length) + 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['LocalID'], pos); + pos += 4; + buf.writeUInt32LE(this.ObjectData[i]['Category'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + LocalID: number, + Category: number + } = { + LocalID: 0, + Category: 0 + }; + newObjObjectData['LocalID'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['Category'] = buf.readUInt32LE(pos); + pos += 4; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectClickAction.ts b/lib/classes/messages/ObjectClickAction.ts new file mode 100644 index 0000000..ae99ffc --- /dev/null +++ b/lib/classes/messages/ObjectClickAction.ts @@ -0,0 +1,81 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectClickActionMessage implements MessageBase +{ + name = 'ObjectClickAction'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ObjectClickAction; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + ObjectLocalID: number; + ClickAction: number; + }[]; + + getSize(): number + { + return ((5) * this.ObjectData.length) + 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); + pos += 4; + buf.writeUInt8(this.ObjectData[i]['ClickAction'], pos++); + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectLocalID: number, + ClickAction: number + } = { + ObjectLocalID: 0, + ClickAction: 0 + }; + newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['ClickAction'] = buf.readUInt8(pos++); + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectDeGrab.ts b/lib/classes/messages/ObjectDeGrab.ts new file mode 100644 index 0000000..dcb1364 --- /dev/null +++ b/lib/classes/messages/ObjectDeGrab.ts @@ -0,0 +1,125 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectDeGrabMessage implements MessageBase +{ + name = 'ObjectDeGrab'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.ObjectDeGrab; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + LocalID: number; + }; + SurfaceInfo: { + UVCoord: Vector3; + STCoord: Vector3; + FaceIndex: number; + Position: Vector3; + Normal: Vector3; + Binormal: Vector3; + }[]; + + getSize(): number + { + return ((64) * this.SurfaceInfo.length) + 37; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.ObjectData['LocalID'], pos); + pos += 4; + const count = this.SurfaceInfo.length; + buf.writeUInt8(this.SurfaceInfo.length, pos++); + for (let i = 0; i < count; i++) + { + this.SurfaceInfo[i]['UVCoord'].writeToBuffer(buf, pos, false); + pos += 12; + this.SurfaceInfo[i]['STCoord'].writeToBuffer(buf, pos, false); + pos += 12; + buf.writeInt32LE(this.SurfaceInfo[i]['FaceIndex'], pos); + pos += 4; + this.SurfaceInfo[i]['Position'].writeToBuffer(buf, pos, false); + pos += 12; + this.SurfaceInfo[i]['Normal'].writeToBuffer(buf, pos, false); + pos += 12; + this.SurfaceInfo[i]['Binormal'].writeToBuffer(buf, pos, false); + pos += 12; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjObjectData: { + LocalID: number + } = { + LocalID: 0 + }; + newObjObjectData['LocalID'] = buf.readUInt32LE(pos); + pos += 4; + this.ObjectData = newObjObjectData; + const count = buf.readUInt8(pos++); + this.SurfaceInfo = []; + for (let i = 0; i < count; i++) + { + const newObjSurfaceInfo: { + UVCoord: Vector3, + STCoord: Vector3, + FaceIndex: number, + Position: Vector3, + Normal: Vector3, + Binormal: Vector3 + } = { + UVCoord: Vector3.getZero(), + STCoord: Vector3.getZero(), + FaceIndex: 0, + Position: Vector3.getZero(), + Normal: Vector3.getZero(), + Binormal: Vector3.getZero() + }; + newObjSurfaceInfo['UVCoord'] = new Vector3(buf, pos, false); + pos += 12; + newObjSurfaceInfo['STCoord'] = new Vector3(buf, pos, false); + pos += 12; + newObjSurfaceInfo['FaceIndex'] = buf.readInt32LE(pos); + pos += 4; + newObjSurfaceInfo['Position'] = new Vector3(buf, pos, false); + pos += 12; + newObjSurfaceInfo['Normal'] = new Vector3(buf, pos, false); + pos += 12; + newObjSurfaceInfo['Binormal'] = new Vector3(buf, pos, false); + pos += 12; + this.SurfaceInfo.push(newObjSurfaceInfo); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectDelete.ts b/lib/classes/messages/ObjectDelete.ts new file mode 100644 index 0000000..e13f40f --- /dev/null +++ b/lib/classes/messages/ObjectDelete.ts @@ -0,0 +1,81 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectDeleteMessage implements MessageBase +{ + name = 'ObjectDelete'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ObjectDelete; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + Force: boolean; + }; + ObjectData: { + ObjectLocalID: number; + }[]; + + getSize(): number + { + return ((4) * this.ObjectData.length) + 34; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.AgentData['Force']) ? 1 : 0, pos++); + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + Force: boolean + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + Force: false + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['Force'] = (buf.readUInt8(pos++) === 1); + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectLocalID: number + } = { + ObjectLocalID: 0 + }; + newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); + pos += 4; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectDelink.ts b/lib/classes/messages/ObjectDelink.ts new file mode 100644 index 0000000..89c0004 --- /dev/null +++ b/lib/classes/messages/ObjectDelink.ts @@ -0,0 +1,76 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectDelinkMessage implements MessageBase +{ + name = 'ObjectDelink'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.ObjectDelink; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + ObjectLocalID: number; + }[]; + + getSize(): number + { + return ((4) * this.ObjectData.length) + 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectLocalID: number + } = { + ObjectLocalID: 0 + }; + newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); + pos += 4; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectDescription.ts b/lib/classes/messages/ObjectDescription.ts new file mode 100644 index 0000000..2ca455a --- /dev/null +++ b/lib/classes/messages/ObjectDescription.ts @@ -0,0 +1,95 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectDescriptionMessage implements MessageBase +{ + name = 'ObjectDescription'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ObjectDescription; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + LocalID: number; + Description: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.ObjectData, 'Description', 1) + 4) * this.ObjectData.length) + 33; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['LocalID'], pos); + pos += 4; + buf.writeUInt8(this.ObjectData[i]['Description'].length, pos++); + buf.write(this.ObjectData[i]['Description'], pos); + pos += this.ObjectData[i]['Description'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + LocalID: number, + Description: string + } = { + LocalID: 0, + Description: '' + }; + newObjObjectData['LocalID'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjObjectData['Description'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectDeselect.ts b/lib/classes/messages/ObjectDeselect.ts new file mode 100644 index 0000000..90e9f5d --- /dev/null +++ b/lib/classes/messages/ObjectDeselect.ts @@ -0,0 +1,76 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectDeselectMessage implements MessageBase +{ + name = 'ObjectDeselect'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ObjectDeselect; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + ObjectLocalID: number; + }[]; + + getSize(): number + { + return ((4) * this.ObjectData.length) + 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectLocalID: number + } = { + ObjectLocalID: 0 + }; + newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); + pos += 4; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectDetach.ts b/lib/classes/messages/ObjectDetach.ts new file mode 100644 index 0000000..b26d623 --- /dev/null +++ b/lib/classes/messages/ObjectDetach.ts @@ -0,0 +1,76 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectDetachMessage implements MessageBase +{ + name = 'ObjectDetach'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.ObjectDetach; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + ObjectLocalID: number; + }[]; + + getSize(): number + { + return ((4) * this.ObjectData.length) + 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectLocalID: number + } = { + ObjectLocalID: 0 + }; + newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); + pos += 4; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectDrop.ts b/lib/classes/messages/ObjectDrop.ts new file mode 100644 index 0000000..5e71c81 --- /dev/null +++ b/lib/classes/messages/ObjectDrop.ts @@ -0,0 +1,76 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectDropMessage implements MessageBase +{ + name = 'ObjectDrop'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.ObjectDrop; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + ObjectLocalID: number; + }[]; + + getSize(): number + { + return ((4) * this.ObjectData.length) + 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectLocalID: number + } = { + ObjectLocalID: 0 + }; + newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); + pos += 4; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectDuplicate.ts b/lib/classes/messages/ObjectDuplicate.ts new file mode 100644 index 0000000..f383622 --- /dev/null +++ b/lib/classes/messages/ObjectDuplicate.ts @@ -0,0 +1,104 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectDuplicateMessage implements MessageBase +{ + name = 'ObjectDuplicate'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ObjectDuplicate; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + GroupID: UUID; + }; + SharedData: { + Offset: Vector3; + DuplicateFlags: number; + }; + ObjectData: { + ObjectLocalID: number; + }[]; + + getSize(): number + { + return ((4) * this.ObjectData.length) + 65; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + this.SharedData['Offset'].writeToBuffer(buf, pos, false); + pos += 12; + buf.writeUInt32LE(this.SharedData['DuplicateFlags'], pos); + pos += 4; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + GroupID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + GroupID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjSharedData: { + Offset: Vector3, + DuplicateFlags: number + } = { + Offset: Vector3.getZero(), + DuplicateFlags: 0 + }; + newObjSharedData['Offset'] = new Vector3(buf, pos, false); + pos += 12; + newObjSharedData['DuplicateFlags'] = buf.readUInt32LE(pos); + pos += 4; + this.SharedData = newObjSharedData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectLocalID: number + } = { + ObjectLocalID: 0 + }; + newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); + pos += 4; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectDuplicateOnRay.ts b/lib/classes/messages/ObjectDuplicateOnRay.ts new file mode 100644 index 0000000..6cc0f92 --- /dev/null +++ b/lib/classes/messages/ObjectDuplicateOnRay.ts @@ -0,0 +1,132 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectDuplicateOnRayMessage implements MessageBase +{ + name = 'ObjectDuplicateOnRay'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ObjectDuplicateOnRay; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + GroupID: UUID; + RayStart: Vector3; + RayEnd: Vector3; + BypassRaycast: boolean; + RayEndIsIntersection: boolean; + CopyCenters: boolean; + CopyRotates: boolean; + RayTargetID: UUID; + DuplicateFlags: number; + }; + ObjectData: { + ObjectLocalID: number; + }[]; + + getSize(): number + { + return ((4) * this.ObjectData.length) + 97; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['RayStart'].writeToBuffer(buf, pos, false); + pos += 12; + this.AgentData['RayEnd'].writeToBuffer(buf, pos, false); + pos += 12; + buf.writeUInt8((this.AgentData['BypassRaycast']) ? 1 : 0, pos++); + buf.writeUInt8((this.AgentData['RayEndIsIntersection']) ? 1 : 0, pos++); + buf.writeUInt8((this.AgentData['CopyCenters']) ? 1 : 0, pos++); + buf.writeUInt8((this.AgentData['CopyRotates']) ? 1 : 0, pos++); + this.AgentData['RayTargetID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.AgentData['DuplicateFlags'], pos); + pos += 4; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + GroupID: UUID, + RayStart: Vector3, + RayEnd: Vector3, + BypassRaycast: boolean, + RayEndIsIntersection: boolean, + CopyCenters: boolean, + CopyRotates: boolean, + RayTargetID: UUID, + DuplicateFlags: number + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + GroupID: UUID.zero(), + RayStart: Vector3.getZero(), + RayEnd: Vector3.getZero(), + BypassRaycast: false, + RayEndIsIntersection: false, + CopyCenters: false, + CopyRotates: false, + RayTargetID: UUID.zero(), + DuplicateFlags: 0 + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['RayStart'] = new Vector3(buf, pos, false); + pos += 12; + newObjAgentData['RayEnd'] = new Vector3(buf, pos, false); + pos += 12; + newObjAgentData['BypassRaycast'] = (buf.readUInt8(pos++) === 1); + newObjAgentData['RayEndIsIntersection'] = (buf.readUInt8(pos++) === 1); + newObjAgentData['CopyCenters'] = (buf.readUInt8(pos++) === 1); + newObjAgentData['CopyRotates'] = (buf.readUInt8(pos++) === 1); + newObjAgentData['RayTargetID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['DuplicateFlags'] = buf.readUInt32LE(pos); + pos += 4; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectLocalID: number + } = { + ObjectLocalID: 0 + }; + newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); + pos += 4; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectExportSelected.ts b/lib/classes/messages/ObjectExportSelected.ts new file mode 100644 index 0000000..df3581c --- /dev/null +++ b/lib/classes/messages/ObjectExportSelected.ts @@ -0,0 +1,83 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectExportSelectedMessage implements MessageBase +{ + name = 'ObjectExportSelected'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ObjectExportSelected; + + AgentData: { + AgentID: UUID; + RequestID: UUID; + VolumeDetail: number; + }; + ObjectData: { + ObjectID: UUID; + }[]; + + getSize(): number + { + return ((16) * this.ObjectData.length) + 35; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['RequestID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt16LE(this.AgentData['VolumeDetail'], pos); + pos += 2; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + this.ObjectData[i]['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + RequestID: UUID, + VolumeDetail: number + } = { + AgentID: UUID.zero(), + RequestID: UUID.zero(), + VolumeDetail: 0 + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['RequestID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['VolumeDetail'] = buf.readInt16LE(pos); + pos += 2; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectID: UUID + } = { + ObjectID: UUID.zero() + }; + newObjObjectData['ObjectID'] = new UUID(buf, pos); + pos += 16; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectExtraParams.ts b/lib/classes/messages/ObjectExtraParams.ts new file mode 100644 index 0000000..0ef906e --- /dev/null +++ b/lib/classes/messages/ObjectExtraParams.ts @@ -0,0 +1,114 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectExtraParamsMessage implements MessageBase +{ + name = 'ObjectExtraParams'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ObjectExtraParams; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + ObjectLocalID: number; + ParamType: number; + ParamInUse: boolean; + ParamSize: number; + ParamData: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.ObjectData, 'ParamData', 1) + 11) * this.ObjectData.length) + 33; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); + pos += 4; + buf.writeUInt16LE(this.ObjectData[i]['ParamType'], pos); + pos += 2; + buf.writeUInt8((this.ObjectData[i]['ParamInUse']) ? 1 : 0, pos++); + buf.writeUInt32LE(this.ObjectData[i]['ParamSize'], pos); + pos += 4; + buf.writeUInt8(this.ObjectData[i]['ParamData'].length, pos++); + buf.write(this.ObjectData[i]['ParamData'], pos); + pos += this.ObjectData[i]['ParamData'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectLocalID: number, + ParamType: number, + ParamInUse: boolean, + ParamSize: number, + ParamData: string + } = { + ObjectLocalID: 0, + ParamType: 0, + ParamInUse: false, + ParamSize: 0, + ParamData: '' + }; + newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['ParamType'] = buf.readUInt16LE(pos); + pos += 2; + newObjObjectData['ParamInUse'] = (buf.readUInt8(pos++) === 1); + newObjObjectData['ParamSize'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjObjectData['ParamData'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectFlagUpdate.ts b/lib/classes/messages/ObjectFlagUpdate.ts new file mode 100644 index 0000000..624fd6f --- /dev/null +++ b/lib/classes/messages/ObjectFlagUpdate.ts @@ -0,0 +1,129 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectFlagUpdateMessage implements MessageBase +{ + name = 'ObjectFlagUpdate'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ObjectFlagUpdate; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + ObjectLocalID: number; + UsePhysics: boolean; + IsTemporary: boolean; + IsPhantom: boolean; + CastsShadows: boolean; + }; + ExtraPhysics: { + PhysicsShapeType: number; + Density: number; + Friction: number; + Restitution: number; + GravityMultiplier: number; + }[]; + + getSize(): number + { + return ((17) * this.ExtraPhysics.length) + 41; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.AgentData['ObjectLocalID'], pos); + pos += 4; + buf.writeUInt8((this.AgentData['UsePhysics']) ? 1 : 0, pos++); + buf.writeUInt8((this.AgentData['IsTemporary']) ? 1 : 0, pos++); + buf.writeUInt8((this.AgentData['IsPhantom']) ? 1 : 0, pos++); + buf.writeUInt8((this.AgentData['CastsShadows']) ? 1 : 0, pos++); + const count = this.ExtraPhysics.length; + buf.writeUInt8(this.ExtraPhysics.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt8(this.ExtraPhysics[i]['PhysicsShapeType'], pos++); + buf.writeFloatLE(this.ExtraPhysics[i]['Density'], pos); + pos += 4; + buf.writeFloatLE(this.ExtraPhysics[i]['Friction'], pos); + pos += 4; + buf.writeFloatLE(this.ExtraPhysics[i]['Restitution'], pos); + pos += 4; + buf.writeFloatLE(this.ExtraPhysics[i]['GravityMultiplier'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + ObjectLocalID: number, + UsePhysics: boolean, + IsTemporary: boolean, + IsPhantom: boolean, + CastsShadows: boolean + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + ObjectLocalID: 0, + UsePhysics: false, + IsTemporary: false, + IsPhantom: false, + CastsShadows: false + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['ObjectLocalID'] = buf.readUInt32LE(pos); + pos += 4; + newObjAgentData['UsePhysics'] = (buf.readUInt8(pos++) === 1); + newObjAgentData['IsTemporary'] = (buf.readUInt8(pos++) === 1); + newObjAgentData['IsPhantom'] = (buf.readUInt8(pos++) === 1); + newObjAgentData['CastsShadows'] = (buf.readUInt8(pos++) === 1); + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ExtraPhysics = []; + for (let i = 0; i < count; i++) + { + const newObjExtraPhysics: { + PhysicsShapeType: number, + Density: number, + Friction: number, + Restitution: number, + GravityMultiplier: number + } = { + PhysicsShapeType: 0, + Density: 0, + Friction: 0, + Restitution: 0, + GravityMultiplier: 0 + }; + newObjExtraPhysics['PhysicsShapeType'] = buf.readUInt8(pos++); + newObjExtraPhysics['Density'] = buf.readFloatLE(pos); + pos += 4; + newObjExtraPhysics['Friction'] = buf.readFloatLE(pos); + pos += 4; + newObjExtraPhysics['Restitution'] = buf.readFloatLE(pos); + pos += 4; + newObjExtraPhysics['GravityMultiplier'] = buf.readFloatLE(pos); + pos += 4; + this.ExtraPhysics.push(newObjExtraPhysics); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectGrab.ts b/lib/classes/messages/ObjectGrab.ts new file mode 100644 index 0000000..ddf0de3 --- /dev/null +++ b/lib/classes/messages/ObjectGrab.ts @@ -0,0 +1,132 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectGrabMessage implements MessageBase +{ + name = 'ObjectGrab'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ObjectGrab; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + LocalID: number; + GrabOffset: Vector3; + }; + SurfaceInfo: { + UVCoord: Vector3; + STCoord: Vector3; + FaceIndex: number; + Position: Vector3; + Normal: Vector3; + Binormal: Vector3; + }[]; + + getSize(): number + { + return ((64) * this.SurfaceInfo.length) + 49; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.ObjectData['LocalID'], pos); + pos += 4; + this.ObjectData['GrabOffset'].writeToBuffer(buf, pos, false); + pos += 12; + const count = this.SurfaceInfo.length; + buf.writeUInt8(this.SurfaceInfo.length, pos++); + for (let i = 0; i < count; i++) + { + this.SurfaceInfo[i]['UVCoord'].writeToBuffer(buf, pos, false); + pos += 12; + this.SurfaceInfo[i]['STCoord'].writeToBuffer(buf, pos, false); + pos += 12; + buf.writeInt32LE(this.SurfaceInfo[i]['FaceIndex'], pos); + pos += 4; + this.SurfaceInfo[i]['Position'].writeToBuffer(buf, pos, false); + pos += 12; + this.SurfaceInfo[i]['Normal'].writeToBuffer(buf, pos, false); + pos += 12; + this.SurfaceInfo[i]['Binormal'].writeToBuffer(buf, pos, false); + pos += 12; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjObjectData: { + LocalID: number, + GrabOffset: Vector3 + } = { + LocalID: 0, + GrabOffset: Vector3.getZero() + }; + newObjObjectData['LocalID'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['GrabOffset'] = new Vector3(buf, pos, false); + pos += 12; + this.ObjectData = newObjObjectData; + const count = buf.readUInt8(pos++); + this.SurfaceInfo = []; + for (let i = 0; i < count; i++) + { + const newObjSurfaceInfo: { + UVCoord: Vector3, + STCoord: Vector3, + FaceIndex: number, + Position: Vector3, + Normal: Vector3, + Binormal: Vector3 + } = { + UVCoord: Vector3.getZero(), + STCoord: Vector3.getZero(), + FaceIndex: 0, + Position: Vector3.getZero(), + Normal: Vector3.getZero(), + Binormal: Vector3.getZero() + }; + newObjSurfaceInfo['UVCoord'] = new Vector3(buf, pos, false); + pos += 12; + newObjSurfaceInfo['STCoord'] = new Vector3(buf, pos, false); + pos += 12; + newObjSurfaceInfo['FaceIndex'] = buf.readInt32LE(pos); + pos += 4; + newObjSurfaceInfo['Position'] = new Vector3(buf, pos, false); + pos += 12; + newObjSurfaceInfo['Normal'] = new Vector3(buf, pos, false); + pos += 12; + newObjSurfaceInfo['Binormal'] = new Vector3(buf, pos, false); + pos += 12; + this.SurfaceInfo.push(newObjSurfaceInfo); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectGrabUpdate.ts b/lib/classes/messages/ObjectGrabUpdate.ts new file mode 100644 index 0000000..f45b696 --- /dev/null +++ b/lib/classes/messages/ObjectGrabUpdate.ts @@ -0,0 +1,146 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectGrabUpdateMessage implements MessageBase +{ + name = 'ObjectGrabUpdate'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ObjectGrabUpdate; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + ObjectID: UUID; + GrabOffsetInitial: Vector3; + GrabPosition: Vector3; + TimeSinceLast: number; + }; + SurfaceInfo: { + UVCoord: Vector3; + STCoord: Vector3; + FaceIndex: number; + Position: Vector3; + Normal: Vector3; + Binormal: Vector3; + }[]; + + getSize(): number + { + return ((64) * this.SurfaceInfo.length) + 77; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.ObjectData['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + this.ObjectData['GrabOffsetInitial'].writeToBuffer(buf, pos, false); + pos += 12; + this.ObjectData['GrabPosition'].writeToBuffer(buf, pos, false); + pos += 12; + buf.writeUInt32LE(this.ObjectData['TimeSinceLast'], pos); + pos += 4; + const count = this.SurfaceInfo.length; + buf.writeUInt8(this.SurfaceInfo.length, pos++); + for (let i = 0; i < count; i++) + { + this.SurfaceInfo[i]['UVCoord'].writeToBuffer(buf, pos, false); + pos += 12; + this.SurfaceInfo[i]['STCoord'].writeToBuffer(buf, pos, false); + pos += 12; + buf.writeInt32LE(this.SurfaceInfo[i]['FaceIndex'], pos); + pos += 4; + this.SurfaceInfo[i]['Position'].writeToBuffer(buf, pos, false); + pos += 12; + this.SurfaceInfo[i]['Normal'].writeToBuffer(buf, pos, false); + pos += 12; + this.SurfaceInfo[i]['Binormal'].writeToBuffer(buf, pos, false); + pos += 12; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjObjectData: { + ObjectID: UUID, + GrabOffsetInitial: Vector3, + GrabPosition: Vector3, + TimeSinceLast: number + } = { + ObjectID: UUID.zero(), + GrabOffsetInitial: Vector3.getZero(), + GrabPosition: Vector3.getZero(), + TimeSinceLast: 0 + }; + newObjObjectData['ObjectID'] = new UUID(buf, pos); + pos += 16; + newObjObjectData['GrabOffsetInitial'] = new Vector3(buf, pos, false); + pos += 12; + newObjObjectData['GrabPosition'] = new Vector3(buf, pos, false); + pos += 12; + newObjObjectData['TimeSinceLast'] = buf.readUInt32LE(pos); + pos += 4; + this.ObjectData = newObjObjectData; + const count = buf.readUInt8(pos++); + this.SurfaceInfo = []; + for (let i = 0; i < count; i++) + { + const newObjSurfaceInfo: { + UVCoord: Vector3, + STCoord: Vector3, + FaceIndex: number, + Position: Vector3, + Normal: Vector3, + Binormal: Vector3 + } = { + UVCoord: Vector3.getZero(), + STCoord: Vector3.getZero(), + FaceIndex: 0, + Position: Vector3.getZero(), + Normal: Vector3.getZero(), + Binormal: Vector3.getZero() + }; + newObjSurfaceInfo['UVCoord'] = new Vector3(buf, pos, false); + pos += 12; + newObjSurfaceInfo['STCoord'] = new Vector3(buf, pos, false); + pos += 12; + newObjSurfaceInfo['FaceIndex'] = buf.readInt32LE(pos); + pos += 4; + newObjSurfaceInfo['Position'] = new Vector3(buf, pos, false); + pos += 12; + newObjSurfaceInfo['Normal'] = new Vector3(buf, pos, false); + pos += 12; + newObjSurfaceInfo['Binormal'] = new Vector3(buf, pos, false); + pos += 12; + this.SurfaceInfo.push(newObjSurfaceInfo); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectGroup.ts b/lib/classes/messages/ObjectGroup.ts new file mode 100644 index 0000000..210a579 --- /dev/null +++ b/lib/classes/messages/ObjectGroup.ts @@ -0,0 +1,83 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectGroupMessage implements MessageBase +{ + name = 'ObjectGroup'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ObjectGroup; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + GroupID: UUID; + }; + ObjectData: { + ObjectLocalID: number; + }[]; + + getSize(): number + { + return ((4) * this.ObjectData.length) + 49; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + GroupID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + GroupID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectLocalID: number + } = { + ObjectLocalID: 0 + }; + newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); + pos += 4; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectImage.ts b/lib/classes/messages/ObjectImage.ts new file mode 100644 index 0000000..d39e54b --- /dev/null +++ b/lib/classes/messages/ObjectImage.ts @@ -0,0 +1,106 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectImageMessage implements MessageBase +{ + name = 'ObjectImage'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ObjectImage; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + ObjectLocalID: number; + MediaURL: string; + TextureEntry: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.ObjectData, 'MediaURL', 1) + this.calculateVarVarSize(this.ObjectData, 'TextureEntry', 2) + 4) * this.ObjectData.length) + 33; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); + pos += 4; + buf.writeUInt8(this.ObjectData[i]['MediaURL'].length, pos++); + buf.write(this.ObjectData[i]['MediaURL'], pos); + pos += this.ObjectData[i]['MediaURL'].length; + buf.writeUInt16LE(this.ObjectData[i]['TextureEntry'].length, pos); + pos += 2; + buf.write(this.ObjectData[i]['TextureEntry'], pos); + pos += this.ObjectData[i]['TextureEntry'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectLocalID: number, + MediaURL: string, + TextureEntry: string + } = { + ObjectLocalID: 0, + MediaURL: '', + TextureEntry: '' + }; + newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjObjectData['MediaURL'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjObjectData['TextureEntry'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectIncludeInSearch.ts b/lib/classes/messages/ObjectIncludeInSearch.ts new file mode 100644 index 0000000..e032bcf --- /dev/null +++ b/lib/classes/messages/ObjectIncludeInSearch.ts @@ -0,0 +1,81 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectIncludeInSearchMessage implements MessageBase +{ + name = 'ObjectIncludeInSearch'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.ObjectIncludeInSearch; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + ObjectLocalID: number; + IncludeInSearch: boolean; + }[]; + + getSize(): number + { + return ((5) * this.ObjectData.length) + 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); + pos += 4; + buf.writeUInt8((this.ObjectData[i]['IncludeInSearch']) ? 1 : 0, pos++); + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectLocalID: number, + IncludeInSearch: boolean + } = { + ObjectLocalID: 0, + IncludeInSearch: false + }; + newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['IncludeInSearch'] = (buf.readUInt8(pos++) === 1); + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectLink.ts b/lib/classes/messages/ObjectLink.ts new file mode 100644 index 0000000..eed62a9 --- /dev/null +++ b/lib/classes/messages/ObjectLink.ts @@ -0,0 +1,76 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectLinkMessage implements MessageBase +{ + name = 'ObjectLink'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.ObjectLink; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + ObjectLocalID: number; + }[]; + + getSize(): number + { + return ((4) * this.ObjectData.length) + 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectLocalID: number + } = { + ObjectLocalID: 0 + }; + newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); + pos += 4; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectMaterial.ts b/lib/classes/messages/ObjectMaterial.ts new file mode 100644 index 0000000..a049e64 --- /dev/null +++ b/lib/classes/messages/ObjectMaterial.ts @@ -0,0 +1,81 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectMaterialMessage implements MessageBase +{ + name = 'ObjectMaterial'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ObjectMaterial; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + ObjectLocalID: number; + Material: number; + }[]; + + getSize(): number + { + return ((5) * this.ObjectData.length) + 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); + pos += 4; + buf.writeUInt8(this.ObjectData[i]['Material'], pos++); + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectLocalID: number, + Material: number + } = { + ObjectLocalID: 0, + Material: 0 + }; + newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['Material'] = buf.readUInt8(pos++); + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectName.ts b/lib/classes/messages/ObjectName.ts new file mode 100644 index 0000000..f10301d --- /dev/null +++ b/lib/classes/messages/ObjectName.ts @@ -0,0 +1,95 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectNameMessage implements MessageBase +{ + name = 'ObjectName'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ObjectName; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + LocalID: number; + Name: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.ObjectData, 'Name', 1) + 4) * this.ObjectData.length) + 33; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['LocalID'], pos); + pos += 4; + buf.writeUInt8(this.ObjectData[i]['Name'].length, pos++); + buf.write(this.ObjectData[i]['Name'], pos); + pos += this.ObjectData[i]['Name'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + LocalID: number, + Name: string + } = { + LocalID: 0, + Name: '' + }; + newObjObjectData['LocalID'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjObjectData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectOwner.ts b/lib/classes/messages/ObjectOwner.ts new file mode 100644 index 0000000..bcc6590 --- /dev/null +++ b/lib/classes/messages/ObjectOwner.ts @@ -0,0 +1,101 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectOwnerMessage implements MessageBase +{ + name = 'ObjectOwner'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ObjectOwner; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + HeaderData: { + Override: boolean; + OwnerID: UUID; + GroupID: UUID; + }; + ObjectData: { + ObjectLocalID: number; + }[]; + + getSize(): number + { + return ((4) * this.ObjectData.length) + 66; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.HeaderData['Override']) ? 1 : 0, pos++); + this.HeaderData['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + this.HeaderData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjHeaderData: { + Override: boolean, + OwnerID: UUID, + GroupID: UUID + } = { + Override: false, + OwnerID: UUID.zero(), + GroupID: UUID.zero() + }; + newObjHeaderData['Override'] = (buf.readUInt8(pos++) === 1); + newObjHeaderData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjHeaderData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.HeaderData = newObjHeaderData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectLocalID: number + } = { + ObjectLocalID: 0 + }; + newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); + pos += 4; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectPermissions.ts b/lib/classes/messages/ObjectPermissions.ts new file mode 100644 index 0000000..fdce97b --- /dev/null +++ b/lib/classes/messages/ObjectPermissions.ts @@ -0,0 +1,104 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectPermissionsMessage implements MessageBase +{ + name = 'ObjectPermissions'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ObjectPermissions; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + HeaderData: { + Override: boolean; + }; + ObjectData: { + ObjectLocalID: number; + Field: number; + Set: number; + Mask: number; + }[]; + + getSize(): number + { + return ((10) * this.ObjectData.length) + 34; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.HeaderData['Override']) ? 1 : 0, pos++); + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); + pos += 4; + buf.writeUInt8(this.ObjectData[i]['Field'], pos++); + buf.writeUInt8(this.ObjectData[i]['Set'], pos++); + buf.writeUInt32LE(this.ObjectData[i]['Mask'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjHeaderData: { + Override: boolean + } = { + Override: false + }; + newObjHeaderData['Override'] = (buf.readUInt8(pos++) === 1); + this.HeaderData = newObjHeaderData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectLocalID: number, + Field: number, + Set: number, + Mask: number + } = { + ObjectLocalID: 0, + Field: 0, + Set: 0, + Mask: 0 + }; + newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['Field'] = buf.readUInt8(pos++); + newObjObjectData['Set'] = buf.readUInt8(pos++); + newObjObjectData['Mask'] = buf.readUInt32LE(pos); + pos += 4; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectPosition.ts b/lib/classes/messages/ObjectPosition.ts new file mode 100644 index 0000000..31638a7 --- /dev/null +++ b/lib/classes/messages/ObjectPosition.ts @@ -0,0 +1,84 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectPositionMessage implements MessageBase +{ + name = 'ObjectPosition'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyMedium; + id = Message.ObjectPosition; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + ObjectLocalID: number; + Position: Vector3; + }[]; + + getSize(): number + { + return ((16) * this.ObjectData.length) + 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); + pos += 4; + this.ObjectData[i]['Position'].writeToBuffer(buf, pos, false); + pos += 12; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectLocalID: number, + Position: Vector3 + } = { + ObjectLocalID: 0, + Position: Vector3.getZero() + }; + newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['Position'] = new Vector3(buf, pos, false); + pos += 12; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectProperties.ts b/lib/classes/messages/ObjectProperties.ts new file mode 100644 index 0000000..50800b2 --- /dev/null +++ b/lib/classes/messages/ObjectProperties.ts @@ -0,0 +1,253 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectPropertiesMessage implements MessageBase +{ + name = 'ObjectProperties'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyMedium; + id = Message.ObjectProperties; + + ObjectData: { + ObjectID: UUID; + CreatorID: UUID; + OwnerID: UUID; + GroupID: UUID; + CreationDate: Long; + BaseMask: number; + OwnerMask: number; + GroupMask: number; + EveryoneMask: number; + NextOwnerMask: number; + OwnershipCost: number; + SaleType: number; + SalePrice: number; + AggregatePerms: number; + AggregatePermTextures: number; + AggregatePermTexturesOwner: number; + Category: number; + InventorySerial: number; + ItemID: UUID; + FolderID: UUID; + FromTaskID: UUID; + LastOwnerID: UUID; + Name: string; + Description: string; + TouchName: string; + SitName: string; + TextureID: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.ObjectData, 'Name', 1) + this.calculateVarVarSize(this.ObjectData, 'Description', 1) + this.calculateVarVarSize(this.ObjectData, 'TouchName', 1) + this.calculateVarVarSize(this.ObjectData, 'SitName', 1) + this.calculateVarVarSize(this.ObjectData, 'TextureID', 1) + 174) * this.ObjectData.length) + 1; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + this.ObjectData[i]['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + this.ObjectData[i]['CreatorID'].writeToBuffer(buf, pos); + pos += 16; + this.ObjectData[i]['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + this.ObjectData[i]['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.ObjectData[i]['CreationDate'].low, pos); + pos += 4; + buf.writeInt32LE(this.ObjectData[i]['CreationDate'].high, pos); + pos += 4; + buf.writeUInt32LE(this.ObjectData[i]['BaseMask'], pos); + pos += 4; + buf.writeUInt32LE(this.ObjectData[i]['OwnerMask'], pos); + pos += 4; + buf.writeUInt32LE(this.ObjectData[i]['GroupMask'], pos); + pos += 4; + buf.writeUInt32LE(this.ObjectData[i]['EveryoneMask'], pos); + pos += 4; + buf.writeUInt32LE(this.ObjectData[i]['NextOwnerMask'], pos); + pos += 4; + buf.writeInt32LE(this.ObjectData[i]['OwnershipCost'], pos); + pos += 4; + buf.writeUInt8(this.ObjectData[i]['SaleType'], pos++); + buf.writeInt32LE(this.ObjectData[i]['SalePrice'], pos); + pos += 4; + buf.writeUInt8(this.ObjectData[i]['AggregatePerms'], pos++); + buf.writeUInt8(this.ObjectData[i]['AggregatePermTextures'], pos++); + buf.writeUInt8(this.ObjectData[i]['AggregatePermTexturesOwner'], pos++); + buf.writeUInt32LE(this.ObjectData[i]['Category'], pos); + pos += 4; + buf.writeInt16LE(this.ObjectData[i]['InventorySerial'], pos); + pos += 2; + this.ObjectData[i]['ItemID'].writeToBuffer(buf, pos); + pos += 16; + this.ObjectData[i]['FolderID'].writeToBuffer(buf, pos); + pos += 16; + this.ObjectData[i]['FromTaskID'].writeToBuffer(buf, pos); + pos += 16; + this.ObjectData[i]['LastOwnerID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.ObjectData[i]['Name'].length, pos++); + buf.write(this.ObjectData[i]['Name'], pos); + pos += this.ObjectData[i]['Name'].length; + buf.writeUInt8(this.ObjectData[i]['Description'].length, pos++); + buf.write(this.ObjectData[i]['Description'], pos); + pos += this.ObjectData[i]['Description'].length; + buf.writeUInt8(this.ObjectData[i]['TouchName'].length, pos++); + buf.write(this.ObjectData[i]['TouchName'], pos); + pos += this.ObjectData[i]['TouchName'].length; + buf.writeUInt8(this.ObjectData[i]['SitName'].length, pos++); + buf.write(this.ObjectData[i]['SitName'], pos); + pos += this.ObjectData[i]['SitName'].length; + buf.writeUInt8(this.ObjectData[i]['TextureID'].length, pos++); + buf.write(this.ObjectData[i]['TextureID'], pos); + pos += this.ObjectData[i]['TextureID'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectID: UUID, + CreatorID: UUID, + OwnerID: UUID, + GroupID: UUID, + CreationDate: Long, + BaseMask: number, + OwnerMask: number, + GroupMask: number, + EveryoneMask: number, + NextOwnerMask: number, + OwnershipCost: number, + SaleType: number, + SalePrice: number, + AggregatePerms: number, + AggregatePermTextures: number, + AggregatePermTexturesOwner: number, + Category: number, + InventorySerial: number, + ItemID: UUID, + FolderID: UUID, + FromTaskID: UUID, + LastOwnerID: UUID, + Name: string, + Description: string, + TouchName: string, + SitName: string, + TextureID: string + } = { + ObjectID: UUID.zero(), + CreatorID: UUID.zero(), + OwnerID: UUID.zero(), + GroupID: UUID.zero(), + CreationDate: Long.ZERO, + BaseMask: 0, + OwnerMask: 0, + GroupMask: 0, + EveryoneMask: 0, + NextOwnerMask: 0, + OwnershipCost: 0, + SaleType: 0, + SalePrice: 0, + AggregatePerms: 0, + AggregatePermTextures: 0, + AggregatePermTexturesOwner: 0, + Category: 0, + InventorySerial: 0, + ItemID: UUID.zero(), + FolderID: UUID.zero(), + FromTaskID: UUID.zero(), + LastOwnerID: UUID.zero(), + Name: '', + Description: '', + TouchName: '', + SitName: '', + TextureID: '' + }; + newObjObjectData['ObjectID'] = new UUID(buf, pos); + pos += 16; + newObjObjectData['CreatorID'] = new UUID(buf, pos); + pos += 16; + newObjObjectData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjObjectData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjObjectData['CreationDate'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjObjectData['BaseMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['OwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['GroupMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['EveryoneMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['NextOwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['OwnershipCost'] = buf.readInt32LE(pos); + pos += 4; + newObjObjectData['SaleType'] = buf.readUInt8(pos++); + newObjObjectData['SalePrice'] = buf.readInt32LE(pos); + pos += 4; + newObjObjectData['AggregatePerms'] = buf.readUInt8(pos++); + newObjObjectData['AggregatePermTextures'] = buf.readUInt8(pos++); + newObjObjectData['AggregatePermTexturesOwner'] = buf.readUInt8(pos++); + newObjObjectData['Category'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['InventorySerial'] = buf.readInt16LE(pos); + pos += 2; + newObjObjectData['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjObjectData['FolderID'] = new UUID(buf, pos); + pos += 16; + newObjObjectData['FromTaskID'] = new UUID(buf, pos); + pos += 16; + newObjObjectData['LastOwnerID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjObjectData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjObjectData['Description'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjObjectData['TouchName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjObjectData['SitName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjObjectData['TextureID'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectPropertiesFamily.ts b/lib/classes/messages/ObjectPropertiesFamily.ts new file mode 100644 index 0000000..69e429c --- /dev/null +++ b/lib/classes/messages/ObjectPropertiesFamily.ts @@ -0,0 +1,153 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectPropertiesFamilyMessage implements MessageBase +{ + name = 'ObjectPropertiesFamily'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyMedium; + id = Message.ObjectPropertiesFamily; + + ObjectData: { + RequestFlags: number; + ObjectID: UUID; + OwnerID: UUID; + GroupID: UUID; + BaseMask: number; + OwnerMask: number; + GroupMask: number; + EveryoneMask: number; + NextOwnerMask: number; + OwnershipCost: number; + SaleType: number; + SalePrice: number; + Category: number; + LastOwnerID: UUID; + Name: string; + Description: string; + }; + + getSize(): number + { + return (this.ObjectData['Name'].length + 1 + this.ObjectData['Description'].length + 1) + 101; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt32LE(this.ObjectData['RequestFlags'], pos); + pos += 4; + this.ObjectData['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + this.ObjectData['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + this.ObjectData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.ObjectData['BaseMask'], pos); + pos += 4; + buf.writeUInt32LE(this.ObjectData['OwnerMask'], pos); + pos += 4; + buf.writeUInt32LE(this.ObjectData['GroupMask'], pos); + pos += 4; + buf.writeUInt32LE(this.ObjectData['EveryoneMask'], pos); + pos += 4; + buf.writeUInt32LE(this.ObjectData['NextOwnerMask'], pos); + pos += 4; + buf.writeInt32LE(this.ObjectData['OwnershipCost'], pos); + pos += 4; + buf.writeUInt8(this.ObjectData['SaleType'], pos++); + buf.writeInt32LE(this.ObjectData['SalePrice'], pos); + pos += 4; + buf.writeUInt32LE(this.ObjectData['Category'], pos); + pos += 4; + this.ObjectData['LastOwnerID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.ObjectData['Name'].length, pos++); + buf.write(this.ObjectData['Name'], pos); + pos += this.ObjectData['Name'].length; + buf.writeUInt8(this.ObjectData['Description'].length, pos++); + buf.write(this.ObjectData['Description'], pos); + pos += this.ObjectData['Description'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjObjectData: { + RequestFlags: number, + ObjectID: UUID, + OwnerID: UUID, + GroupID: UUID, + BaseMask: number, + OwnerMask: number, + GroupMask: number, + EveryoneMask: number, + NextOwnerMask: number, + OwnershipCost: number, + SaleType: number, + SalePrice: number, + Category: number, + LastOwnerID: UUID, + Name: string, + Description: string + } = { + RequestFlags: 0, + ObjectID: UUID.zero(), + OwnerID: UUID.zero(), + GroupID: UUID.zero(), + BaseMask: 0, + OwnerMask: 0, + GroupMask: 0, + EveryoneMask: 0, + NextOwnerMask: 0, + OwnershipCost: 0, + SaleType: 0, + SalePrice: 0, + Category: 0, + LastOwnerID: UUID.zero(), + Name: '', + Description: '' + }; + newObjObjectData['RequestFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['ObjectID'] = new UUID(buf, pos); + pos += 16; + newObjObjectData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjObjectData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjObjectData['BaseMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['OwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['GroupMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['EveryoneMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['NextOwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['OwnershipCost'] = buf.readInt32LE(pos); + pos += 4; + newObjObjectData['SaleType'] = buf.readUInt8(pos++); + newObjObjectData['SalePrice'] = buf.readInt32LE(pos); + pos += 4; + newObjObjectData['Category'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['LastOwnerID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjObjectData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjObjectData['Description'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ObjectData = newObjObjectData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectRotation.ts b/lib/classes/messages/ObjectRotation.ts new file mode 100644 index 0000000..518a726 --- /dev/null +++ b/lib/classes/messages/ObjectRotation.ts @@ -0,0 +1,84 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Quaternion} from '../Quaternion'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectRotationMessage implements MessageBase +{ + name = 'ObjectRotation'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ObjectRotation; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + ObjectLocalID: number; + Rotation: Quaternion; + }[]; + + getSize(): number + { + return ((16) * this.ObjectData.length) + 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); + pos += 4; + this.ObjectData[i]['Rotation'].writeToBuffer(buf, pos); + pos += 12; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectLocalID: number, + Rotation: Quaternion + } = { + ObjectLocalID: 0, + Rotation: Quaternion.getIdentity() + }; + newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['Rotation'] = new Quaternion(buf, pos); + pos += 12; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectSaleInfo.ts b/lib/classes/messages/ObjectSaleInfo.ts new file mode 100644 index 0000000..1ba864c --- /dev/null +++ b/lib/classes/messages/ObjectSaleInfo.ts @@ -0,0 +1,88 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectSaleInfoMessage implements MessageBase +{ + name = 'ObjectSaleInfo'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ObjectSaleInfo; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + LocalID: number; + SaleType: number; + SalePrice: number; + }[]; + + getSize(): number + { + return ((9) * this.ObjectData.length) + 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['LocalID'], pos); + pos += 4; + buf.writeUInt8(this.ObjectData[i]['SaleType'], pos++); + buf.writeInt32LE(this.ObjectData[i]['SalePrice'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + LocalID: number, + SaleType: number, + SalePrice: number + } = { + LocalID: 0, + SaleType: 0, + SalePrice: 0 + }; + newObjObjectData['LocalID'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['SaleType'] = buf.readUInt8(pos++); + newObjObjectData['SalePrice'] = buf.readInt32LE(pos); + pos += 4; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectScale.ts b/lib/classes/messages/ObjectScale.ts new file mode 100644 index 0000000..246d08c --- /dev/null +++ b/lib/classes/messages/ObjectScale.ts @@ -0,0 +1,84 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectScaleMessage implements MessageBase +{ + name = 'ObjectScale'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyLow; + id = Message.ObjectScale; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + ObjectLocalID: number; + Scale: Vector3; + }[]; + + getSize(): number + { + return ((16) * this.ObjectData.length) + 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); + pos += 4; + this.ObjectData[i]['Scale'].writeToBuffer(buf, pos, false); + pos += 12; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectLocalID: number, + Scale: Vector3 + } = { + ObjectLocalID: 0, + Scale: Vector3.getZero() + }; + newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['Scale'] = new Vector3(buf, pos, false); + pos += 12; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectSelect.ts b/lib/classes/messages/ObjectSelect.ts new file mode 100644 index 0000000..198e74d --- /dev/null +++ b/lib/classes/messages/ObjectSelect.ts @@ -0,0 +1,76 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectSelectMessage implements MessageBase +{ + name = 'ObjectSelect'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ObjectSelect; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + ObjectLocalID: number; + }[]; + + getSize(): number + { + return ((4) * this.ObjectData.length) + 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectLocalID: number + } = { + ObjectLocalID: 0 + }; + newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); + pos += 4; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectShape.ts b/lib/classes/messages/ObjectShape.ts new file mode 100644 index 0000000..bef8248 --- /dev/null +++ b/lib/classes/messages/ObjectShape.ts @@ -0,0 +1,176 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectShapeMessage implements MessageBase +{ + name = 'ObjectShape'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ObjectShape; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + ObjectLocalID: 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; + }[]; + + getSize(): number + { + return ((27) * this.ObjectData.length) + 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); + pos += 4; + buf.writeUInt8(this.ObjectData[i]['PathCurve'], pos++); + buf.writeUInt8(this.ObjectData[i]['ProfileCurve'], pos++); + buf.writeUInt16LE(this.ObjectData[i]['PathBegin'], pos); + pos += 2; + buf.writeUInt16LE(this.ObjectData[i]['PathEnd'], pos); + pos += 2; + buf.writeUInt8(this.ObjectData[i]['PathScaleX'], pos++); + buf.writeUInt8(this.ObjectData[i]['PathScaleY'], pos++); + buf.writeUInt8(this.ObjectData[i]['PathShearX'], pos++); + buf.writeUInt8(this.ObjectData[i]['PathShearY'], pos++); + buf.writeInt8(this.ObjectData[i]['PathTwist'], pos++); + buf.writeInt8(this.ObjectData[i]['PathTwistBegin'], pos++); + buf.writeInt8(this.ObjectData[i]['PathRadiusOffset'], pos++); + buf.writeInt8(this.ObjectData[i]['PathTaperX'], pos++); + buf.writeInt8(this.ObjectData[i]['PathTaperY'], pos++); + buf.writeUInt8(this.ObjectData[i]['PathRevolutions'], pos++); + buf.writeInt8(this.ObjectData[i]['PathSkew'], pos++); + buf.writeUInt16LE(this.ObjectData[i]['ProfileBegin'], pos); + pos += 2; + buf.writeUInt16LE(this.ObjectData[i]['ProfileEnd'], pos); + pos += 2; + buf.writeUInt16LE(this.ObjectData[i]['ProfileHollow'], pos); + pos += 2; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectLocalID: 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 + } = { + ObjectLocalID: 0, + PathCurve: 0, + ProfileCurve: 0, + PathBegin: 0, + PathEnd: 0, + PathScaleX: 0, + PathScaleY: 0, + PathShearX: 0, + PathShearY: 0, + PathTwist: 0, + PathTwistBegin: 0, + PathRadiusOffset: 0, + PathTaperX: 0, + PathTaperY: 0, + PathRevolutions: 0, + PathSkew: 0, + ProfileBegin: 0, + ProfileEnd: 0, + ProfileHollow: 0 + }; + newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['PathCurve'] = buf.readUInt8(pos++); + newObjObjectData['ProfileCurve'] = buf.readUInt8(pos++); + newObjObjectData['PathBegin'] = buf.readUInt16LE(pos); + pos += 2; + newObjObjectData['PathEnd'] = buf.readUInt16LE(pos); + pos += 2; + newObjObjectData['PathScaleX'] = buf.readUInt8(pos++); + newObjObjectData['PathScaleY'] = buf.readUInt8(pos++); + newObjObjectData['PathShearX'] = buf.readUInt8(pos++); + newObjObjectData['PathShearY'] = buf.readUInt8(pos++); + newObjObjectData['PathTwist'] = buf.readInt8(pos++); + newObjObjectData['PathTwistBegin'] = buf.readInt8(pos++); + newObjObjectData['PathRadiusOffset'] = buf.readInt8(pos++); + newObjObjectData['PathTaperX'] = buf.readInt8(pos++); + newObjObjectData['PathTaperY'] = buf.readInt8(pos++); + newObjObjectData['PathRevolutions'] = buf.readUInt8(pos++); + newObjObjectData['PathSkew'] = buf.readInt8(pos++); + newObjObjectData['ProfileBegin'] = buf.readUInt16LE(pos); + pos += 2; + newObjObjectData['ProfileEnd'] = buf.readUInt16LE(pos); + pos += 2; + newObjObjectData['ProfileHollow'] = buf.readUInt16LE(pos); + pos += 2; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectSpinStart.ts b/lib/classes/messages/ObjectSpinStart.ts new file mode 100644 index 0000000..b564fee --- /dev/null +++ b/lib/classes/messages/ObjectSpinStart.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectSpinStartMessage implements MessageBase +{ + name = 'ObjectSpinStart'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ObjectSpinStart; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + ObjectID: UUID; + }; + + getSize(): number + { + return 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.ObjectData['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjObjectData: { + ObjectID: UUID + } = { + ObjectID: UUID.zero() + }; + newObjObjectData['ObjectID'] = new UUID(buf, pos); + pos += 16; + this.ObjectData = newObjObjectData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectSpinStop.ts b/lib/classes/messages/ObjectSpinStop.ts new file mode 100644 index 0000000..841a1fa --- /dev/null +++ b/lib/classes/messages/ObjectSpinStop.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectSpinStopMessage implements MessageBase +{ + name = 'ObjectSpinStop'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ObjectSpinStop; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + ObjectID: UUID; + }; + + getSize(): number + { + return 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.ObjectData['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjObjectData: { + ObjectID: UUID + } = { + ObjectID: UUID.zero() + }; + newObjObjectData['ObjectID'] = new UUID(buf, pos); + pos += 16; + this.ObjectData = newObjObjectData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectSpinUpdate.ts b/lib/classes/messages/ObjectSpinUpdate.ts new file mode 100644 index 0000000..6fdfabd --- /dev/null +++ b/lib/classes/messages/ObjectSpinUpdate.ts @@ -0,0 +1,74 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Quaternion} from '../Quaternion'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectSpinUpdateMessage implements MessageBase +{ + name = 'ObjectSpinUpdate'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ObjectSpinUpdate; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + ObjectID: UUID; + Rotation: Quaternion; + }; + + getSize(): number + { + return 60; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.ObjectData['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + this.ObjectData['Rotation'].writeToBuffer(buf, pos); + pos += 12; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjObjectData: { + ObjectID: UUID, + Rotation: Quaternion + } = { + ObjectID: UUID.zero(), + Rotation: Quaternion.getIdentity() + }; + newObjObjectData['ObjectID'] = new UUID(buf, pos); + pos += 16; + newObjObjectData['Rotation'] = new Quaternion(buf, pos); + pos += 12; + this.ObjectData = newObjObjectData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectUpdate.ts b/lib/classes/messages/ObjectUpdate.ts new file mode 100644 index 0000000..a7a06ac --- /dev/null +++ b/lib/classes/messages/ObjectUpdate.ts @@ -0,0 +1,391 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectUpdateMessage implements MessageBase +{ + name = 'ObjectUpdate'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyHigh; + id = Message.ObjectUpdate; + + RegionData: { + RegionHandle: Long; + TimeDilation: number; + }; + ObjectData: { + ID: number; + State: number; + FullID: UUID; + CRC: number; + PCode: number; + Material: number; + ClickAction: number; + Scale: Vector3; + ObjectData: string; + ParentID: number; + UpdateFlags: 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: string; + TextureAnim: string; + NameValue: string; + Data: string; + Text: string; + TextColor: Buffer; + MediaURL: string; + PSBlock: string; + ExtraParams: string; + Sound: UUID; + OwnerID: UUID; + Gain: number; + Flags: number; + Radius: number; + JointType: number; + JointPivot: Vector3; + JointAxisOrAnchor: Vector3; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.ObjectData, 'ObjectData', 1) + this.calculateVarVarSize(this.ObjectData, 'TextureEntry', 2) + this.calculateVarVarSize(this.ObjectData, 'TextureAnim', 1) + this.calculateVarVarSize(this.ObjectData, 'NameValue', 2) + this.calculateVarVarSize(this.ObjectData, 'Data', 2) + this.calculateVarVarSize(this.ObjectData, 'Text', 1) + this.calculateVarVarSize(this.ObjectData, 'MediaURL', 1) + this.calculateVarVarSize(this.ObjectData, 'PSBlock', 1) + this.calculateVarVarSize(this.ObjectData, 'ExtraParams', 1) + 141) * this.ObjectData.length) + 11; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeInt32LE(this.RegionData['RegionHandle'].low, pos); + pos += 4; + buf.writeInt32LE(this.RegionData['RegionHandle'].high, pos); + pos += 4; + buf.writeUInt16LE(this.RegionData['TimeDilation'], pos); + pos += 2; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ID'], pos); + pos += 4; + buf.writeUInt8(this.ObjectData[i]['State'], pos++); + this.ObjectData[i]['FullID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.ObjectData[i]['CRC'], pos); + pos += 4; + buf.writeUInt8(this.ObjectData[i]['PCode'], pos++); + buf.writeUInt8(this.ObjectData[i]['Material'], pos++); + buf.writeUInt8(this.ObjectData[i]['ClickAction'], pos++); + this.ObjectData[i]['Scale'].writeToBuffer(buf, pos, false); + pos += 12; + buf.writeUInt8(this.ObjectData[i]['ObjectData'].length, pos++); + buf.write(this.ObjectData[i]['ObjectData'], pos); + pos += this.ObjectData[i]['ObjectData'].length; + buf.writeUInt32LE(this.ObjectData[i]['ParentID'], pos); + pos += 4; + buf.writeUInt32LE(this.ObjectData[i]['UpdateFlags'], pos); + pos += 4; + buf.writeUInt8(this.ObjectData[i]['PathCurve'], pos++); + buf.writeUInt8(this.ObjectData[i]['ProfileCurve'], pos++); + buf.writeUInt16LE(this.ObjectData[i]['PathBegin'], pos); + pos += 2; + buf.writeUInt16LE(this.ObjectData[i]['PathEnd'], pos); + pos += 2; + buf.writeUInt8(this.ObjectData[i]['PathScaleX'], pos++); + buf.writeUInt8(this.ObjectData[i]['PathScaleY'], pos++); + buf.writeUInt8(this.ObjectData[i]['PathShearX'], pos++); + buf.writeUInt8(this.ObjectData[i]['PathShearY'], pos++); + buf.writeInt8(this.ObjectData[i]['PathTwist'], pos++); + buf.writeInt8(this.ObjectData[i]['PathTwistBegin'], pos++); + buf.writeInt8(this.ObjectData[i]['PathRadiusOffset'], pos++); + buf.writeInt8(this.ObjectData[i]['PathTaperX'], pos++); + buf.writeInt8(this.ObjectData[i]['PathTaperY'], pos++); + buf.writeUInt8(this.ObjectData[i]['PathRevolutions'], pos++); + buf.writeInt8(this.ObjectData[i]['PathSkew'], pos++); + buf.writeUInt16LE(this.ObjectData[i]['ProfileBegin'], pos); + pos += 2; + buf.writeUInt16LE(this.ObjectData[i]['ProfileEnd'], pos); + pos += 2; + buf.writeUInt16LE(this.ObjectData[i]['ProfileHollow'], pos); + pos += 2; + buf.writeUInt16LE(this.ObjectData[i]['TextureEntry'].length, pos); + pos += 2; + buf.write(this.ObjectData[i]['TextureEntry'], pos); + pos += this.ObjectData[i]['TextureEntry'].length; + buf.writeUInt8(this.ObjectData[i]['TextureAnim'].length, pos++); + buf.write(this.ObjectData[i]['TextureAnim'], pos); + pos += this.ObjectData[i]['TextureAnim'].length; + buf.writeUInt16LE(this.ObjectData[i]['NameValue'].length, pos); + pos += 2; + buf.write(this.ObjectData[i]['NameValue'], pos); + pos += this.ObjectData[i]['NameValue'].length; + buf.writeUInt16LE(this.ObjectData[i]['Data'].length, pos); + pos += 2; + buf.write(this.ObjectData[i]['Data'], pos); + pos += this.ObjectData[i]['Data'].length; + buf.writeUInt8(this.ObjectData[i]['Text'].length, pos++); + buf.write(this.ObjectData[i]['Text'], pos); + pos += this.ObjectData[i]['Text'].length; + this.ObjectData[i]['TextColor'].copy(buf, pos); + pos += 4; + buf.writeUInt8(this.ObjectData[i]['MediaURL'].length, pos++); + buf.write(this.ObjectData[i]['MediaURL'], pos); + pos += this.ObjectData[i]['MediaURL'].length; + buf.writeUInt8(this.ObjectData[i]['PSBlock'].length, pos++); + buf.write(this.ObjectData[i]['PSBlock'], pos); + pos += this.ObjectData[i]['PSBlock'].length; + buf.writeUInt8(this.ObjectData[i]['ExtraParams'].length, pos++); + buf.write(this.ObjectData[i]['ExtraParams'], pos); + pos += this.ObjectData[i]['ExtraParams'].length; + this.ObjectData[i]['Sound'].writeToBuffer(buf, pos); + pos += 16; + this.ObjectData[i]['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeFloatLE(this.ObjectData[i]['Gain'], pos); + pos += 4; + buf.writeUInt8(this.ObjectData[i]['Flags'], pos++); + buf.writeFloatLE(this.ObjectData[i]['Radius'], pos); + pos += 4; + buf.writeUInt8(this.ObjectData[i]['JointType'], pos++); + this.ObjectData[i]['JointPivot'].writeToBuffer(buf, pos, false); + pos += 12; + this.ObjectData[i]['JointAxisOrAnchor'].writeToBuffer(buf, pos, false); + pos += 12; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjRegionData: { + RegionHandle: Long, + TimeDilation: number + } = { + RegionHandle: Long.ZERO, + TimeDilation: 0 + }; + newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjRegionData['TimeDilation'] = buf.readUInt16LE(pos); + pos += 2; + this.RegionData = newObjRegionData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ID: number, + State: number, + FullID: UUID, + CRC: number, + PCode: number, + Material: number, + ClickAction: number, + Scale: Vector3, + ObjectData: string, + ParentID: number, + UpdateFlags: 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: string, + TextureAnim: string, + NameValue: string, + Data: string, + Text: string, + TextColor: Buffer, + MediaURL: string, + PSBlock: string, + ExtraParams: string, + Sound: UUID, + OwnerID: UUID, + Gain: number, + Flags: number, + Radius: number, + JointType: number, + JointPivot: Vector3, + JointAxisOrAnchor: Vector3 + } = { + ID: 0, + State: 0, + FullID: UUID.zero(), + CRC: 0, + PCode: 0, + Material: 0, + ClickAction: 0, + Scale: Vector3.getZero(), + ObjectData: '', + ParentID: 0, + UpdateFlags: 0, + PathCurve: 0, + ProfileCurve: 0, + PathBegin: 0, + PathEnd: 0, + PathScaleX: 0, + PathScaleY: 0, + PathShearX: 0, + PathShearY: 0, + PathTwist: 0, + PathTwistBegin: 0, + PathRadiusOffset: 0, + PathTaperX: 0, + PathTaperY: 0, + PathRevolutions: 0, + PathSkew: 0, + ProfileBegin: 0, + ProfileEnd: 0, + ProfileHollow: 0, + TextureEntry: '', + TextureAnim: '', + NameValue: '', + Data: '', + Text: '', + TextColor: Buffer.allocUnsafe(0), + MediaURL: '', + PSBlock: '', + ExtraParams: '', + Sound: UUID.zero(), + OwnerID: UUID.zero(), + Gain: 0, + Flags: 0, + Radius: 0, + JointType: 0, + JointPivot: Vector3.getZero(), + JointAxisOrAnchor: Vector3.getZero() + }; + newObjObjectData['ID'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['State'] = buf.readUInt8(pos++); + newObjObjectData['FullID'] = new UUID(buf, pos); + pos += 16; + newObjObjectData['CRC'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['PCode'] = buf.readUInt8(pos++); + newObjObjectData['Material'] = buf.readUInt8(pos++); + newObjObjectData['ClickAction'] = buf.readUInt8(pos++); + newObjObjectData['Scale'] = new Vector3(buf, pos, false); + pos += 12; + varLength = buf.readUInt8(pos++); + newObjObjectData['ObjectData'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjObjectData['ParentID'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['UpdateFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['PathCurve'] = buf.readUInt8(pos++); + newObjObjectData['ProfileCurve'] = buf.readUInt8(pos++); + newObjObjectData['PathBegin'] = buf.readUInt16LE(pos); + pos += 2; + newObjObjectData['PathEnd'] = buf.readUInt16LE(pos); + pos += 2; + newObjObjectData['PathScaleX'] = buf.readUInt8(pos++); + newObjObjectData['PathScaleY'] = buf.readUInt8(pos++); + newObjObjectData['PathShearX'] = buf.readUInt8(pos++); + newObjObjectData['PathShearY'] = buf.readUInt8(pos++); + newObjObjectData['PathTwist'] = buf.readInt8(pos++); + newObjObjectData['PathTwistBegin'] = buf.readInt8(pos++); + newObjObjectData['PathRadiusOffset'] = buf.readInt8(pos++); + newObjObjectData['PathTaperX'] = buf.readInt8(pos++); + newObjObjectData['PathTaperY'] = buf.readInt8(pos++); + newObjObjectData['PathRevolutions'] = buf.readUInt8(pos++); + newObjObjectData['PathSkew'] = buf.readInt8(pos++); + newObjObjectData['ProfileBegin'] = buf.readUInt16LE(pos); + pos += 2; + newObjObjectData['ProfileEnd'] = buf.readUInt16LE(pos); + pos += 2; + newObjObjectData['ProfileHollow'] = buf.readUInt16LE(pos); + pos += 2; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjObjectData['TextureEntry'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjObjectData['TextureAnim'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjObjectData['NameValue'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjObjectData['Data'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjObjectData['Text'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjObjectData['TextColor'] = buf.slice(pos, pos + 4); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjObjectData['MediaURL'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjObjectData['PSBlock'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjObjectData['ExtraParams'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjObjectData['Sound'] = new UUID(buf, pos); + pos += 16; + newObjObjectData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjObjectData['Gain'] = buf.readFloatLE(pos); + pos += 4; + newObjObjectData['Flags'] = buf.readUInt8(pos++); + newObjObjectData['Radius'] = buf.readFloatLE(pos); + pos += 4; + newObjObjectData['JointType'] = buf.readUInt8(pos++); + newObjObjectData['JointPivot'] = new Vector3(buf, pos, false); + pos += 12; + newObjObjectData['JointAxisOrAnchor'] = new Vector3(buf, pos, false); + pos += 12; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectUpdateCached.ts b/lib/classes/messages/ObjectUpdateCached.ts new file mode 100644 index 0000000..b41c8cd --- /dev/null +++ b/lib/classes/messages/ObjectUpdateCached.ts @@ -0,0 +1,92 @@ +// This file has been automatically generated by writeMessageClasses.js + +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectUpdateCachedMessage implements MessageBase +{ + name = 'ObjectUpdateCached'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyHigh; + id = Message.ObjectUpdateCached; + + RegionData: { + RegionHandle: Long; + TimeDilation: number; + }; + ObjectData: { + ID: number; + CRC: number; + UpdateFlags: number; + }[]; + + getSize(): number + { + return ((12) * this.ObjectData.length) + 11; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeInt32LE(this.RegionData['RegionHandle'].low, pos); + pos += 4; + buf.writeInt32LE(this.RegionData['RegionHandle'].high, pos); + pos += 4; + buf.writeUInt16LE(this.RegionData['TimeDilation'], pos); + pos += 2; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['ID'], pos); + pos += 4; + buf.writeUInt32LE(this.ObjectData[i]['CRC'], pos); + pos += 4; + buf.writeUInt32LE(this.ObjectData[i]['UpdateFlags'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjRegionData: { + RegionHandle: Long, + TimeDilation: number + } = { + RegionHandle: Long.ZERO, + TimeDilation: 0 + }; + newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjRegionData['TimeDilation'] = buf.readUInt16LE(pos); + pos += 2; + this.RegionData = newObjRegionData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ID: number, + CRC: number, + UpdateFlags: number + } = { + ID: 0, + CRC: 0, + UpdateFlags: 0 + }; + newObjObjectData['ID'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['CRC'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['UpdateFlags'] = buf.readUInt32LE(pos); + pos += 4; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ObjectUpdateCompressed.ts b/lib/classes/messages/ObjectUpdateCompressed.ts new file mode 100644 index 0000000..e1e78a5 --- /dev/null +++ b/lib/classes/messages/ObjectUpdateCompressed.ts @@ -0,0 +1,99 @@ +// This file has been automatically generated by writeMessageClasses.js + +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ObjectUpdateCompressedMessage implements MessageBase +{ + name = 'ObjectUpdateCompressed'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyHigh; + id = Message.ObjectUpdateCompressed; + + RegionData: { + RegionHandle: Long; + TimeDilation: number; + }; + ObjectData: { + UpdateFlags: number; + Data: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.ObjectData, 'Data', 2) + 4) * this.ObjectData.length) + 11; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeInt32LE(this.RegionData['RegionHandle'].low, pos); + pos += 4; + buf.writeInt32LE(this.RegionData['RegionHandle'].high, pos); + pos += 4; + buf.writeUInt16LE(this.RegionData['TimeDilation'], pos); + pos += 2; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.ObjectData[i]['UpdateFlags'], pos); + pos += 4; + buf.writeUInt16LE(this.ObjectData[i]['Data'].length, pos); + pos += 2; + buf.write(this.ObjectData[i]['Data'], pos); + pos += this.ObjectData[i]['Data'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjRegionData: { + RegionHandle: Long, + TimeDilation: number + } = { + RegionHandle: Long.ZERO, + TimeDilation: 0 + }; + newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjRegionData['TimeDilation'] = buf.readUInt16LE(pos); + pos += 2; + this.RegionData = newObjRegionData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + UpdateFlags: number, + Data: string + } = { + UpdateFlags: 0, + Data: '' + }; + newObjObjectData['UpdateFlags'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjObjectData['Data'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/OfferCallingCard.ts b/lib/classes/messages/OfferCallingCard.ts new file mode 100644 index 0000000..d4f95bc --- /dev/null +++ b/lib/classes/messages/OfferCallingCard.ts @@ -0,0 +1,73 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class OfferCallingCardMessage implements MessageBase +{ + name = 'OfferCallingCard'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.OfferCallingCard; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + AgentBlock: { + DestID: UUID; + TransactionID: UUID; + }; + + getSize(): number + { + return 64; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentBlock['DestID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentBlock['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjAgentBlock: { + DestID: UUID, + TransactionID: UUID + } = { + DestID: UUID.zero(), + TransactionID: UUID.zero() + }; + newObjAgentBlock['DestID'] = new UUID(buf, pos); + pos += 16; + newObjAgentBlock['TransactionID'] = new UUID(buf, pos); + pos += 16; + this.AgentBlock = newObjAgentBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/OfflineNotification.ts b/lib/classes/messages/OfflineNotification.ts new file mode 100644 index 0000000..7ed8ed6 --- /dev/null +++ b/lib/classes/messages/OfflineNotification.ts @@ -0,0 +1,56 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class OfflineNotificationMessage implements MessageBase +{ + name = 'OfflineNotification'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.OfflineNotification; + + AgentBlock: { + AgentID: UUID; + }[]; + + getSize(): number + { + return ((16) * this.AgentBlock.length) + 1; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.AgentBlock.length; + buf.writeUInt8(this.AgentBlock.length, pos++); + for (let i = 0; i < count; i++) + { + this.AgentBlock[i]['AgentID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.AgentBlock = []; + for (let i = 0; i < count; i++) + { + const newObjAgentBlock: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentBlock['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentBlock.push(newObjAgentBlock); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/OnlineNotification.ts b/lib/classes/messages/OnlineNotification.ts new file mode 100644 index 0000000..da811a6 --- /dev/null +++ b/lib/classes/messages/OnlineNotification.ts @@ -0,0 +1,56 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class OnlineNotificationMessage implements MessageBase +{ + name = 'OnlineNotification'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.OnlineNotification; + + AgentBlock: { + AgentID: UUID; + }[]; + + getSize(): number + { + return ((16) * this.AgentBlock.length) + 1; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.AgentBlock.length; + buf.writeUInt8(this.AgentBlock.length, pos++); + for (let i = 0; i < count; i++) + { + this.AgentBlock[i]['AgentID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.AgentBlock = []; + for (let i = 0; i < count; i++) + { + const newObjAgentBlock: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentBlock['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentBlock.push(newObjAgentBlock); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/OpenCircuit.ts b/lib/classes/messages/OpenCircuit.ts new file mode 100644 index 0000000..7797f18 --- /dev/null +++ b/lib/classes/messages/OpenCircuit.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {IPAddress} from '../IPAddress'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class OpenCircuitMessage implements MessageBase +{ + name = 'OpenCircuit'; + messageFlags = MessageFlags.Blacklisted | MessageFlags.FrequencyFixed; + id = Message.OpenCircuit; + + CircuitInfo: { + IP: IPAddress; + Port: number; + }; + + getSize(): number + { + return 6; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.CircuitInfo['IP'].writeToBuffer(buf, pos); + pos += 4; + buf.writeUInt16LE(this.CircuitInfo['Port'], pos); + pos += 2; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjCircuitInfo: { + IP: IPAddress, + Port: number + } = { + IP: IPAddress.zero(), + Port: 0 + }; + newObjCircuitInfo['IP'] = new IPAddress(buf, pos); + pos += 4; + newObjCircuitInfo['Port'] = buf.readUInt16LE(pos); + pos += 2; + this.CircuitInfo = newObjCircuitInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/PacketAck.ts b/lib/classes/messages/PacketAck.ts new file mode 100644 index 0000000..ab97d7b --- /dev/null +++ b/lib/classes/messages/PacketAck.ts @@ -0,0 +1,55 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class PacketAckMessage implements MessageBase +{ + name = 'PacketAck'; + messageFlags = MessageFlags.FrequencyFixed; + id = Message.PacketAck; + + Packets: { + ID: number; + }[]; + + getSize(): number + { + return ((4) * this.Packets.length) + 1; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.Packets.length; + buf.writeUInt8(this.Packets.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.Packets[i]['ID'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.Packets = []; + for (let i = 0; i < count; i++) + { + const newObjPackets: { + ID: number + } = { + ID: 0 + }; + newObjPackets['ID'] = buf.readUInt32LE(pos); + pos += 4; + this.Packets.push(newObjPackets); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelAccessListReply.ts b/lib/classes/messages/ParcelAccessListReply.ts new file mode 100644 index 0000000..8a662a8 --- /dev/null +++ b/lib/classes/messages/ParcelAccessListReply.ts @@ -0,0 +1,104 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelAccessListReplyMessage implements MessageBase +{ + name = 'ParcelAccessListReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ParcelAccessListReply; + + Data: { + AgentID: UUID; + SequenceID: number; + Flags: number; + LocalID: number; + }; + List: { + ID: UUID; + Time: number; + Flags: number; + }[]; + + getSize(): number + { + return ((24) * this.List.length) + 29; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.Data['AgentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.Data['SequenceID'], pos); + pos += 4; + buf.writeUInt32LE(this.Data['Flags'], pos); + pos += 4; + buf.writeInt32LE(this.Data['LocalID'], pos); + pos += 4; + const count = this.List.length; + buf.writeUInt8(this.List.length, pos++); + for (let i = 0; i < count; i++) + { + this.List[i]['ID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.List[i]['Time'], pos); + pos += 4; + buf.writeUInt32LE(this.List[i]['Flags'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjData: { + AgentID: UUID, + SequenceID: number, + Flags: number, + LocalID: number + } = { + AgentID: UUID.zero(), + SequenceID: 0, + Flags: 0, + LocalID: 0 + }; + newObjData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjData['SequenceID'] = buf.readInt32LE(pos); + pos += 4; + newObjData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + newObjData['LocalID'] = buf.readInt32LE(pos); + pos += 4; + this.Data = newObjData; + const count = buf.readUInt8(pos++); + this.List = []; + for (let i = 0; i < count; i++) + { + const newObjList: { + ID: UUID, + Time: number, + Flags: number + } = { + ID: UUID.zero(), + Time: 0, + Flags: 0 + }; + newObjList['ID'] = new UUID(buf, pos); + pos += 16; + newObjList['Time'] = buf.readInt32LE(pos); + pos += 4; + newObjList['Flags'] = buf.readUInt32LE(pos); + pos += 4; + this.List.push(newObjList); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelAccessListRequest.ts b/lib/classes/messages/ParcelAccessListRequest.ts new file mode 100644 index 0000000..e108f54 --- /dev/null +++ b/lib/classes/messages/ParcelAccessListRequest.ts @@ -0,0 +1,80 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelAccessListRequestMessage implements MessageBase +{ + name = 'ParcelAccessListRequest'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ParcelAccessListRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + SequenceID: number; + Flags: number; + LocalID: number; + }; + + getSize(): number + { + return 44; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.Data['SequenceID'], pos); + pos += 4; + buf.writeUInt32LE(this.Data['Flags'], pos); + pos += 4; + buf.writeInt32LE(this.Data['LocalID'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + SequenceID: number, + Flags: number, + LocalID: number + } = { + SequenceID: 0, + Flags: 0, + LocalID: 0 + }; + newObjData['SequenceID'] = buf.readInt32LE(pos); + pos += 4; + newObjData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + newObjData['LocalID'] = buf.readInt32LE(pos); + pos += 4; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelAccessListUpdate.ts b/lib/classes/messages/ParcelAccessListUpdate.ts new file mode 100644 index 0000000..fb828bd --- /dev/null +++ b/lib/classes/messages/ParcelAccessListUpdate.ts @@ -0,0 +1,131 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelAccessListUpdateMessage implements MessageBase +{ + name = 'ParcelAccessListUpdate'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ParcelAccessListUpdate; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + Flags: number; + LocalID: number; + TransactionID: UUID; + SequenceID: number; + Sections: number; + }; + List: { + ID: UUID; + Time: number; + Flags: number; + }[]; + + getSize(): number + { + return ((24) * this.List.length) + 65; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.Data['Flags'], pos); + pos += 4; + buf.writeInt32LE(this.Data['LocalID'], pos); + pos += 4; + this.Data['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.Data['SequenceID'], pos); + pos += 4; + buf.writeInt32LE(this.Data['Sections'], pos); + pos += 4; + const count = this.List.length; + buf.writeUInt8(this.List.length, pos++); + for (let i = 0; i < count; i++) + { + this.List[i]['ID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.List[i]['Time'], pos); + pos += 4; + buf.writeUInt32LE(this.List[i]['Flags'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + Flags: number, + LocalID: number, + TransactionID: UUID, + SequenceID: number, + Sections: number + } = { + Flags: 0, + LocalID: 0, + TransactionID: UUID.zero(), + SequenceID: 0, + Sections: 0 + }; + newObjData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + newObjData['LocalID'] = buf.readInt32LE(pos); + pos += 4; + newObjData['TransactionID'] = new UUID(buf, pos); + pos += 16; + newObjData['SequenceID'] = buf.readInt32LE(pos); + pos += 4; + newObjData['Sections'] = buf.readInt32LE(pos); + pos += 4; + this.Data = newObjData; + const count = buf.readUInt8(pos++); + this.List = []; + for (let i = 0; i < count; i++) + { + const newObjList: { + ID: UUID, + Time: number, + Flags: number + } = { + ID: UUID.zero(), + Time: 0, + Flags: 0 + }; + newObjList['ID'] = new UUID(buf, pos); + pos += 16; + newObjList['Time'] = buf.readInt32LE(pos); + pos += 4; + newObjList['Flags'] = buf.readUInt32LE(pos); + pos += 4; + this.List.push(newObjList); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelAuctions.ts b/lib/classes/messages/ParcelAuctions.ts new file mode 100644 index 0000000..db395d3 --- /dev/null +++ b/lib/classes/messages/ParcelAuctions.ts @@ -0,0 +1,63 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelAuctionsMessage implements MessageBase +{ + name = 'ParcelAuctions'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.ParcelAuctions; + + ParcelData: { + ParcelID: UUID; + WinnerID: UUID; + }[]; + + getSize(): number + { + return ((32) * this.ParcelData.length) + 1; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.ParcelData.length; + buf.writeUInt8(this.ParcelData.length, pos++); + for (let i = 0; i < count; i++) + { + this.ParcelData[i]['ParcelID'].writeToBuffer(buf, pos); + pos += 16; + this.ParcelData[i]['WinnerID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.ParcelData = []; + for (let i = 0; i < count; i++) + { + const newObjParcelData: { + ParcelID: UUID, + WinnerID: UUID + } = { + ParcelID: UUID.zero(), + WinnerID: UUID.zero() + }; + newObjParcelData['ParcelID'] = new UUID(buf, pos); + pos += 16; + newObjParcelData['WinnerID'] = new UUID(buf, pos); + pos += 16; + this.ParcelData.push(newObjParcelData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelBuy.ts b/lib/classes/messages/ParcelBuy.ts new file mode 100644 index 0000000..3ddbc40 --- /dev/null +++ b/lib/classes/messages/ParcelBuy.ts @@ -0,0 +1,108 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelBuyMessage implements MessageBase +{ + name = 'ParcelBuy'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ParcelBuy; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + GroupID: UUID; + IsGroupOwned: boolean; + RemoveContribution: boolean; + LocalID: number; + Final: boolean; + }; + ParcelData: { + Price: number; + Area: number; + }; + + getSize(): number + { + return 63; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.Data['IsGroupOwned']) ? 1 : 0, pos++); + buf.writeUInt8((this.Data['RemoveContribution']) ? 1 : 0, pos++); + buf.writeInt32LE(this.Data['LocalID'], pos); + pos += 4; + buf.writeUInt8((this.Data['Final']) ? 1 : 0, pos++); + buf.writeInt32LE(this.ParcelData['Price'], pos); + pos += 4; + buf.writeInt32LE(this.ParcelData['Area'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + GroupID: UUID, + IsGroupOwned: boolean, + RemoveContribution: boolean, + LocalID: number, + Final: boolean + } = { + GroupID: UUID.zero(), + IsGroupOwned: false, + RemoveContribution: false, + LocalID: 0, + Final: false + }; + newObjData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjData['IsGroupOwned'] = (buf.readUInt8(pos++) === 1); + newObjData['RemoveContribution'] = (buf.readUInt8(pos++) === 1); + newObjData['LocalID'] = buf.readInt32LE(pos); + pos += 4; + newObjData['Final'] = (buf.readUInt8(pos++) === 1); + this.Data = newObjData; + const newObjParcelData: { + Price: number, + Area: number + } = { + Price: 0, + Area: 0 + }; + newObjParcelData['Price'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['Area'] = buf.readInt32LE(pos); + pos += 4; + this.ParcelData = newObjParcelData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelBuyPass.ts b/lib/classes/messages/ParcelBuyPass.ts new file mode 100644 index 0000000..6b0528b --- /dev/null +++ b/lib/classes/messages/ParcelBuyPass.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelBuyPassMessage implements MessageBase +{ + name = 'ParcelBuyPass'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.ParcelBuyPass; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ParcelData: { + LocalID: number; + }; + + getSize(): number + { + return 36; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.ParcelData['LocalID'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjParcelData: { + LocalID: number + } = { + LocalID: 0 + }; + newObjParcelData['LocalID'] = buf.readInt32LE(pos); + pos += 4; + this.ParcelData = newObjParcelData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelClaim.ts b/lib/classes/messages/ParcelClaim.ts new file mode 100644 index 0000000..9b70218 --- /dev/null +++ b/lib/classes/messages/ParcelClaim.ts @@ -0,0 +1,120 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelClaimMessage implements MessageBase +{ + name = 'ParcelClaim'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ParcelClaim; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + GroupID: UUID; + IsGroupOwned: boolean; + Final: boolean; + }; + ParcelData: { + West: number; + South: number; + East: number; + North: number; + }[]; + + getSize(): number + { + return ((16) * this.ParcelData.length) + 51; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.Data['IsGroupOwned']) ? 1 : 0, pos++); + buf.writeUInt8((this.Data['Final']) ? 1 : 0, pos++); + const count = this.ParcelData.length; + buf.writeUInt8(this.ParcelData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeFloatLE(this.ParcelData[i]['West'], pos); + pos += 4; + buf.writeFloatLE(this.ParcelData[i]['South'], pos); + pos += 4; + buf.writeFloatLE(this.ParcelData[i]['East'], pos); + pos += 4; + buf.writeFloatLE(this.ParcelData[i]['North'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + GroupID: UUID, + IsGroupOwned: boolean, + Final: boolean + } = { + GroupID: UUID.zero(), + IsGroupOwned: false, + Final: false + }; + newObjData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjData['IsGroupOwned'] = (buf.readUInt8(pos++) === 1); + newObjData['Final'] = (buf.readUInt8(pos++) === 1); + this.Data = newObjData; + const count = buf.readUInt8(pos++); + this.ParcelData = []; + for (let i = 0; i < count; i++) + { + const newObjParcelData: { + West: number, + South: number, + East: number, + North: number + } = { + West: 0, + South: 0, + East: 0, + North: 0 + }; + newObjParcelData['West'] = buf.readFloatLE(pos); + pos += 4; + newObjParcelData['South'] = buf.readFloatLE(pos); + pos += 4; + newObjParcelData['East'] = buf.readFloatLE(pos); + pos += 4; + newObjParcelData['North'] = buf.readFloatLE(pos); + pos += 4; + this.ParcelData.push(newObjParcelData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelDeedToGroup.ts b/lib/classes/messages/ParcelDeedToGroup.ts new file mode 100644 index 0000000..40385dc --- /dev/null +++ b/lib/classes/messages/ParcelDeedToGroup.ts @@ -0,0 +1,73 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelDeedToGroupMessage implements MessageBase +{ + name = 'ParcelDeedToGroup'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.ParcelDeedToGroup; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + GroupID: UUID; + LocalID: number; + }; + + getSize(): number + { + return 52; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.Data['LocalID'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + GroupID: UUID, + LocalID: number + } = { + GroupID: UUID.zero(), + LocalID: 0 + }; + newObjData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjData['LocalID'] = buf.readInt32LE(pos); + pos += 4; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelDisableObjects.ts b/lib/classes/messages/ParcelDisableObjects.ts new file mode 100644 index 0000000..bc8096b --- /dev/null +++ b/lib/classes/messages/ParcelDisableObjects.ts @@ -0,0 +1,119 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelDisableObjectsMessage implements MessageBase +{ + name = 'ParcelDisableObjects'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ParcelDisableObjects; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ParcelData: { + LocalID: number; + ReturnType: number; + }; + TaskIDs: { + TaskID: UUID; + }[]; + OwnerIDs: { + OwnerID: UUID; + }[]; + + getSize(): number + { + return ((16) * this.TaskIDs.length) + ((16) * this.OwnerIDs.length) + 42; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.ParcelData['LocalID'], pos); + pos += 4; + buf.writeUInt32LE(this.ParcelData['ReturnType'], pos); + pos += 4; + let count = this.TaskIDs.length; + buf.writeUInt8(this.TaskIDs.length, pos++); + for (let i = 0; i < count; i++) + { + this.TaskIDs[i]['TaskID'].writeToBuffer(buf, pos); + pos += 16; + } + count = this.OwnerIDs.length; + buf.writeUInt8(this.OwnerIDs.length, pos++); + for (let i = 0; i < count; i++) + { + this.OwnerIDs[i]['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjParcelData: { + LocalID: number, + ReturnType: number + } = { + LocalID: 0, + ReturnType: 0 + }; + newObjParcelData['LocalID'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['ReturnType'] = buf.readUInt32LE(pos); + pos += 4; + this.ParcelData = newObjParcelData; + let count = buf.readUInt8(pos++); + this.TaskIDs = []; + for (let i = 0; i < count; i++) + { + const newObjTaskIDs: { + TaskID: UUID + } = { + TaskID: UUID.zero() + }; + newObjTaskIDs['TaskID'] = new UUID(buf, pos); + pos += 16; + this.TaskIDs.push(newObjTaskIDs); + } + count = buf.readUInt8(pos++); + this.OwnerIDs = []; + for (let i = 0; i < count; i++) + { + const newObjOwnerIDs: { + OwnerID: UUID + } = { + OwnerID: UUID.zero() + }; + newObjOwnerIDs['OwnerID'] = new UUID(buf, pos); + pos += 16; + this.OwnerIDs.push(newObjOwnerIDs); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelDivide.ts b/lib/classes/messages/ParcelDivide.ts new file mode 100644 index 0000000..6df839c --- /dev/null +++ b/lib/classes/messages/ParcelDivide.ts @@ -0,0 +1,87 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelDivideMessage implements MessageBase +{ + name = 'ParcelDivide'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.ParcelDivide; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ParcelData: { + West: number; + South: number; + East: number; + North: number; + }; + + getSize(): number + { + return 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeFloatLE(this.ParcelData['West'], pos); + pos += 4; + buf.writeFloatLE(this.ParcelData['South'], pos); + pos += 4; + buf.writeFloatLE(this.ParcelData['East'], pos); + pos += 4; + buf.writeFloatLE(this.ParcelData['North'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjParcelData: { + West: number, + South: number, + East: number, + North: number + } = { + West: 0, + South: 0, + East: 0, + North: 0 + }; + newObjParcelData['West'] = buf.readFloatLE(pos); + pos += 4; + newObjParcelData['South'] = buf.readFloatLE(pos); + pos += 4; + newObjParcelData['East'] = buf.readFloatLE(pos); + pos += 4; + newObjParcelData['North'] = buf.readFloatLE(pos); + pos += 4; + this.ParcelData = newObjParcelData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelDwellReply.ts b/lib/classes/messages/ParcelDwellReply.ts new file mode 100644 index 0000000..ae2d16a --- /dev/null +++ b/lib/classes/messages/ParcelDwellReply.ts @@ -0,0 +1,73 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelDwellReplyMessage implements MessageBase +{ + name = 'ParcelDwellReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.ParcelDwellReply; + + AgentData: { + AgentID: UUID; + }; + Data: { + LocalID: number; + ParcelID: UUID; + Dwell: number; + }; + + getSize(): number + { + return 40; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.Data['LocalID'], pos); + pos += 4; + this.Data['ParcelID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeFloatLE(this.Data['Dwell'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + LocalID: number, + ParcelID: UUID, + Dwell: number + } = { + LocalID: 0, + ParcelID: UUID.zero(), + Dwell: 0 + }; + newObjData['LocalID'] = buf.readInt32LE(pos); + pos += 4; + newObjData['ParcelID'] = new UUID(buf, pos); + pos += 16; + newObjData['Dwell'] = buf.readFloatLE(pos); + pos += 4; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelDwellRequest.ts b/lib/classes/messages/ParcelDwellRequest.ts new file mode 100644 index 0000000..fd4f745 --- /dev/null +++ b/lib/classes/messages/ParcelDwellRequest.ts @@ -0,0 +1,73 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelDwellRequestMessage implements MessageBase +{ + name = 'ParcelDwellRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.ParcelDwellRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + LocalID: number; + ParcelID: UUID; + }; + + getSize(): number + { + return 52; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.Data['LocalID'], pos); + pos += 4; + this.Data['ParcelID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + LocalID: number, + ParcelID: UUID + } = { + LocalID: 0, + ParcelID: UUID.zero() + }; + newObjData['LocalID'] = buf.readInt32LE(pos); + pos += 4; + newObjData['ParcelID'] = new UUID(buf, pos); + pos += 16; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelGodForceOwner.ts b/lib/classes/messages/ParcelGodForceOwner.ts new file mode 100644 index 0000000..f03eee5 --- /dev/null +++ b/lib/classes/messages/ParcelGodForceOwner.ts @@ -0,0 +1,73 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelGodForceOwnerMessage implements MessageBase +{ + name = 'ParcelGodForceOwner'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ParcelGodForceOwner; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + OwnerID: UUID; + LocalID: number; + }; + + getSize(): number + { + return 52; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.Data['LocalID'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + OwnerID: UUID, + LocalID: number + } = { + OwnerID: UUID.zero(), + LocalID: 0 + }; + newObjData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjData['LocalID'] = buf.readInt32LE(pos); + pos += 4; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelGodMarkAsContent.ts b/lib/classes/messages/ParcelGodMarkAsContent.ts new file mode 100644 index 0000000..f4f846f --- /dev/null +++ b/lib/classes/messages/ParcelGodMarkAsContent.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelGodMarkAsContentMessage implements MessageBase +{ + name = 'ParcelGodMarkAsContent'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.ParcelGodMarkAsContent; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ParcelData: { + LocalID: number; + }; + + getSize(): number + { + return 36; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.ParcelData['LocalID'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjParcelData: { + LocalID: number + } = { + LocalID: 0 + }; + newObjParcelData['LocalID'] = buf.readInt32LE(pos); + pos += 4; + this.ParcelData = newObjParcelData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelInfoReply.ts b/lib/classes/messages/ParcelInfoReply.ts new file mode 100644 index 0000000..c12fe34 --- /dev/null +++ b/lib/classes/messages/ParcelInfoReply.ts @@ -0,0 +1,161 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelInfoReplyMessage implements MessageBase +{ + name = 'ParcelInfoReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ParcelInfoReply; + + AgentData: { + AgentID: UUID; + }; + Data: { + ParcelID: UUID; + OwnerID: UUID; + Name: string; + Desc: string; + ActualArea: number; + BillableArea: number; + Flags: number; + GlobalX: number; + GlobalY: number; + GlobalZ: number; + SimName: string; + SnapshotID: UUID; + Dwell: number; + SalePrice: number; + AuctionID: number; + }; + + getSize(): number + { + return (this.Data['Name'].length + 1 + this.Data['Desc'].length + 1 + this.Data['SimName'].length + 1) + 97; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['ParcelID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.Data['Name'].length, pos++); + buf.write(this.Data['Name'], pos); + pos += this.Data['Name'].length; + buf.writeUInt8(this.Data['Desc'].length, pos++); + buf.write(this.Data['Desc'], pos); + pos += this.Data['Desc'].length; + buf.writeInt32LE(this.Data['ActualArea'], pos); + pos += 4; + buf.writeInt32LE(this.Data['BillableArea'], pos); + pos += 4; + buf.writeUInt8(this.Data['Flags'], pos++); + buf.writeFloatLE(this.Data['GlobalX'], pos); + pos += 4; + buf.writeFloatLE(this.Data['GlobalY'], pos); + pos += 4; + buf.writeFloatLE(this.Data['GlobalZ'], pos); + pos += 4; + buf.writeUInt8(this.Data['SimName'].length, pos++); + buf.write(this.Data['SimName'], pos); + pos += this.Data['SimName'].length; + this.Data['SnapshotID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeFloatLE(this.Data['Dwell'], pos); + pos += 4; + buf.writeInt32LE(this.Data['SalePrice'], pos); + pos += 4; + buf.writeInt32LE(this.Data['AuctionID'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + ParcelID: UUID, + OwnerID: UUID, + Name: string, + Desc: string, + ActualArea: number, + BillableArea: number, + Flags: number, + GlobalX: number, + GlobalY: number, + GlobalZ: number, + SimName: string, + SnapshotID: UUID, + Dwell: number, + SalePrice: number, + AuctionID: number + } = { + ParcelID: UUID.zero(), + OwnerID: UUID.zero(), + Name: '', + Desc: '', + ActualArea: 0, + BillableArea: 0, + Flags: 0, + GlobalX: 0, + GlobalY: 0, + GlobalZ: 0, + SimName: '', + SnapshotID: UUID.zero(), + Dwell: 0, + SalePrice: 0, + AuctionID: 0 + }; + newObjData['ParcelID'] = new UUID(buf, pos); + pos += 16; + newObjData['OwnerID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjData['Desc'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjData['ActualArea'] = buf.readInt32LE(pos); + pos += 4; + newObjData['BillableArea'] = buf.readInt32LE(pos); + pos += 4; + newObjData['Flags'] = buf.readUInt8(pos++); + newObjData['GlobalX'] = buf.readFloatLE(pos); + pos += 4; + newObjData['GlobalY'] = buf.readFloatLE(pos); + pos += 4; + newObjData['GlobalZ'] = buf.readFloatLE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjData['SimName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjData['SnapshotID'] = new UUID(buf, pos); + pos += 16; + newObjData['Dwell'] = buf.readFloatLE(pos); + pos += 4; + newObjData['SalePrice'] = buf.readInt32LE(pos); + pos += 4; + newObjData['AuctionID'] = buf.readInt32LE(pos); + pos += 4; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelInfoRequest.ts b/lib/classes/messages/ParcelInfoRequest.ts new file mode 100644 index 0000000..3979294 --- /dev/null +++ b/lib/classes/messages/ParcelInfoRequest.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelInfoRequestMessage implements MessageBase +{ + name = 'ParcelInfoRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.ParcelInfoRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + ParcelID: UUID; + }; + + getSize(): number + { + return 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['ParcelID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + ParcelID: UUID + } = { + ParcelID: UUID.zero() + }; + newObjData['ParcelID'] = new UUID(buf, pos); + pos += 16; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelJoin.ts b/lib/classes/messages/ParcelJoin.ts new file mode 100644 index 0000000..56a5826 --- /dev/null +++ b/lib/classes/messages/ParcelJoin.ts @@ -0,0 +1,87 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelJoinMessage implements MessageBase +{ + name = 'ParcelJoin'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.ParcelJoin; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ParcelData: { + West: number; + South: number; + East: number; + North: number; + }; + + getSize(): number + { + return 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeFloatLE(this.ParcelData['West'], pos); + pos += 4; + buf.writeFloatLE(this.ParcelData['South'], pos); + pos += 4; + buf.writeFloatLE(this.ParcelData['East'], pos); + pos += 4; + buf.writeFloatLE(this.ParcelData['North'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjParcelData: { + West: number, + South: number, + East: number, + North: number + } = { + West: 0, + South: 0, + East: 0, + North: 0 + }; + newObjParcelData['West'] = buf.readFloatLE(pos); + pos += 4; + newObjParcelData['South'] = buf.readFloatLE(pos); + pos += 4; + newObjParcelData['East'] = buf.readFloatLE(pos); + pos += 4; + newObjParcelData['North'] = buf.readFloatLE(pos); + pos += 4; + this.ParcelData = newObjParcelData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelMediaCommandMessage.ts b/lib/classes/messages/ParcelMediaCommandMessage.ts new file mode 100644 index 0000000..01c7cf9 --- /dev/null +++ b/lib/classes/messages/ParcelMediaCommandMessage.ts @@ -0,0 +1,59 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelMediaCommandMessageMessage implements MessageBase +{ + name = 'ParcelMediaCommandMessage'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.ParcelMediaCommandMessage; + + CommandBlock: { + Flags: number; + Command: number; + Time: number; + }; + + getSize(): number + { + return 12; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt32LE(this.CommandBlock['Flags'], pos); + pos += 4; + buf.writeUInt32LE(this.CommandBlock['Command'], pos); + pos += 4; + buf.writeFloatLE(this.CommandBlock['Time'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjCommandBlock: { + Flags: number, + Command: number, + Time: number + } = { + Flags: 0, + Command: 0, + Time: 0 + }; + newObjCommandBlock['Flags'] = buf.readUInt32LE(pos); + pos += 4; + newObjCommandBlock['Command'] = buf.readUInt32LE(pos); + pos += 4; + newObjCommandBlock['Time'] = buf.readFloatLE(pos); + pos += 4; + this.CommandBlock = newObjCommandBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelMediaUpdate.ts b/lib/classes/messages/ParcelMediaUpdate.ts new file mode 100644 index 0000000..2be1ebd --- /dev/null +++ b/lib/classes/messages/ParcelMediaUpdate.ts @@ -0,0 +1,103 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelMediaUpdateMessage implements MessageBase +{ + name = 'ParcelMediaUpdate'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.ParcelMediaUpdate; + + DataBlock: { + MediaURL: string; + MediaID: UUID; + MediaAutoScale: number; + }; + DataBlockExtended: { + MediaType: string; + MediaDesc: string; + MediaWidth: number; + MediaHeight: number; + MediaLoop: number; + }; + + getSize(): number + { + return (this.DataBlock['MediaURL'].length + 1) + (this.DataBlockExtended['MediaType'].length + 1 + this.DataBlockExtended['MediaDesc'].length + 1) + 26; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt8(this.DataBlock['MediaURL'].length, pos++); + buf.write(this.DataBlock['MediaURL'], pos); + pos += this.DataBlock['MediaURL'].length; + this.DataBlock['MediaID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.DataBlock['MediaAutoScale'], pos++); + buf.writeUInt8(this.DataBlockExtended['MediaType'].length, pos++); + buf.write(this.DataBlockExtended['MediaType'], pos); + pos += this.DataBlockExtended['MediaType'].length; + buf.writeUInt8(this.DataBlockExtended['MediaDesc'].length, pos++); + buf.write(this.DataBlockExtended['MediaDesc'], pos); + pos += this.DataBlockExtended['MediaDesc'].length; + buf.writeInt32LE(this.DataBlockExtended['MediaWidth'], pos); + pos += 4; + buf.writeInt32LE(this.DataBlockExtended['MediaHeight'], pos); + pos += 4; + buf.writeUInt8(this.DataBlockExtended['MediaLoop'], pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjDataBlock: { + MediaURL: string, + MediaID: UUID, + MediaAutoScale: number + } = { + MediaURL: '', + MediaID: UUID.zero(), + MediaAutoScale: 0 + }; + varLength = buf.readUInt8(pos++); + newObjDataBlock['MediaURL'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjDataBlock['MediaID'] = new UUID(buf, pos); + pos += 16; + newObjDataBlock['MediaAutoScale'] = buf.readUInt8(pos++); + this.DataBlock = newObjDataBlock; + const newObjDataBlockExtended: { + MediaType: string, + MediaDesc: string, + MediaWidth: number, + MediaHeight: number, + MediaLoop: number + } = { + MediaType: '', + MediaDesc: '', + MediaWidth: 0, + MediaHeight: 0, + MediaLoop: 0 + }; + varLength = buf.readUInt8(pos++); + newObjDataBlockExtended['MediaType'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjDataBlockExtended['MediaDesc'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjDataBlockExtended['MediaWidth'] = buf.readInt32LE(pos); + pos += 4; + newObjDataBlockExtended['MediaHeight'] = buf.readInt32LE(pos); + pos += 4; + newObjDataBlockExtended['MediaLoop'] = buf.readUInt8(pos++); + this.DataBlockExtended = newObjDataBlockExtended; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelObjectOwnersReply.ts b/lib/classes/messages/ParcelObjectOwnersReply.ts new file mode 100644 index 0000000..29e42ef --- /dev/null +++ b/lib/classes/messages/ParcelObjectOwnersReply.ts @@ -0,0 +1,73 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelObjectOwnersReplyMessage implements MessageBase +{ + name = 'ParcelObjectOwnersReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyLow; + id = Message.ParcelObjectOwnersReply; + + Data: { + OwnerID: UUID; + IsGroupOwned: boolean; + Count: number; + OnlineStatus: boolean; + }[]; + + getSize(): number + { + return ((22) * this.Data.length) + 1; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.Data.length; + buf.writeUInt8(this.Data.length, pos++); + for (let i = 0; i < count; i++) + { + this.Data[i]['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.Data[i]['IsGroupOwned']) ? 1 : 0, pos++); + buf.writeInt32LE(this.Data[i]['Count'], pos); + pos += 4; + buf.writeUInt8((this.Data[i]['OnlineStatus']) ? 1 : 0, pos++); + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.Data = []; + for (let i = 0; i < count; i++) + { + const newObjData: { + OwnerID: UUID, + IsGroupOwned: boolean, + Count: number, + OnlineStatus: boolean + } = { + OwnerID: UUID.zero(), + IsGroupOwned: false, + Count: 0, + OnlineStatus: false + }; + newObjData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjData['IsGroupOwned'] = (buf.readUInt8(pos++) === 1); + newObjData['Count'] = buf.readInt32LE(pos); + pos += 4; + newObjData['OnlineStatus'] = (buf.readUInt8(pos++) === 1); + this.Data.push(newObjData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelObjectOwnersRequest.ts b/lib/classes/messages/ParcelObjectOwnersRequest.ts new file mode 100644 index 0000000..0ddc528 --- /dev/null +++ b/lib/classes/messages/ParcelObjectOwnersRequest.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelObjectOwnersRequestMessage implements MessageBase +{ + name = 'ParcelObjectOwnersRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.ParcelObjectOwnersRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ParcelData: { + LocalID: number; + }; + + getSize(): number + { + return 36; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.ParcelData['LocalID'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjParcelData: { + LocalID: number + } = { + LocalID: 0 + }; + newObjParcelData['LocalID'] = buf.readInt32LE(pos); + pos += 4; + this.ParcelData = newObjParcelData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelOverlay.ts b/lib/classes/messages/ParcelOverlay.ts new file mode 100644 index 0000000..1c5d5bf --- /dev/null +++ b/lib/classes/messages/ParcelOverlay.ts @@ -0,0 +1,56 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelOverlayMessage implements MessageBase +{ + name = 'ParcelOverlay'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ParcelOverlay; + + ParcelData: { + SequenceID: number; + Data: string; + }; + + getSize(): number + { + return (this.ParcelData['Data'].length + 2) + 4; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeInt32LE(this.ParcelData['SequenceID'], pos); + pos += 4; + buf.writeUInt16LE(this.ParcelData['Data'].length, pos); + pos += 2; + buf.write(this.ParcelData['Data'], pos); + pos += this.ParcelData['Data'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjParcelData: { + SequenceID: number, + Data: string + } = { + SequenceID: 0, + Data: '' + }; + newObjParcelData['SequenceID'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjParcelData['Data'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ParcelData = newObjParcelData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelProperties.ts b/lib/classes/messages/ParcelProperties.ts new file mode 100644 index 0000000..d5fb09f --- /dev/null +++ b/lib/classes/messages/ParcelProperties.ts @@ -0,0 +1,397 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelPropertiesMessage implements MessageBase +{ + name = 'ParcelProperties'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyHigh; + id = Message.ParcelProperties; + + ParcelData: { + RequestResult: number; + SequenceID: number; + SnapSelection: boolean; + SelfCount: number; + OtherCount: number; + PublicCount: number; + LocalID: number; + OwnerID: UUID; + IsGroupOwned: boolean; + AuctionID: number; + ClaimDate: number; + ClaimPrice: number; + RentPrice: number; + AABBMin: Vector3; + AABBMax: Vector3; + Bitmap: string; + Area: number; + Status: number; + SimWideMaxPrims: number; + SimWideTotalPrims: number; + MaxPrims: number; + TotalPrims: number; + OwnerPrims: number; + GroupPrims: number; + OtherPrims: number; + SelectedPrims: number; + ParcelPrimBonus: number; + OtherCleanTime: number; + ParcelFlags: number; + SalePrice: number; + Name: string; + Desc: string; + MusicURL: string; + MediaURL: string; + MediaID: UUID; + MediaAutoScale: number; + GroupID: UUID; + PassPrice: number; + PassHours: number; + Category: number; + AuthBuyerID: UUID; + SnapshotID: UUID; + UserLocation: Vector3; + UserLookAt: Vector3; + LandingType: number; + RegionPushOverride: boolean; + RegionDenyAnonymous: boolean; + RegionDenyIdentified: boolean; + RegionDenyTransacted: boolean; + }; + AgeVerificationBlock: { + RegionDenyAgeUnverified: boolean; + }; + RegionAllowAccessBlock: { + RegionAllowAccessOverride: boolean; + }; + + getSize(): number + { + return (this.ParcelData['Bitmap'].length + 2 + this.ParcelData['Name'].length + 1 + this.ParcelData['Desc'].length + 1 + this.ParcelData['MusicURL'].length + 1 + this.ParcelData['MediaURL'].length + 1) + 240; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeInt32LE(this.ParcelData['RequestResult'], pos); + pos += 4; + buf.writeInt32LE(this.ParcelData['SequenceID'], pos); + pos += 4; + buf.writeUInt8((this.ParcelData['SnapSelection']) ? 1 : 0, pos++); + buf.writeInt32LE(this.ParcelData['SelfCount'], pos); + pos += 4; + buf.writeInt32LE(this.ParcelData['OtherCount'], pos); + pos += 4; + buf.writeInt32LE(this.ParcelData['PublicCount'], pos); + pos += 4; + buf.writeInt32LE(this.ParcelData['LocalID'], pos); + pos += 4; + this.ParcelData['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.ParcelData['IsGroupOwned']) ? 1 : 0, pos++); + buf.writeUInt32LE(this.ParcelData['AuctionID'], pos); + pos += 4; + buf.writeInt32LE(this.ParcelData['ClaimDate'], pos); + pos += 4; + buf.writeInt32LE(this.ParcelData['ClaimPrice'], pos); + pos += 4; + buf.writeInt32LE(this.ParcelData['RentPrice'], pos); + pos += 4; + this.ParcelData['AABBMin'].writeToBuffer(buf, pos, false); + pos += 12; + this.ParcelData['AABBMax'].writeToBuffer(buf, pos, false); + pos += 12; + buf.writeUInt16LE(this.ParcelData['Bitmap'].length, pos); + pos += 2; + buf.write(this.ParcelData['Bitmap'], pos); + pos += this.ParcelData['Bitmap'].length; + buf.writeInt32LE(this.ParcelData['Area'], pos); + pos += 4; + buf.writeUInt8(this.ParcelData['Status'], pos++); + buf.writeInt32LE(this.ParcelData['SimWideMaxPrims'], pos); + pos += 4; + buf.writeInt32LE(this.ParcelData['SimWideTotalPrims'], pos); + pos += 4; + buf.writeInt32LE(this.ParcelData['MaxPrims'], pos); + pos += 4; + buf.writeInt32LE(this.ParcelData['TotalPrims'], pos); + pos += 4; + buf.writeInt32LE(this.ParcelData['OwnerPrims'], pos); + pos += 4; + buf.writeInt32LE(this.ParcelData['GroupPrims'], pos); + pos += 4; + buf.writeInt32LE(this.ParcelData['OtherPrims'], pos); + pos += 4; + buf.writeInt32LE(this.ParcelData['SelectedPrims'], pos); + pos += 4; + buf.writeFloatLE(this.ParcelData['ParcelPrimBonus'], pos); + pos += 4; + buf.writeInt32LE(this.ParcelData['OtherCleanTime'], pos); + pos += 4; + buf.writeUInt32LE(this.ParcelData['ParcelFlags'], pos); + pos += 4; + buf.writeInt32LE(this.ParcelData['SalePrice'], pos); + pos += 4; + buf.writeUInt8(this.ParcelData['Name'].length, pos++); + buf.write(this.ParcelData['Name'], pos); + pos += this.ParcelData['Name'].length; + buf.writeUInt8(this.ParcelData['Desc'].length, pos++); + buf.write(this.ParcelData['Desc'], pos); + pos += this.ParcelData['Desc'].length; + buf.writeUInt8(this.ParcelData['MusicURL'].length, pos++); + buf.write(this.ParcelData['MusicURL'], pos); + pos += this.ParcelData['MusicURL'].length; + buf.writeUInt8(this.ParcelData['MediaURL'].length, pos++); + buf.write(this.ParcelData['MediaURL'], pos); + pos += this.ParcelData['MediaURL'].length; + this.ParcelData['MediaID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.ParcelData['MediaAutoScale'], pos++); + this.ParcelData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.ParcelData['PassPrice'], pos); + pos += 4; + buf.writeFloatLE(this.ParcelData['PassHours'], pos); + pos += 4; + buf.writeUInt8(this.ParcelData['Category'], pos++); + this.ParcelData['AuthBuyerID'].writeToBuffer(buf, pos); + pos += 16; + this.ParcelData['SnapshotID'].writeToBuffer(buf, pos); + pos += 16; + this.ParcelData['UserLocation'].writeToBuffer(buf, pos, false); + pos += 12; + this.ParcelData['UserLookAt'].writeToBuffer(buf, pos, false); + pos += 12; + buf.writeUInt8(this.ParcelData['LandingType'], pos++); + buf.writeUInt8((this.ParcelData['RegionPushOverride']) ? 1 : 0, pos++); + buf.writeUInt8((this.ParcelData['RegionDenyAnonymous']) ? 1 : 0, pos++); + buf.writeUInt8((this.ParcelData['RegionDenyIdentified']) ? 1 : 0, pos++); + buf.writeUInt8((this.ParcelData['RegionDenyTransacted']) ? 1 : 0, pos++); + buf.writeUInt8((this.AgeVerificationBlock['RegionDenyAgeUnverified']) ? 1 : 0, pos++); + buf.writeUInt8((this.RegionAllowAccessBlock['RegionAllowAccessOverride']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjParcelData: { + RequestResult: number, + SequenceID: number, + SnapSelection: boolean, + SelfCount: number, + OtherCount: number, + PublicCount: number, + LocalID: number, + OwnerID: UUID, + IsGroupOwned: boolean, + AuctionID: number, + ClaimDate: number, + ClaimPrice: number, + RentPrice: number, + AABBMin: Vector3, + AABBMax: Vector3, + Bitmap: string, + Area: number, + Status: number, + SimWideMaxPrims: number, + SimWideTotalPrims: number, + MaxPrims: number, + TotalPrims: number, + OwnerPrims: number, + GroupPrims: number, + OtherPrims: number, + SelectedPrims: number, + ParcelPrimBonus: number, + OtherCleanTime: number, + ParcelFlags: number, + SalePrice: number, + Name: string, + Desc: string, + MusicURL: string, + MediaURL: string, + MediaID: UUID, + MediaAutoScale: number, + GroupID: UUID, + PassPrice: number, + PassHours: number, + Category: number, + AuthBuyerID: UUID, + SnapshotID: UUID, + UserLocation: Vector3, + UserLookAt: Vector3, + LandingType: number, + RegionPushOverride: boolean, + RegionDenyAnonymous: boolean, + RegionDenyIdentified: boolean, + RegionDenyTransacted: boolean + } = { + RequestResult: 0, + SequenceID: 0, + SnapSelection: false, + SelfCount: 0, + OtherCount: 0, + PublicCount: 0, + LocalID: 0, + OwnerID: UUID.zero(), + IsGroupOwned: false, + AuctionID: 0, + ClaimDate: 0, + ClaimPrice: 0, + RentPrice: 0, + AABBMin: Vector3.getZero(), + AABBMax: Vector3.getZero(), + Bitmap: '', + Area: 0, + Status: 0, + SimWideMaxPrims: 0, + SimWideTotalPrims: 0, + MaxPrims: 0, + TotalPrims: 0, + OwnerPrims: 0, + GroupPrims: 0, + OtherPrims: 0, + SelectedPrims: 0, + ParcelPrimBonus: 0, + OtherCleanTime: 0, + ParcelFlags: 0, + SalePrice: 0, + Name: '', + Desc: '', + MusicURL: '', + MediaURL: '', + MediaID: UUID.zero(), + MediaAutoScale: 0, + GroupID: UUID.zero(), + PassPrice: 0, + PassHours: 0, + Category: 0, + AuthBuyerID: UUID.zero(), + SnapshotID: UUID.zero(), + UserLocation: Vector3.getZero(), + UserLookAt: Vector3.getZero(), + LandingType: 0, + RegionPushOverride: false, + RegionDenyAnonymous: false, + RegionDenyIdentified: false, + RegionDenyTransacted: false + }; + newObjParcelData['RequestResult'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['SequenceID'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['SnapSelection'] = (buf.readUInt8(pos++) === 1); + newObjParcelData['SelfCount'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['OtherCount'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['PublicCount'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['LocalID'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjParcelData['IsGroupOwned'] = (buf.readUInt8(pos++) === 1); + newObjParcelData['AuctionID'] = buf.readUInt32LE(pos); + pos += 4; + newObjParcelData['ClaimDate'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['ClaimPrice'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['RentPrice'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['AABBMin'] = new Vector3(buf, pos, false); + pos += 12; + newObjParcelData['AABBMax'] = new Vector3(buf, pos, false); + pos += 12; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjParcelData['Bitmap'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjParcelData['Area'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['Status'] = buf.readUInt8(pos++); + newObjParcelData['SimWideMaxPrims'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['SimWideTotalPrims'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['MaxPrims'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['TotalPrims'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['OwnerPrims'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['GroupPrims'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['OtherPrims'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['SelectedPrims'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['ParcelPrimBonus'] = buf.readFloatLE(pos); + pos += 4; + newObjParcelData['OtherCleanTime'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['ParcelFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjParcelData['SalePrice'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjParcelData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjParcelData['Desc'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjParcelData['MusicURL'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjParcelData['MediaURL'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjParcelData['MediaID'] = new UUID(buf, pos); + pos += 16; + newObjParcelData['MediaAutoScale'] = buf.readUInt8(pos++); + newObjParcelData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjParcelData['PassPrice'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['PassHours'] = buf.readFloatLE(pos); + pos += 4; + newObjParcelData['Category'] = buf.readUInt8(pos++); + newObjParcelData['AuthBuyerID'] = new UUID(buf, pos); + pos += 16; + newObjParcelData['SnapshotID'] = new UUID(buf, pos); + pos += 16; + newObjParcelData['UserLocation'] = new Vector3(buf, pos, false); + pos += 12; + newObjParcelData['UserLookAt'] = new Vector3(buf, pos, false); + pos += 12; + newObjParcelData['LandingType'] = buf.readUInt8(pos++); + newObjParcelData['RegionPushOverride'] = (buf.readUInt8(pos++) === 1); + newObjParcelData['RegionDenyAnonymous'] = (buf.readUInt8(pos++) === 1); + newObjParcelData['RegionDenyIdentified'] = (buf.readUInt8(pos++) === 1); + newObjParcelData['RegionDenyTransacted'] = (buf.readUInt8(pos++) === 1); + this.ParcelData = newObjParcelData; + const newObjAgeVerificationBlock: { + RegionDenyAgeUnverified: boolean + } = { + RegionDenyAgeUnverified: false + }; + newObjAgeVerificationBlock['RegionDenyAgeUnverified'] = (buf.readUInt8(pos++) === 1); + this.AgeVerificationBlock = newObjAgeVerificationBlock; + const newObjRegionAllowAccessBlock: { + RegionAllowAccessOverride: boolean + } = { + RegionAllowAccessOverride: false + }; + newObjRegionAllowAccessBlock['RegionAllowAccessOverride'] = (buf.readUInt8(pos++) === 1); + this.RegionAllowAccessBlock = newObjRegionAllowAccessBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelPropertiesRequest.ts b/lib/classes/messages/ParcelPropertiesRequest.ts new file mode 100644 index 0000000..03f1e32 --- /dev/null +++ b/lib/classes/messages/ParcelPropertiesRequest.ts @@ -0,0 +1,99 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelPropertiesRequestMessage implements MessageBase +{ + name = 'ParcelPropertiesRequest'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyMedium; + id = Message.ParcelPropertiesRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ParcelData: { + SequenceID: number; + West: number; + South: number; + East: number; + North: number; + SnapSelection: boolean; + }; + + getSize(): number + { + return 53; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.ParcelData['SequenceID'], pos); + pos += 4; + buf.writeFloatLE(this.ParcelData['West'], pos); + pos += 4; + buf.writeFloatLE(this.ParcelData['South'], pos); + pos += 4; + buf.writeFloatLE(this.ParcelData['East'], pos); + pos += 4; + buf.writeFloatLE(this.ParcelData['North'], pos); + pos += 4; + buf.writeUInt8((this.ParcelData['SnapSelection']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjParcelData: { + SequenceID: number, + West: number, + South: number, + East: number, + North: number, + SnapSelection: boolean + } = { + SequenceID: 0, + West: 0, + South: 0, + East: 0, + North: 0, + SnapSelection: false + }; + newObjParcelData['SequenceID'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['West'] = buf.readFloatLE(pos); + pos += 4; + newObjParcelData['South'] = buf.readFloatLE(pos); + pos += 4; + newObjParcelData['East'] = buf.readFloatLE(pos); + pos += 4; + newObjParcelData['North'] = buf.readFloatLE(pos); + pos += 4; + newObjParcelData['SnapSelection'] = (buf.readUInt8(pos++) === 1); + this.ParcelData = newObjParcelData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelPropertiesRequestByID.ts b/lib/classes/messages/ParcelPropertiesRequestByID.ts new file mode 100644 index 0000000..8e976be --- /dev/null +++ b/lib/classes/messages/ParcelPropertiesRequestByID.ts @@ -0,0 +1,73 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelPropertiesRequestByIDMessage implements MessageBase +{ + name = 'ParcelPropertiesRequestByID'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ParcelPropertiesRequestByID; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ParcelData: { + SequenceID: number; + LocalID: number; + }; + + getSize(): number + { + return 40; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.ParcelData['SequenceID'], pos); + pos += 4; + buf.writeInt32LE(this.ParcelData['LocalID'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjParcelData: { + SequenceID: number, + LocalID: number + } = { + SequenceID: 0, + LocalID: 0 + }; + newObjParcelData['SequenceID'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['LocalID'] = buf.readInt32LE(pos); + pos += 4; + this.ParcelData = newObjParcelData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelPropertiesUpdate.ts b/lib/classes/messages/ParcelPropertiesUpdate.ts new file mode 100644 index 0000000..884a030 --- /dev/null +++ b/lib/classes/messages/ParcelPropertiesUpdate.ts @@ -0,0 +1,195 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelPropertiesUpdateMessage implements MessageBase +{ + name = 'ParcelPropertiesUpdate'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ParcelPropertiesUpdate; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ParcelData: { + LocalID: number; + Flags: number; + ParcelFlags: number; + SalePrice: number; + Name: string; + Desc: string; + MusicURL: string; + MediaURL: string; + MediaID: UUID; + MediaAutoScale: number; + GroupID: UUID; + PassPrice: number; + PassHours: number; + Category: number; + AuthBuyerID: UUID; + SnapshotID: UUID; + UserLocation: Vector3; + UserLookAt: Vector3; + LandingType: number; + }; + + getSize(): number + { + return (this.ParcelData['Name'].length + 1 + this.ParcelData['Desc'].length + 1 + this.ParcelData['MusicURL'].length + 1 + this.ParcelData['MediaURL'].length + 1) + 147; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.ParcelData['LocalID'], pos); + pos += 4; + buf.writeUInt32LE(this.ParcelData['Flags'], pos); + pos += 4; + buf.writeUInt32LE(this.ParcelData['ParcelFlags'], pos); + pos += 4; + buf.writeInt32LE(this.ParcelData['SalePrice'], pos); + pos += 4; + buf.writeUInt8(this.ParcelData['Name'].length, pos++); + buf.write(this.ParcelData['Name'], pos); + pos += this.ParcelData['Name'].length; + buf.writeUInt8(this.ParcelData['Desc'].length, pos++); + buf.write(this.ParcelData['Desc'], pos); + pos += this.ParcelData['Desc'].length; + buf.writeUInt8(this.ParcelData['MusicURL'].length, pos++); + buf.write(this.ParcelData['MusicURL'], pos); + pos += this.ParcelData['MusicURL'].length; + buf.writeUInt8(this.ParcelData['MediaURL'].length, pos++); + buf.write(this.ParcelData['MediaURL'], pos); + pos += this.ParcelData['MediaURL'].length; + this.ParcelData['MediaID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.ParcelData['MediaAutoScale'], pos++); + this.ParcelData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.ParcelData['PassPrice'], pos); + pos += 4; + buf.writeFloatLE(this.ParcelData['PassHours'], pos); + pos += 4; + buf.writeUInt8(this.ParcelData['Category'], pos++); + this.ParcelData['AuthBuyerID'].writeToBuffer(buf, pos); + pos += 16; + this.ParcelData['SnapshotID'].writeToBuffer(buf, pos); + pos += 16; + this.ParcelData['UserLocation'].writeToBuffer(buf, pos, false); + pos += 12; + this.ParcelData['UserLookAt'].writeToBuffer(buf, pos, false); + pos += 12; + buf.writeUInt8(this.ParcelData['LandingType'], pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjParcelData: { + LocalID: number, + Flags: number, + ParcelFlags: number, + SalePrice: number, + Name: string, + Desc: string, + MusicURL: string, + MediaURL: string, + MediaID: UUID, + MediaAutoScale: number, + GroupID: UUID, + PassPrice: number, + PassHours: number, + Category: number, + AuthBuyerID: UUID, + SnapshotID: UUID, + UserLocation: Vector3, + UserLookAt: Vector3, + LandingType: number + } = { + LocalID: 0, + Flags: 0, + ParcelFlags: 0, + SalePrice: 0, + Name: '', + Desc: '', + MusicURL: '', + MediaURL: '', + MediaID: UUID.zero(), + MediaAutoScale: 0, + GroupID: UUID.zero(), + PassPrice: 0, + PassHours: 0, + Category: 0, + AuthBuyerID: UUID.zero(), + SnapshotID: UUID.zero(), + UserLocation: Vector3.getZero(), + UserLookAt: Vector3.getZero(), + LandingType: 0 + }; + newObjParcelData['LocalID'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + newObjParcelData['ParcelFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjParcelData['SalePrice'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjParcelData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjParcelData['Desc'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjParcelData['MusicURL'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjParcelData['MediaURL'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjParcelData['MediaID'] = new UUID(buf, pos); + pos += 16; + newObjParcelData['MediaAutoScale'] = buf.readUInt8(pos++); + newObjParcelData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjParcelData['PassPrice'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['PassHours'] = buf.readFloatLE(pos); + pos += 4; + newObjParcelData['Category'] = buf.readUInt8(pos++); + newObjParcelData['AuthBuyerID'] = new UUID(buf, pos); + pos += 16; + newObjParcelData['SnapshotID'] = new UUID(buf, pos); + pos += 16; + newObjParcelData['UserLocation'] = new Vector3(buf, pos, false); + pos += 12; + newObjParcelData['UserLookAt'] = new Vector3(buf, pos, false); + pos += 12; + newObjParcelData['LandingType'] = buf.readUInt8(pos++); + this.ParcelData = newObjParcelData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelReclaim.ts b/lib/classes/messages/ParcelReclaim.ts new file mode 100644 index 0000000..b889d33 --- /dev/null +++ b/lib/classes/messages/ParcelReclaim.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelReclaimMessage implements MessageBase +{ + name = 'ParcelReclaim'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.ParcelReclaim; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + LocalID: number; + }; + + getSize(): number + { + return 36; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.Data['LocalID'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + LocalID: number + } = { + LocalID: 0 + }; + newObjData['LocalID'] = buf.readInt32LE(pos); + pos += 4; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelRelease.ts b/lib/classes/messages/ParcelRelease.ts new file mode 100644 index 0000000..468686c --- /dev/null +++ b/lib/classes/messages/ParcelRelease.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelReleaseMessage implements MessageBase +{ + name = 'ParcelRelease'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.ParcelRelease; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + LocalID: number; + }; + + getSize(): number + { + return 36; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.Data['LocalID'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + LocalID: number + } = { + LocalID: 0 + }; + newObjData['LocalID'] = buf.readInt32LE(pos); + pos += 4; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelRename.ts b/lib/classes/messages/ParcelRename.ts new file mode 100644 index 0000000..0f3e1ed --- /dev/null +++ b/lib/classes/messages/ParcelRename.ts @@ -0,0 +1,75 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelRenameMessage implements MessageBase +{ + name = 'ParcelRename'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.ParcelRename; + + ParcelData: { + ParcelID: UUID; + NewName: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.ParcelData, 'NewName', 1) + 16) * this.ParcelData.length) + 1; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.ParcelData.length; + buf.writeUInt8(this.ParcelData.length, pos++); + for (let i = 0; i < count; i++) + { + this.ParcelData[i]['ParcelID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.ParcelData[i]['NewName'].length, pos++); + buf.write(this.ParcelData[i]['NewName'], pos); + pos += this.ParcelData[i]['NewName'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.ParcelData = []; + for (let i = 0; i < count; i++) + { + const newObjParcelData: { + ParcelID: UUID, + NewName: string + } = { + ParcelID: UUID.zero(), + NewName: '' + }; + newObjParcelData['ParcelID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjParcelData['NewName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ParcelData.push(newObjParcelData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelReturnObjects.ts b/lib/classes/messages/ParcelReturnObjects.ts new file mode 100644 index 0000000..6a6eb31 --- /dev/null +++ b/lib/classes/messages/ParcelReturnObjects.ts @@ -0,0 +1,119 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelReturnObjectsMessage implements MessageBase +{ + name = 'ParcelReturnObjects'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ParcelReturnObjects; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ParcelData: { + LocalID: number; + ReturnType: number; + }; + TaskIDs: { + TaskID: UUID; + }[]; + OwnerIDs: { + OwnerID: UUID; + }[]; + + getSize(): number + { + return ((16) * this.TaskIDs.length) + ((16) * this.OwnerIDs.length) + 42; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.ParcelData['LocalID'], pos); + pos += 4; + buf.writeUInt32LE(this.ParcelData['ReturnType'], pos); + pos += 4; + let count = this.TaskIDs.length; + buf.writeUInt8(this.TaskIDs.length, pos++); + for (let i = 0; i < count; i++) + { + this.TaskIDs[i]['TaskID'].writeToBuffer(buf, pos); + pos += 16; + } + count = this.OwnerIDs.length; + buf.writeUInt8(this.OwnerIDs.length, pos++); + for (let i = 0; i < count; i++) + { + this.OwnerIDs[i]['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjParcelData: { + LocalID: number, + ReturnType: number + } = { + LocalID: 0, + ReturnType: 0 + }; + newObjParcelData['LocalID'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['ReturnType'] = buf.readUInt32LE(pos); + pos += 4; + this.ParcelData = newObjParcelData; + let count = buf.readUInt8(pos++); + this.TaskIDs = []; + for (let i = 0; i < count; i++) + { + const newObjTaskIDs: { + TaskID: UUID + } = { + TaskID: UUID.zero() + }; + newObjTaskIDs['TaskID'] = new UUID(buf, pos); + pos += 16; + this.TaskIDs.push(newObjTaskIDs); + } + count = buf.readUInt8(pos++); + this.OwnerIDs = []; + for (let i = 0; i < count; i++) + { + const newObjOwnerIDs: { + OwnerID: UUID + } = { + OwnerID: UUID.zero() + }; + newObjOwnerIDs['OwnerID'] = new UUID(buf, pos); + pos += 16; + this.OwnerIDs.push(newObjOwnerIDs); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelSales.ts b/lib/classes/messages/ParcelSales.ts new file mode 100644 index 0000000..1696a0f --- /dev/null +++ b/lib/classes/messages/ParcelSales.ts @@ -0,0 +1,63 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelSalesMessage implements MessageBase +{ + name = 'ParcelSales'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.ParcelSales; + + ParcelData: { + ParcelID: UUID; + BuyerID: UUID; + }[]; + + getSize(): number + { + return ((32) * this.ParcelData.length) + 1; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.ParcelData.length; + buf.writeUInt8(this.ParcelData.length, pos++); + for (let i = 0; i < count; i++) + { + this.ParcelData[i]['ParcelID'].writeToBuffer(buf, pos); + pos += 16; + this.ParcelData[i]['BuyerID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.ParcelData = []; + for (let i = 0; i < count; i++) + { + const newObjParcelData: { + ParcelID: UUID, + BuyerID: UUID + } = { + ParcelID: UUID.zero(), + BuyerID: UUID.zero() + }; + newObjParcelData['ParcelID'] = new UUID(buf, pos); + pos += 16; + newObjParcelData['BuyerID'] = new UUID(buf, pos); + pos += 16; + this.ParcelData.push(newObjParcelData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelSelectObjects.ts b/lib/classes/messages/ParcelSelectObjects.ts new file mode 100644 index 0000000..c698793 --- /dev/null +++ b/lib/classes/messages/ParcelSelectObjects.ts @@ -0,0 +1,96 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelSelectObjectsMessage implements MessageBase +{ + name = 'ParcelSelectObjects'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ParcelSelectObjects; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ParcelData: { + LocalID: number; + ReturnType: number; + }; + ReturnIDs: { + ReturnID: UUID; + }[]; + + getSize(): number + { + return ((16) * this.ReturnIDs.length) + 41; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.ParcelData['LocalID'], pos); + pos += 4; + buf.writeUInt32LE(this.ParcelData['ReturnType'], pos); + pos += 4; + const count = this.ReturnIDs.length; + buf.writeUInt8(this.ReturnIDs.length, pos++); + for (let i = 0; i < count; i++) + { + this.ReturnIDs[i]['ReturnID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjParcelData: { + LocalID: number, + ReturnType: number + } = { + LocalID: 0, + ReturnType: 0 + }; + newObjParcelData['LocalID'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['ReturnType'] = buf.readUInt32LE(pos); + pos += 4; + this.ParcelData = newObjParcelData; + const count = buf.readUInt8(pos++); + this.ReturnIDs = []; + for (let i = 0; i < count; i++) + { + const newObjReturnIDs: { + ReturnID: UUID + } = { + ReturnID: UUID.zero() + }; + newObjReturnIDs['ReturnID'] = new UUID(buf, pos); + pos += 16; + this.ReturnIDs.push(newObjReturnIDs); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ParcelSetOtherCleanTime.ts b/lib/classes/messages/ParcelSetOtherCleanTime.ts new file mode 100644 index 0000000..209717f --- /dev/null +++ b/lib/classes/messages/ParcelSetOtherCleanTime.ts @@ -0,0 +1,73 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ParcelSetOtherCleanTimeMessage implements MessageBase +{ + name = 'ParcelSetOtherCleanTime'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ParcelSetOtherCleanTime; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ParcelData: { + LocalID: number; + OtherCleanTime: number; + }; + + getSize(): number + { + return 40; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.ParcelData['LocalID'], pos); + pos += 4; + buf.writeInt32LE(this.ParcelData['OtherCleanTime'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjParcelData: { + LocalID: number, + OtherCleanTime: number + } = { + LocalID: 0, + OtherCleanTime: 0 + }; + newObjParcelData['LocalID'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['OtherCleanTime'] = buf.readInt32LE(pos); + pos += 4; + this.ParcelData = newObjParcelData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/PayPriceReply.ts b/lib/classes/messages/PayPriceReply.ts new file mode 100644 index 0000000..649a026 --- /dev/null +++ b/lib/classes/messages/PayPriceReply.ts @@ -0,0 +1,76 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class PayPriceReplyMessage implements MessageBase +{ + name = 'PayPriceReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.PayPriceReply; + + ObjectData: { + ObjectID: UUID; + DefaultPayPrice: number; + }; + ButtonData: { + PayButton: number; + }[]; + + getSize(): number + { + return ((4) * this.ButtonData.length) + 21; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.ObjectData['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.ObjectData['DefaultPayPrice'], pos); + pos += 4; + const count = this.ButtonData.length; + buf.writeUInt8(this.ButtonData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeInt32LE(this.ButtonData[i]['PayButton'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjObjectData: { + ObjectID: UUID, + DefaultPayPrice: number + } = { + ObjectID: UUID.zero(), + DefaultPayPrice: 0 + }; + newObjObjectData['ObjectID'] = new UUID(buf, pos); + pos += 16; + newObjObjectData['DefaultPayPrice'] = buf.readInt32LE(pos); + pos += 4; + this.ObjectData = newObjObjectData; + const count = buf.readUInt8(pos++); + this.ButtonData = []; + for (let i = 0; i < count; i++) + { + const newObjButtonData: { + PayButton: number + } = { + PayButton: 0 + }; + newObjButtonData['PayButton'] = buf.readInt32LE(pos); + pos += 4; + this.ButtonData.push(newObjButtonData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/PickDelete.ts b/lib/classes/messages/PickDelete.ts new file mode 100644 index 0000000..076eb63 --- /dev/null +++ b/lib/classes/messages/PickDelete.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class PickDeleteMessage implements MessageBase +{ + name = 'PickDelete'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.PickDelete; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + PickID: UUID; + }; + + getSize(): number + { + return 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['PickID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + PickID: UUID + } = { + PickID: UUID.zero() + }; + newObjData['PickID'] = new UUID(buf, pos); + pos += 16; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/PickGodDelete.ts b/lib/classes/messages/PickGodDelete.ts new file mode 100644 index 0000000..563f67c --- /dev/null +++ b/lib/classes/messages/PickGodDelete.ts @@ -0,0 +1,73 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class PickGodDeleteMessage implements MessageBase +{ + name = 'PickGodDelete'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.PickGodDelete; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + PickID: UUID; + QueryID: UUID; + }; + + getSize(): number + { + return 64; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['PickID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['QueryID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + PickID: UUID, + QueryID: UUID + } = { + PickID: UUID.zero(), + QueryID: UUID.zero() + }; + newObjData['PickID'] = new UUID(buf, pos); + pos += 16; + newObjData['QueryID'] = new UUID(buf, pos); + pos += 16; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/PickInfoReply.ts b/lib/classes/messages/PickInfoReply.ts new file mode 100644 index 0000000..33a0b60 --- /dev/null +++ b/lib/classes/messages/PickInfoReply.ts @@ -0,0 +1,152 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class PickInfoReplyMessage implements MessageBase +{ + name = 'PickInfoReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.PickInfoReply; + + AgentData: { + AgentID: UUID; + }; + Data: { + PickID: UUID; + CreatorID: UUID; + TopPick: boolean; + ParcelID: UUID; + Name: string; + Desc: string; + SnapshotID: UUID; + User: string; + OriginalName: string; + SimName: string; + PosGlobal: Vector3; + SortOrder: number; + Enabled: boolean; + }; + + getSize(): number + { + return (this.Data['Name'].length + 1 + this.Data['Desc'].length + 2 + this.Data['User'].length + 1 + this.Data['OriginalName'].length + 1 + this.Data['SimName'].length + 1) + 110; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['PickID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['CreatorID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.Data['TopPick']) ? 1 : 0, pos++); + this.Data['ParcelID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.Data['Name'].length, pos++); + buf.write(this.Data['Name'], pos); + pos += this.Data['Name'].length; + buf.writeUInt16LE(this.Data['Desc'].length, pos); + pos += 2; + buf.write(this.Data['Desc'], pos); + pos += this.Data['Desc'].length; + this.Data['SnapshotID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.Data['User'].length, pos++); + buf.write(this.Data['User'], pos); + pos += this.Data['User'].length; + buf.writeUInt8(this.Data['OriginalName'].length, pos++); + buf.write(this.Data['OriginalName'], pos); + pos += this.Data['OriginalName'].length; + buf.writeUInt8(this.Data['SimName'].length, pos++); + buf.write(this.Data['SimName'], pos); + pos += this.Data['SimName'].length; + this.Data['PosGlobal'].writeToBuffer(buf, pos, true); + pos += 24; + buf.writeInt32LE(this.Data['SortOrder'], pos); + pos += 4; + buf.writeUInt8((this.Data['Enabled']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + PickID: UUID, + CreatorID: UUID, + TopPick: boolean, + ParcelID: UUID, + Name: string, + Desc: string, + SnapshotID: UUID, + User: string, + OriginalName: string, + SimName: string, + PosGlobal: Vector3, + SortOrder: number, + Enabled: boolean + } = { + PickID: UUID.zero(), + CreatorID: UUID.zero(), + TopPick: false, + ParcelID: UUID.zero(), + Name: '', + Desc: '', + SnapshotID: UUID.zero(), + User: '', + OriginalName: '', + SimName: '', + PosGlobal: Vector3.getZero(), + SortOrder: 0, + Enabled: false + }; + newObjData['PickID'] = new UUID(buf, pos); + pos += 16; + newObjData['CreatorID'] = new UUID(buf, pos); + pos += 16; + newObjData['TopPick'] = (buf.readUInt8(pos++) === 1); + newObjData['ParcelID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjData['Desc'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjData['SnapshotID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjData['User'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjData['OriginalName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjData['SimName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjData['PosGlobal'] = new Vector3(buf, pos, true); + pos += 24; + newObjData['SortOrder'] = buf.readInt32LE(pos); + pos += 4; + newObjData['Enabled'] = (buf.readUInt8(pos++) === 1); + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/PickInfoUpdate.ts b/lib/classes/messages/PickInfoUpdate.ts new file mode 100644 index 0000000..77ec2c9 --- /dev/null +++ b/lib/classes/messages/PickInfoUpdate.ts @@ -0,0 +1,132 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class PickInfoUpdateMessage implements MessageBase +{ + name = 'PickInfoUpdate'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.PickInfoUpdate; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + PickID: UUID; + CreatorID: UUID; + TopPick: boolean; + ParcelID: UUID; + Name: string; + Desc: string; + SnapshotID: UUID; + PosGlobal: Vector3; + SortOrder: number; + Enabled: boolean; + }; + + getSize(): number + { + return (this.Data['Name'].length + 1 + this.Data['Desc'].length + 2) + 126; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['PickID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['CreatorID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.Data['TopPick']) ? 1 : 0, pos++); + this.Data['ParcelID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.Data['Name'].length, pos++); + buf.write(this.Data['Name'], pos); + pos += this.Data['Name'].length; + buf.writeUInt16LE(this.Data['Desc'].length, pos); + pos += 2; + buf.write(this.Data['Desc'], pos); + pos += this.Data['Desc'].length; + this.Data['SnapshotID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['PosGlobal'].writeToBuffer(buf, pos, true); + pos += 24; + buf.writeInt32LE(this.Data['SortOrder'], pos); + pos += 4; + buf.writeUInt8((this.Data['Enabled']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + PickID: UUID, + CreatorID: UUID, + TopPick: boolean, + ParcelID: UUID, + Name: string, + Desc: string, + SnapshotID: UUID, + PosGlobal: Vector3, + SortOrder: number, + Enabled: boolean + } = { + PickID: UUID.zero(), + CreatorID: UUID.zero(), + TopPick: false, + ParcelID: UUID.zero(), + Name: '', + Desc: '', + SnapshotID: UUID.zero(), + PosGlobal: Vector3.getZero(), + SortOrder: 0, + Enabled: false + }; + newObjData['PickID'] = new UUID(buf, pos); + pos += 16; + newObjData['CreatorID'] = new UUID(buf, pos); + pos += 16; + newObjData['TopPick'] = (buf.readUInt8(pos++) === 1); + newObjData['ParcelID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjData['Desc'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjData['SnapshotID'] = new UUID(buf, pos); + pos += 16; + newObjData['PosGlobal'] = new Vector3(buf, pos, true); + pos += 24; + newObjData['SortOrder'] = buf.readInt32LE(pos); + pos += 4; + newObjData['Enabled'] = (buf.readUInt8(pos++) === 1); + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/PlacesQuery.ts b/lib/classes/messages/PlacesQuery.ts new file mode 100644 index 0000000..fca1845 --- /dev/null +++ b/lib/classes/messages/PlacesQuery.ts @@ -0,0 +1,109 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class PlacesQueryMessage implements MessageBase +{ + name = 'PlacesQuery'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.PlacesQuery; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + QueryID: UUID; + }; + TransactionData: { + TransactionID: UUID; + }; + QueryData: { + QueryText: string; + QueryFlags: number; + Category: number; + SimName: string; + }; + + getSize(): number + { + return (this.QueryData['QueryText'].length + 1 + this.QueryData['SimName'].length + 1) + 69; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['QueryID'].writeToBuffer(buf, pos); + pos += 16; + this.TransactionData['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.QueryData['QueryText'].length, pos++); + buf.write(this.QueryData['QueryText'], pos); + pos += this.QueryData['QueryText'].length; + buf.writeUInt32LE(this.QueryData['QueryFlags'], pos); + pos += 4; + buf.writeInt8(this.QueryData['Category'], pos++); + buf.writeUInt8(this.QueryData['SimName'].length, pos++); + buf.write(this.QueryData['SimName'], pos); + pos += this.QueryData['SimName'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + QueryID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + QueryID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['QueryID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjTransactionData: { + TransactionID: UUID + } = { + TransactionID: UUID.zero() + }; + newObjTransactionData['TransactionID'] = new UUID(buf, pos); + pos += 16; + this.TransactionData = newObjTransactionData; + const newObjQueryData: { + QueryText: string, + QueryFlags: number, + Category: number, + SimName: string + } = { + QueryText: '', + QueryFlags: 0, + Category: 0, + SimName: '' + }; + varLength = buf.readUInt8(pos++); + newObjQueryData['QueryText'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjQueryData['QueryFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjQueryData['Category'] = buf.readInt8(pos++); + varLength = buf.readUInt8(pos++); + newObjQueryData['SimName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.QueryData = newObjQueryData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/PlacesReply.ts b/lib/classes/messages/PlacesReply.ts new file mode 100644 index 0000000..d857449 --- /dev/null +++ b/lib/classes/messages/PlacesReply.ts @@ -0,0 +1,187 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class PlacesReplyMessage implements MessageBase +{ + name = 'PlacesReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyLow; + id = Message.PlacesReply; + + AgentData: { + AgentID: UUID; + QueryID: UUID; + }; + TransactionData: { + TransactionID: UUID; + }; + QueryData: { + OwnerID: UUID; + Name: string; + Desc: string; + ActualArea: number; + BillableArea: number; + Flags: number; + GlobalX: number; + GlobalY: number; + GlobalZ: number; + SimName: string; + SnapshotID: UUID; + Dwell: number; + Price: number; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.QueryData, 'Name', 1) + this.calculateVarVarSize(this.QueryData, 'Desc', 1) + this.calculateVarVarSize(this.QueryData, 'SimName', 1) + 61) * this.QueryData.length) + 49; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['QueryID'].writeToBuffer(buf, pos); + pos += 16; + this.TransactionData['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.QueryData.length; + buf.writeUInt8(this.QueryData.length, pos++); + for (let i = 0; i < count; i++) + { + this.QueryData[i]['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.QueryData[i]['Name'].length, pos++); + buf.write(this.QueryData[i]['Name'], pos); + pos += this.QueryData[i]['Name'].length; + buf.writeUInt8(this.QueryData[i]['Desc'].length, pos++); + buf.write(this.QueryData[i]['Desc'], pos); + pos += this.QueryData[i]['Desc'].length; + buf.writeInt32LE(this.QueryData[i]['ActualArea'], pos); + pos += 4; + buf.writeInt32LE(this.QueryData[i]['BillableArea'], pos); + pos += 4; + buf.writeUInt8(this.QueryData[i]['Flags'], pos++); + buf.writeFloatLE(this.QueryData[i]['GlobalX'], pos); + pos += 4; + buf.writeFloatLE(this.QueryData[i]['GlobalY'], pos); + pos += 4; + buf.writeFloatLE(this.QueryData[i]['GlobalZ'], pos); + pos += 4; + buf.writeUInt8(this.QueryData[i]['SimName'].length, pos++); + buf.write(this.QueryData[i]['SimName'], pos); + pos += this.QueryData[i]['SimName'].length; + this.QueryData[i]['SnapshotID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeFloatLE(this.QueryData[i]['Dwell'], pos); + pos += 4; + buf.writeInt32LE(this.QueryData[i]['Price'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + QueryID: UUID + } = { + AgentID: UUID.zero(), + QueryID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['QueryID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjTransactionData: { + TransactionID: UUID + } = { + TransactionID: UUID.zero() + }; + newObjTransactionData['TransactionID'] = new UUID(buf, pos); + pos += 16; + this.TransactionData = newObjTransactionData; + const count = buf.readUInt8(pos++); + this.QueryData = []; + for (let i = 0; i < count; i++) + { + const newObjQueryData: { + OwnerID: UUID, + Name: string, + Desc: string, + ActualArea: number, + BillableArea: number, + Flags: number, + GlobalX: number, + GlobalY: number, + GlobalZ: number, + SimName: string, + SnapshotID: UUID, + Dwell: number, + Price: number + } = { + OwnerID: UUID.zero(), + Name: '', + Desc: '', + ActualArea: 0, + BillableArea: 0, + Flags: 0, + GlobalX: 0, + GlobalY: 0, + GlobalZ: 0, + SimName: '', + SnapshotID: UUID.zero(), + Dwell: 0, + Price: 0 + }; + newObjQueryData['OwnerID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjQueryData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjQueryData['Desc'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjQueryData['ActualArea'] = buf.readInt32LE(pos); + pos += 4; + newObjQueryData['BillableArea'] = buf.readInt32LE(pos); + pos += 4; + newObjQueryData['Flags'] = buf.readUInt8(pos++); + newObjQueryData['GlobalX'] = buf.readFloatLE(pos); + pos += 4; + newObjQueryData['GlobalY'] = buf.readFloatLE(pos); + pos += 4; + newObjQueryData['GlobalZ'] = buf.readFloatLE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjQueryData['SimName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjQueryData['SnapshotID'] = new UUID(buf, pos); + pos += 16; + newObjQueryData['Dwell'] = buf.readFloatLE(pos); + pos += 4; + newObjQueryData['Price'] = buf.readInt32LE(pos); + pos += 4; + this.QueryData.push(newObjQueryData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/PreloadSound.ts b/lib/classes/messages/PreloadSound.ts new file mode 100644 index 0000000..ec47c23 --- /dev/null +++ b/lib/classes/messages/PreloadSound.ts @@ -0,0 +1,70 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class PreloadSoundMessage implements MessageBase +{ + name = 'PreloadSound'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyMedium; + id = Message.PreloadSound; + + DataBlock: { + ObjectID: UUID; + OwnerID: UUID; + SoundID: UUID; + }[]; + + getSize(): number + { + return ((48) * this.DataBlock.length) + 1; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.DataBlock.length; + buf.writeUInt8(this.DataBlock.length, pos++); + for (let i = 0; i < count; i++) + { + this.DataBlock[i]['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + this.DataBlock[i]['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + this.DataBlock[i]['SoundID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.DataBlock = []; + for (let i = 0; i < count; i++) + { + const newObjDataBlock: { + ObjectID: UUID, + OwnerID: UUID, + SoundID: UUID + } = { + ObjectID: UUID.zero(), + OwnerID: UUID.zero(), + SoundID: UUID.zero() + }; + newObjDataBlock['ObjectID'] = new UUID(buf, pos); + pos += 16; + newObjDataBlock['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjDataBlock['SoundID'] = new UUID(buf, pos); + pos += 16; + this.DataBlock.push(newObjDataBlock); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/PurgeInventoryDescendents.ts b/lib/classes/messages/PurgeInventoryDescendents.ts new file mode 100644 index 0000000..c2cbb84 --- /dev/null +++ b/lib/classes/messages/PurgeInventoryDescendents.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class PurgeInventoryDescendentsMessage implements MessageBase +{ + name = 'PurgeInventoryDescendents'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.PurgeInventoryDescendents; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + InventoryData: { + FolderID: UUID; + }; + + getSize(): number + { + return 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData['FolderID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjInventoryData: { + FolderID: UUID + } = { + FolderID: UUID.zero() + }; + newObjInventoryData['FolderID'] = new UUID(buf, pos); + pos += 16; + this.InventoryData = newObjInventoryData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RebakeAvatarTextures.ts b/lib/classes/messages/RebakeAvatarTextures.ts new file mode 100644 index 0000000..f79a6fa --- /dev/null +++ b/lib/classes/messages/RebakeAvatarTextures.ts @@ -0,0 +1,46 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RebakeAvatarTexturesMessage implements MessageBase +{ + name = 'RebakeAvatarTextures'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.RebakeAvatarTextures; + + TextureData: { + TextureID: UUID; + }; + + getSize(): number + { + return 16; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.TextureData['TextureID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjTextureData: { + TextureID: UUID + } = { + TextureID: UUID.zero() + }; + newObjTextureData['TextureID'] = new UUID(buf, pos); + pos += 16; + this.TextureData = newObjTextureData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/Redo.ts b/lib/classes/messages/Redo.ts new file mode 100644 index 0000000..d424e2b --- /dev/null +++ b/lib/classes/messages/Redo.ts @@ -0,0 +1,83 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RedoMessage implements MessageBase +{ + name = 'Redo'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.Redo; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + GroupID: UUID; + }; + ObjectData: { + ObjectID: UUID; + }[]; + + getSize(): number + { + return ((16) * this.ObjectData.length) + 49; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + this.ObjectData[i]['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + GroupID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + GroupID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectID: UUID + } = { + ObjectID: UUID.zero() + }; + newObjObjectData['ObjectID'] = new UUID(buf, pos); + pos += 16; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RegionHandleRequest.ts b/lib/classes/messages/RegionHandleRequest.ts new file mode 100644 index 0000000..110e357 --- /dev/null +++ b/lib/classes/messages/RegionHandleRequest.ts @@ -0,0 +1,46 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RegionHandleRequestMessage implements MessageBase +{ + name = 'RegionHandleRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.RegionHandleRequest; + + RequestBlock: { + RegionID: UUID; + }; + + getSize(): number + { + return 16; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.RequestBlock['RegionID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjRequestBlock: { + RegionID: UUID + } = { + RegionID: UUID.zero() + }; + newObjRequestBlock['RegionID'] = new UUID(buf, pos); + pos += 16; + this.RequestBlock = newObjRequestBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RegionHandshake.ts b/lib/classes/messages/RegionHandshake.ts new file mode 100644 index 0000000..e59609f --- /dev/null +++ b/lib/classes/messages/RegionHandshake.ts @@ -0,0 +1,300 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RegionHandshakeMessage implements MessageBase +{ + name = 'RegionHandshake'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.RegionHandshake; + + RegionInfo: { + RegionFlags: number; + SimAccess: number; + SimName: string; + SimOwner: UUID; + IsEstateManager: boolean; + WaterHeight: number; + BillableFactor: number; + CacheID: UUID; + TerrainBase0: UUID; + TerrainBase1: UUID; + TerrainBase2: UUID; + TerrainBase3: UUID; + TerrainDetail0: UUID; + TerrainDetail1: UUID; + TerrainDetail2: UUID; + TerrainDetail3: UUID; + TerrainStartHeight00: number; + TerrainStartHeight01: number; + TerrainStartHeight10: number; + TerrainStartHeight11: number; + TerrainHeightRange00: number; + TerrainHeightRange01: number; + TerrainHeightRange10: number; + TerrainHeightRange11: number; + }; + RegionInfo2: { + RegionID: UUID; + }; + RegionInfo3: { + CPUClassID: number; + CPURatio: number; + ColoName: string; + ProductSKU: string; + ProductName: string; + }; + RegionInfo4: { + RegionFlagsExtended: Long; + RegionProtocols: Long; + }[]; + + getSize(): number + { + return (this.RegionInfo['SimName'].length + 1) + (this.RegionInfo3['ColoName'].length + 1 + this.RegionInfo3['ProductSKU'].length + 1 + this.RegionInfo3['ProductName'].length + 1) + ((16) * this.RegionInfo4.length) + 231; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt32LE(this.RegionInfo['RegionFlags'], pos); + pos += 4; + buf.writeUInt8(this.RegionInfo['SimAccess'], pos++); + buf.writeUInt8(this.RegionInfo['SimName'].length, pos++); + buf.write(this.RegionInfo['SimName'], pos); + pos += this.RegionInfo['SimName'].length; + this.RegionInfo['SimOwner'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.RegionInfo['IsEstateManager']) ? 1 : 0, pos++); + buf.writeFloatLE(this.RegionInfo['WaterHeight'], pos); + pos += 4; + buf.writeFloatLE(this.RegionInfo['BillableFactor'], pos); + pos += 4; + this.RegionInfo['CacheID'].writeToBuffer(buf, pos); + pos += 16; + this.RegionInfo['TerrainBase0'].writeToBuffer(buf, pos); + pos += 16; + this.RegionInfo['TerrainBase1'].writeToBuffer(buf, pos); + pos += 16; + this.RegionInfo['TerrainBase2'].writeToBuffer(buf, pos); + pos += 16; + this.RegionInfo['TerrainBase3'].writeToBuffer(buf, pos); + pos += 16; + this.RegionInfo['TerrainDetail0'].writeToBuffer(buf, pos); + pos += 16; + this.RegionInfo['TerrainDetail1'].writeToBuffer(buf, pos); + pos += 16; + this.RegionInfo['TerrainDetail2'].writeToBuffer(buf, pos); + pos += 16; + this.RegionInfo['TerrainDetail3'].writeToBuffer(buf, pos); + pos += 16; + buf.writeFloatLE(this.RegionInfo['TerrainStartHeight00'], pos); + pos += 4; + buf.writeFloatLE(this.RegionInfo['TerrainStartHeight01'], pos); + pos += 4; + buf.writeFloatLE(this.RegionInfo['TerrainStartHeight10'], pos); + pos += 4; + buf.writeFloatLE(this.RegionInfo['TerrainStartHeight11'], pos); + pos += 4; + buf.writeFloatLE(this.RegionInfo['TerrainHeightRange00'], pos); + pos += 4; + buf.writeFloatLE(this.RegionInfo['TerrainHeightRange01'], pos); + pos += 4; + buf.writeFloatLE(this.RegionInfo['TerrainHeightRange10'], pos); + pos += 4; + buf.writeFloatLE(this.RegionInfo['TerrainHeightRange11'], pos); + pos += 4; + this.RegionInfo2['RegionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.RegionInfo3['CPUClassID'], pos); + pos += 4; + buf.writeInt32LE(this.RegionInfo3['CPURatio'], pos); + pos += 4; + buf.writeUInt8(this.RegionInfo3['ColoName'].length, pos++); + buf.write(this.RegionInfo3['ColoName'], pos); + pos += this.RegionInfo3['ColoName'].length; + buf.writeUInt8(this.RegionInfo3['ProductSKU'].length, pos++); + buf.write(this.RegionInfo3['ProductSKU'], pos); + pos += this.RegionInfo3['ProductSKU'].length; + buf.writeUInt8(this.RegionInfo3['ProductName'].length, pos++); + buf.write(this.RegionInfo3['ProductName'], pos); + pos += this.RegionInfo3['ProductName'].length; + const count = this.RegionInfo4.length; + buf.writeUInt8(this.RegionInfo4.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeInt32LE(this.RegionInfo4[i]['RegionFlagsExtended'].low, pos); + pos += 4; + buf.writeInt32LE(this.RegionInfo4[i]['RegionFlagsExtended'].high, pos); + pos += 4; + buf.writeInt32LE(this.RegionInfo4[i]['RegionProtocols'].low, pos); + pos += 4; + buf.writeInt32LE(this.RegionInfo4[i]['RegionProtocols'].high, pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjRegionInfo: { + RegionFlags: number, + SimAccess: number, + SimName: string, + SimOwner: UUID, + IsEstateManager: boolean, + WaterHeight: number, + BillableFactor: number, + CacheID: UUID, + TerrainBase0: UUID, + TerrainBase1: UUID, + TerrainBase2: UUID, + TerrainBase3: UUID, + TerrainDetail0: UUID, + TerrainDetail1: UUID, + TerrainDetail2: UUID, + TerrainDetail3: UUID, + TerrainStartHeight00: number, + TerrainStartHeight01: number, + TerrainStartHeight10: number, + TerrainStartHeight11: number, + TerrainHeightRange00: number, + TerrainHeightRange01: number, + TerrainHeightRange10: number, + TerrainHeightRange11: number + } = { + RegionFlags: 0, + SimAccess: 0, + SimName: '', + SimOwner: UUID.zero(), + IsEstateManager: false, + WaterHeight: 0, + BillableFactor: 0, + CacheID: UUID.zero(), + TerrainBase0: UUID.zero(), + TerrainBase1: UUID.zero(), + TerrainBase2: UUID.zero(), + TerrainBase3: UUID.zero(), + TerrainDetail0: UUID.zero(), + TerrainDetail1: UUID.zero(), + TerrainDetail2: UUID.zero(), + TerrainDetail3: UUID.zero(), + TerrainStartHeight00: 0, + TerrainStartHeight01: 0, + TerrainStartHeight10: 0, + TerrainStartHeight11: 0, + TerrainHeightRange00: 0, + TerrainHeightRange01: 0, + TerrainHeightRange10: 0, + TerrainHeightRange11: 0 + }; + newObjRegionInfo['RegionFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjRegionInfo['SimAccess'] = buf.readUInt8(pos++); + varLength = buf.readUInt8(pos++); + newObjRegionInfo['SimName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjRegionInfo['SimOwner'] = new UUID(buf, pos); + pos += 16; + newObjRegionInfo['IsEstateManager'] = (buf.readUInt8(pos++) === 1); + newObjRegionInfo['WaterHeight'] = buf.readFloatLE(pos); + pos += 4; + newObjRegionInfo['BillableFactor'] = buf.readFloatLE(pos); + pos += 4; + newObjRegionInfo['CacheID'] = new UUID(buf, pos); + pos += 16; + newObjRegionInfo['TerrainBase0'] = new UUID(buf, pos); + pos += 16; + newObjRegionInfo['TerrainBase1'] = new UUID(buf, pos); + pos += 16; + newObjRegionInfo['TerrainBase2'] = new UUID(buf, pos); + pos += 16; + newObjRegionInfo['TerrainBase3'] = new UUID(buf, pos); + pos += 16; + newObjRegionInfo['TerrainDetail0'] = new UUID(buf, pos); + pos += 16; + newObjRegionInfo['TerrainDetail1'] = new UUID(buf, pos); + pos += 16; + newObjRegionInfo['TerrainDetail2'] = new UUID(buf, pos); + pos += 16; + newObjRegionInfo['TerrainDetail3'] = new UUID(buf, pos); + pos += 16; + newObjRegionInfo['TerrainStartHeight00'] = buf.readFloatLE(pos); + pos += 4; + newObjRegionInfo['TerrainStartHeight01'] = buf.readFloatLE(pos); + pos += 4; + newObjRegionInfo['TerrainStartHeight10'] = buf.readFloatLE(pos); + pos += 4; + newObjRegionInfo['TerrainStartHeight11'] = buf.readFloatLE(pos); + pos += 4; + newObjRegionInfo['TerrainHeightRange00'] = buf.readFloatLE(pos); + pos += 4; + newObjRegionInfo['TerrainHeightRange01'] = buf.readFloatLE(pos); + pos += 4; + newObjRegionInfo['TerrainHeightRange10'] = buf.readFloatLE(pos); + pos += 4; + newObjRegionInfo['TerrainHeightRange11'] = buf.readFloatLE(pos); + pos += 4; + this.RegionInfo = newObjRegionInfo; + const newObjRegionInfo2: { + RegionID: UUID + } = { + RegionID: UUID.zero() + }; + newObjRegionInfo2['RegionID'] = new UUID(buf, pos); + pos += 16; + this.RegionInfo2 = newObjRegionInfo2; + const newObjRegionInfo3: { + CPUClassID: number, + CPURatio: number, + ColoName: string, + ProductSKU: string, + ProductName: string + } = { + CPUClassID: 0, + CPURatio: 0, + ColoName: '', + ProductSKU: '', + ProductName: '' + }; + newObjRegionInfo3['CPUClassID'] = buf.readInt32LE(pos); + pos += 4; + newObjRegionInfo3['CPURatio'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjRegionInfo3['ColoName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjRegionInfo3['ProductSKU'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjRegionInfo3['ProductName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.RegionInfo3 = newObjRegionInfo3; + const count = buf.readUInt8(pos++); + this.RegionInfo4 = []; + for (let i = 0; i < count; i++) + { + const newObjRegionInfo4: { + RegionFlagsExtended: Long, + RegionProtocols: Long + } = { + RegionFlagsExtended: Long.ZERO, + RegionProtocols: Long.ZERO + }; + newObjRegionInfo4['RegionFlagsExtended'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjRegionInfo4['RegionProtocols'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + this.RegionInfo4.push(newObjRegionInfo4); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RegionHandshakeReply.ts b/lib/classes/messages/RegionHandshakeReply.ts new file mode 100644 index 0000000..387ed86 --- /dev/null +++ b/lib/classes/messages/RegionHandshakeReply.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RegionHandshakeReplyMessage implements MessageBase +{ + name = 'RegionHandshakeReply'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.RegionHandshakeReply; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + RegionInfo: { + Flags: number; + }; + + getSize(): number + { + return 36; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.RegionInfo['Flags'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjRegionInfo: { + Flags: number + } = { + Flags: 0 + }; + newObjRegionInfo['Flags'] = buf.readUInt32LE(pos); + pos += 4; + this.RegionInfo = newObjRegionInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RegionIDAndHandleReply.ts b/lib/classes/messages/RegionIDAndHandleReply.ts new file mode 100644 index 0000000..07d4067 --- /dev/null +++ b/lib/classes/messages/RegionIDAndHandleReply.ts @@ -0,0 +1,56 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RegionIDAndHandleReplyMessage implements MessageBase +{ + name = 'RegionIDAndHandleReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.RegionIDAndHandleReply; + + ReplyBlock: { + RegionID: UUID; + RegionHandle: Long; + }; + + getSize(): number + { + return 24; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.ReplyBlock['RegionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.ReplyBlock['RegionHandle'].low, pos); + pos += 4; + buf.writeInt32LE(this.ReplyBlock['RegionHandle'].high, pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjReplyBlock: { + RegionID: UUID, + RegionHandle: Long + } = { + RegionID: UUID.zero(), + RegionHandle: Long.ZERO + }; + newObjReplyBlock['RegionID'] = new UUID(buf, pos); + pos += 16; + newObjReplyBlock['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + this.ReplyBlock = newObjReplyBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RegionInfo.ts b/lib/classes/messages/RegionInfo.ts new file mode 100644 index 0000000..602e812 --- /dev/null +++ b/lib/classes/messages/RegionInfo.ts @@ -0,0 +1,238 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RegionInfoMessage implements MessageBase +{ + name = 'RegionInfo'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.RegionInfo; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + RegionInfo: { + SimName: string; + EstateID: number; + ParentEstateID: number; + RegionFlags: number; + SimAccess: number; + MaxAgents: number; + BillableFactor: number; + ObjectBonusFactor: number; + WaterHeight: number; + TerrainRaiseLimit: number; + TerrainLowerLimit: number; + PricePerMeter: number; + RedirectGridX: number; + RedirectGridY: number; + UseEstateSun: boolean; + SunHour: number; + }; + RegionInfo2: { + ProductSKU: string; + ProductName: string; + MaxAgents32: number; + HardMaxAgents: number; + HardMaxObjects: number; + }; + RegionInfo3: { + RegionFlagsExtended: Long; + }[]; + + getSize(): number + { + return (this.RegionInfo['SimName'].length + 1) + (this.RegionInfo2['ProductSKU'].length + 1 + this.RegionInfo2['ProductName'].length + 1) + ((8) * this.RegionInfo3.length) + 96; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.RegionInfo['SimName'].length, pos++); + buf.write(this.RegionInfo['SimName'], pos); + pos += this.RegionInfo['SimName'].length; + buf.writeUInt32LE(this.RegionInfo['EstateID'], pos); + pos += 4; + buf.writeUInt32LE(this.RegionInfo['ParentEstateID'], pos); + pos += 4; + buf.writeUInt32LE(this.RegionInfo['RegionFlags'], pos); + pos += 4; + buf.writeUInt8(this.RegionInfo['SimAccess'], pos++); + buf.writeUInt8(this.RegionInfo['MaxAgents'], pos++); + buf.writeFloatLE(this.RegionInfo['BillableFactor'], pos); + pos += 4; + buf.writeFloatLE(this.RegionInfo['ObjectBonusFactor'], pos); + pos += 4; + buf.writeFloatLE(this.RegionInfo['WaterHeight'], pos); + pos += 4; + buf.writeFloatLE(this.RegionInfo['TerrainRaiseLimit'], pos); + pos += 4; + buf.writeFloatLE(this.RegionInfo['TerrainLowerLimit'], pos); + pos += 4; + buf.writeInt32LE(this.RegionInfo['PricePerMeter'], pos); + pos += 4; + buf.writeInt32LE(this.RegionInfo['RedirectGridX'], pos); + pos += 4; + buf.writeInt32LE(this.RegionInfo['RedirectGridY'], pos); + pos += 4; + buf.writeUInt8((this.RegionInfo['UseEstateSun']) ? 1 : 0, pos++); + buf.writeFloatLE(this.RegionInfo['SunHour'], pos); + pos += 4; + buf.writeUInt8(this.RegionInfo2['ProductSKU'].length, pos++); + buf.write(this.RegionInfo2['ProductSKU'], pos); + pos += this.RegionInfo2['ProductSKU'].length; + buf.writeUInt8(this.RegionInfo2['ProductName'].length, pos++); + buf.write(this.RegionInfo2['ProductName'], pos); + pos += this.RegionInfo2['ProductName'].length; + buf.writeUInt32LE(this.RegionInfo2['MaxAgents32'], pos); + pos += 4; + buf.writeUInt32LE(this.RegionInfo2['HardMaxAgents'], pos); + pos += 4; + buf.writeUInt32LE(this.RegionInfo2['HardMaxObjects'], pos); + pos += 4; + const count = this.RegionInfo3.length; + buf.writeUInt8(this.RegionInfo3.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeInt32LE(this.RegionInfo3[i]['RegionFlagsExtended'].low, pos); + pos += 4; + buf.writeInt32LE(this.RegionInfo3[i]['RegionFlagsExtended'].high, pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjRegionInfo: { + SimName: string, + EstateID: number, + ParentEstateID: number, + RegionFlags: number, + SimAccess: number, + MaxAgents: number, + BillableFactor: number, + ObjectBonusFactor: number, + WaterHeight: number, + TerrainRaiseLimit: number, + TerrainLowerLimit: number, + PricePerMeter: number, + RedirectGridX: number, + RedirectGridY: number, + UseEstateSun: boolean, + SunHour: number + } = { + SimName: '', + EstateID: 0, + ParentEstateID: 0, + RegionFlags: 0, + SimAccess: 0, + MaxAgents: 0, + BillableFactor: 0, + ObjectBonusFactor: 0, + WaterHeight: 0, + TerrainRaiseLimit: 0, + TerrainLowerLimit: 0, + PricePerMeter: 0, + RedirectGridX: 0, + RedirectGridY: 0, + UseEstateSun: false, + SunHour: 0 + }; + varLength = buf.readUInt8(pos++); + newObjRegionInfo['SimName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjRegionInfo['EstateID'] = buf.readUInt32LE(pos); + pos += 4; + newObjRegionInfo['ParentEstateID'] = buf.readUInt32LE(pos); + pos += 4; + newObjRegionInfo['RegionFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjRegionInfo['SimAccess'] = buf.readUInt8(pos++); + newObjRegionInfo['MaxAgents'] = buf.readUInt8(pos++); + newObjRegionInfo['BillableFactor'] = buf.readFloatLE(pos); + pos += 4; + newObjRegionInfo['ObjectBonusFactor'] = buf.readFloatLE(pos); + pos += 4; + newObjRegionInfo['WaterHeight'] = buf.readFloatLE(pos); + pos += 4; + newObjRegionInfo['TerrainRaiseLimit'] = buf.readFloatLE(pos); + pos += 4; + newObjRegionInfo['TerrainLowerLimit'] = buf.readFloatLE(pos); + pos += 4; + newObjRegionInfo['PricePerMeter'] = buf.readInt32LE(pos); + pos += 4; + newObjRegionInfo['RedirectGridX'] = buf.readInt32LE(pos); + pos += 4; + newObjRegionInfo['RedirectGridY'] = buf.readInt32LE(pos); + pos += 4; + newObjRegionInfo['UseEstateSun'] = (buf.readUInt8(pos++) === 1); + newObjRegionInfo['SunHour'] = buf.readFloatLE(pos); + pos += 4; + this.RegionInfo = newObjRegionInfo; + const newObjRegionInfo2: { + ProductSKU: string, + ProductName: string, + MaxAgents32: number, + HardMaxAgents: number, + HardMaxObjects: number + } = { + ProductSKU: '', + ProductName: '', + MaxAgents32: 0, + HardMaxAgents: 0, + HardMaxObjects: 0 + }; + varLength = buf.readUInt8(pos++); + newObjRegionInfo2['ProductSKU'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjRegionInfo2['ProductName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjRegionInfo2['MaxAgents32'] = buf.readUInt32LE(pos); + pos += 4; + newObjRegionInfo2['HardMaxAgents'] = buf.readUInt32LE(pos); + pos += 4; + newObjRegionInfo2['HardMaxObjects'] = buf.readUInt32LE(pos); + pos += 4; + this.RegionInfo2 = newObjRegionInfo2; + const count = buf.readUInt8(pos++); + this.RegionInfo3 = []; + for (let i = 0; i < count; i++) + { + const newObjRegionInfo3: { + RegionFlagsExtended: Long + } = { + RegionFlagsExtended: Long.ZERO + }; + newObjRegionInfo3['RegionFlagsExtended'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + this.RegionInfo3.push(newObjRegionInfo3); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RegionPresenceRequestByHandle.ts b/lib/classes/messages/RegionPresenceRequestByHandle.ts new file mode 100644 index 0000000..efdbabf --- /dev/null +++ b/lib/classes/messages/RegionPresenceRequestByHandle.ts @@ -0,0 +1,58 @@ +// This file has been automatically generated by writeMessageClasses.js + +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RegionPresenceRequestByHandleMessage implements MessageBase +{ + name = 'RegionPresenceRequestByHandle'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.RegionPresenceRequestByHandle; + + RegionData: { + RegionHandle: Long; + }[]; + + getSize(): number + { + return ((8) * this.RegionData.length) + 1; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.RegionData.length; + buf.writeUInt8(this.RegionData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeInt32LE(this.RegionData[i]['RegionHandle'].low, pos); + pos += 4; + buf.writeInt32LE(this.RegionData[i]['RegionHandle'].high, pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.RegionData = []; + for (let i = 0; i < count; i++) + { + const newObjRegionData: { + RegionHandle: Long + } = { + RegionHandle: Long.ZERO + }; + newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + this.RegionData.push(newObjRegionData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RegionPresenceRequestByRegionID.ts b/lib/classes/messages/RegionPresenceRequestByRegionID.ts new file mode 100644 index 0000000..ae91bfe --- /dev/null +++ b/lib/classes/messages/RegionPresenceRequestByRegionID.ts @@ -0,0 +1,56 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RegionPresenceRequestByRegionIDMessage implements MessageBase +{ + name = 'RegionPresenceRequestByRegionID'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.RegionPresenceRequestByRegionID; + + RegionData: { + RegionID: UUID; + }[]; + + getSize(): number + { + return ((16) * this.RegionData.length) + 1; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.RegionData.length; + buf.writeUInt8(this.RegionData.length, pos++); + for (let i = 0; i < count; i++) + { + this.RegionData[i]['RegionID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.RegionData = []; + for (let i = 0; i < count; i++) + { + const newObjRegionData: { + RegionID: UUID + } = { + RegionID: UUID.zero() + }; + newObjRegionData['RegionID'] = new UUID(buf, pos); + pos += 16; + this.RegionData.push(newObjRegionData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RegionPresenceResponse.ts b/lib/classes/messages/RegionPresenceResponse.ts new file mode 100644 index 0000000..88c77e2 --- /dev/null +++ b/lib/classes/messages/RegionPresenceResponse.ts @@ -0,0 +1,114 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {IPAddress} from '../IPAddress'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RegionPresenceResponseMessage implements MessageBase +{ + name = 'RegionPresenceResponse'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.RegionPresenceResponse; + + RegionData: { + RegionID: UUID; + RegionHandle: Long; + InternalRegionIP: IPAddress; + ExternalRegionIP: IPAddress; + RegionPort: number; + ValidUntil: number; + Message: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.RegionData, 'Message', 1) + 42) * this.RegionData.length) + 1; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.RegionData.length; + buf.writeUInt8(this.RegionData.length, pos++); + for (let i = 0; i < count; i++) + { + this.RegionData[i]['RegionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.RegionData[i]['RegionHandle'].low, pos); + pos += 4; + buf.writeInt32LE(this.RegionData[i]['RegionHandle'].high, pos); + pos += 4; + this.RegionData[i]['InternalRegionIP'].writeToBuffer(buf, pos); + pos += 4; + this.RegionData[i]['ExternalRegionIP'].writeToBuffer(buf, pos); + pos += 4; + buf.writeUInt16LE(this.RegionData[i]['RegionPort'], pos); + pos += 2; + buf.writeDoubleLE(this.RegionData[i]['ValidUntil'], pos); + pos += 8; + buf.writeUInt8(this.RegionData[i]['Message'].length, pos++); + buf.write(this.RegionData[i]['Message'], pos); + pos += this.RegionData[i]['Message'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.RegionData = []; + for (let i = 0; i < count; i++) + { + const newObjRegionData: { + RegionID: UUID, + RegionHandle: Long, + InternalRegionIP: IPAddress, + ExternalRegionIP: IPAddress, + RegionPort: number, + ValidUntil: number, + Message: string + } = { + RegionID: UUID.zero(), + RegionHandle: Long.ZERO, + InternalRegionIP: IPAddress.zero(), + ExternalRegionIP: IPAddress.zero(), + RegionPort: 0, + ValidUntil: 0, + Message: '' + }; + newObjRegionData['RegionID'] = new UUID(buf, pos); + pos += 16; + newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjRegionData['InternalRegionIP'] = new IPAddress(buf, pos); + pos += 4; + newObjRegionData['ExternalRegionIP'] = new IPAddress(buf, pos); + pos += 4; + newObjRegionData['RegionPort'] = buf.readUInt16LE(pos); + pos += 2; + newObjRegionData['ValidUntil'] = buf.readDoubleLE(pos); + pos += 8; + varLength = buf.readUInt8(pos++); + newObjRegionData['Message'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.RegionData.push(newObjRegionData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RemoveAttachment.ts b/lib/classes/messages/RemoveAttachment.ts new file mode 100644 index 0000000..371c6b9 --- /dev/null +++ b/lib/classes/messages/RemoveAttachment.ts @@ -0,0 +1,71 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RemoveAttachmentMessage implements MessageBase +{ + name = 'RemoveAttachment'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.RemoveAttachment; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + AttachmentBlock: { + AttachmentPoint: number; + ItemID: UUID; + }; + + getSize(): number + { + return 49; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.AttachmentBlock['AttachmentPoint'], pos++); + this.AttachmentBlock['ItemID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjAttachmentBlock: { + AttachmentPoint: number, + ItemID: UUID + } = { + AttachmentPoint: 0, + ItemID: UUID.zero() + }; + newObjAttachmentBlock['AttachmentPoint'] = buf.readUInt8(pos++); + newObjAttachmentBlock['ItemID'] = new UUID(buf, pos); + pos += 16; + this.AttachmentBlock = newObjAttachmentBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RemoveInventoryFolder.ts b/lib/classes/messages/RemoveInventoryFolder.ts new file mode 100644 index 0000000..c833063 --- /dev/null +++ b/lib/classes/messages/RemoveInventoryFolder.ts @@ -0,0 +1,76 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RemoveInventoryFolderMessage implements MessageBase +{ + name = 'RemoveInventoryFolder'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.RemoveInventoryFolder; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + FolderData: { + FolderID: UUID; + }[]; + + getSize(): number + { + return ((16) * this.FolderData.length) + 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.FolderData.length; + buf.writeUInt8(this.FolderData.length, pos++); + for (let i = 0; i < count; i++) + { + this.FolderData[i]['FolderID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.FolderData = []; + for (let i = 0; i < count; i++) + { + const newObjFolderData: { + FolderID: UUID + } = { + FolderID: UUID.zero() + }; + newObjFolderData['FolderID'] = new UUID(buf, pos); + pos += 16; + this.FolderData.push(newObjFolderData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RemoveInventoryItem.ts b/lib/classes/messages/RemoveInventoryItem.ts new file mode 100644 index 0000000..4c8d861 --- /dev/null +++ b/lib/classes/messages/RemoveInventoryItem.ts @@ -0,0 +1,76 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RemoveInventoryItemMessage implements MessageBase +{ + name = 'RemoveInventoryItem'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.RemoveInventoryItem; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + InventoryData: { + ItemID: UUID; + }[]; + + getSize(): number + { + return ((16) * this.InventoryData.length) + 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.InventoryData.length; + buf.writeUInt8(this.InventoryData.length, pos++); + for (let i = 0; i < count; i++) + { + this.InventoryData[i]['ItemID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.InventoryData = []; + for (let i = 0; i < count; i++) + { + const newObjInventoryData: { + ItemID: UUID + } = { + ItemID: UUID.zero() + }; + newObjInventoryData['ItemID'] = new UUID(buf, pos); + pos += 16; + this.InventoryData.push(newObjInventoryData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RemoveInventoryObjects.ts b/lib/classes/messages/RemoveInventoryObjects.ts new file mode 100644 index 0000000..79767dd --- /dev/null +++ b/lib/classes/messages/RemoveInventoryObjects.ts @@ -0,0 +1,99 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RemoveInventoryObjectsMessage implements MessageBase +{ + name = 'RemoveInventoryObjects'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.RemoveInventoryObjects; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + FolderData: { + FolderID: UUID; + }[]; + ItemData: { + ItemID: UUID; + }[]; + + getSize(): number + { + return ((16) * this.FolderData.length) + ((16) * this.ItemData.length) + 34; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + let count = this.FolderData.length; + buf.writeUInt8(this.FolderData.length, pos++); + for (let i = 0; i < count; i++) + { + this.FolderData[i]['FolderID'].writeToBuffer(buf, pos); + pos += 16; + } + count = this.ItemData.length; + buf.writeUInt8(this.ItemData.length, pos++); + for (let i = 0; i < count; i++) + { + this.ItemData[i]['ItemID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + let count = buf.readUInt8(pos++); + this.FolderData = []; + for (let i = 0; i < count; i++) + { + const newObjFolderData: { + FolderID: UUID + } = { + FolderID: UUID.zero() + }; + newObjFolderData['FolderID'] = new UUID(buf, pos); + pos += 16; + this.FolderData.push(newObjFolderData); + } + count = buf.readUInt8(pos++); + this.ItemData = []; + for (let i = 0; i < count; i++) + { + const newObjItemData: { + ItemID: UUID + } = { + ItemID: UUID.zero() + }; + newObjItemData['ItemID'] = new UUID(buf, pos); + pos += 16; + this.ItemData.push(newObjItemData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RemoveMuteListEntry.ts b/lib/classes/messages/RemoveMuteListEntry.ts new file mode 100644 index 0000000..de291c9 --- /dev/null +++ b/lib/classes/messages/RemoveMuteListEntry.ts @@ -0,0 +1,75 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RemoveMuteListEntryMessage implements MessageBase +{ + name = 'RemoveMuteListEntry'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.RemoveMuteListEntry; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + MuteData: { + MuteID: UUID; + MuteName: string; + }; + + getSize(): number + { + return (this.MuteData['MuteName'].length + 1) + 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.MuteData['MuteID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.MuteData['MuteName'].length, pos++); + buf.write(this.MuteData['MuteName'], pos); + pos += this.MuteData['MuteName'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjMuteData: { + MuteID: UUID, + MuteName: string + } = { + MuteID: UUID.zero(), + MuteName: '' + }; + newObjMuteData['MuteID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjMuteData['MuteName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.MuteData = newObjMuteData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RemoveNameValuePair.ts b/lib/classes/messages/RemoveNameValuePair.ts new file mode 100644 index 0000000..96ed080 --- /dev/null +++ b/lib/classes/messages/RemoveNameValuePair.ts @@ -0,0 +1,83 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RemoveNameValuePairMessage implements MessageBase +{ + name = 'RemoveNameValuePair'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.RemoveNameValuePair; + + TaskData: { + ID: UUID; + }; + NameValueData: { + NVPair: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.NameValueData, 'NVPair', 2)) * this.NameValueData.length) + 17; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.TaskData['ID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.NameValueData.length; + buf.writeUInt8(this.NameValueData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt16LE(this.NameValueData[i]['NVPair'].length, pos); + pos += 2; + buf.write(this.NameValueData[i]['NVPair'], pos); + pos += this.NameValueData[i]['NVPair'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjTaskData: { + ID: UUID + } = { + ID: UUID.zero() + }; + newObjTaskData['ID'] = new UUID(buf, pos); + pos += 16; + this.TaskData = newObjTaskData; + const count = buf.readUInt8(pos++); + this.NameValueData = []; + for (let i = 0; i < count; i++) + { + const newObjNameValueData: { + NVPair: string + } = { + NVPair: '' + }; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjNameValueData['NVPair'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.NameValueData.push(newObjNameValueData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RemoveParcel.ts b/lib/classes/messages/RemoveParcel.ts new file mode 100644 index 0000000..c93f625 --- /dev/null +++ b/lib/classes/messages/RemoveParcel.ts @@ -0,0 +1,56 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RemoveParcelMessage implements MessageBase +{ + name = 'RemoveParcel'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.RemoveParcel; + + ParcelData: { + ParcelID: UUID; + }[]; + + getSize(): number + { + return ((16) * this.ParcelData.length) + 1; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.ParcelData.length; + buf.writeUInt8(this.ParcelData.length, pos++); + for (let i = 0; i < count; i++) + { + this.ParcelData[i]['ParcelID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.ParcelData = []; + for (let i = 0; i < count; i++) + { + const newObjParcelData: { + ParcelID: UUID + } = { + ParcelID: UUID.zero() + }; + newObjParcelData['ParcelID'] = new UUID(buf, pos); + pos += 16; + this.ParcelData.push(newObjParcelData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RemoveTaskInventory.ts b/lib/classes/messages/RemoveTaskInventory.ts new file mode 100644 index 0000000..6f0870b --- /dev/null +++ b/lib/classes/messages/RemoveTaskInventory.ts @@ -0,0 +1,73 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RemoveTaskInventoryMessage implements MessageBase +{ + name = 'RemoveTaskInventory'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.RemoveTaskInventory; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + InventoryData: { + LocalID: number; + ItemID: UUID; + }; + + getSize(): number + { + return 52; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.InventoryData['LocalID'], pos); + pos += 4; + this.InventoryData['ItemID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjInventoryData: { + LocalID: number, + ItemID: UUID + } = { + LocalID: 0, + ItemID: UUID.zero() + }; + newObjInventoryData['LocalID'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['ItemID'] = new UUID(buf, pos); + pos += 16; + this.InventoryData = newObjInventoryData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ReplyTaskInventory.ts b/lib/classes/messages/ReplyTaskInventory.ts new file mode 100644 index 0000000..f5b1119 --- /dev/null +++ b/lib/classes/messages/ReplyTaskInventory.ts @@ -0,0 +1,62 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ReplyTaskInventoryMessage implements MessageBase +{ + name = 'ReplyTaskInventory'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ReplyTaskInventory; + + InventoryData: { + TaskID: UUID; + Serial: number; + Filename: string; + }; + + getSize(): number + { + return (this.InventoryData['Filename'].length + 1) + 18; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.InventoryData['TaskID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt16LE(this.InventoryData['Serial'], pos); + pos += 2; + buf.writeUInt8(this.InventoryData['Filename'].length, pos++); + buf.write(this.InventoryData['Filename'], pos); + pos += this.InventoryData['Filename'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjInventoryData: { + TaskID: UUID, + Serial: number, + Filename: string + } = { + TaskID: UUID.zero(), + Serial: 0, + Filename: '' + }; + newObjInventoryData['TaskID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['Serial'] = buf.readInt16LE(pos); + pos += 2; + varLength = buf.readUInt8(pos++); + newObjInventoryData['Filename'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.InventoryData = newObjInventoryData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ReportAutosaveCrash.ts b/lib/classes/messages/ReportAutosaveCrash.ts new file mode 100644 index 0000000..b8dfbf5 --- /dev/null +++ b/lib/classes/messages/ReportAutosaveCrash.ts @@ -0,0 +1,52 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ReportAutosaveCrashMessage implements MessageBase +{ + name = 'ReportAutosaveCrash'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.ReportAutosaveCrash; + + AutosaveData: { + PID: number; + Status: number; + }; + + getSize(): number + { + return 8; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeInt32LE(this.AutosaveData['PID'], pos); + pos += 4; + buf.writeInt32LE(this.AutosaveData['Status'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAutosaveData: { + PID: number, + Status: number + } = { + PID: 0, + Status: 0 + }; + newObjAutosaveData['PID'] = buf.readInt32LE(pos); + pos += 4; + newObjAutosaveData['Status'] = buf.readInt32LE(pos); + pos += 4; + this.AutosaveData = newObjAutosaveData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RequestGodlikePowers.ts b/lib/classes/messages/RequestGodlikePowers.ts new file mode 100644 index 0000000..18ea68c --- /dev/null +++ b/lib/classes/messages/RequestGodlikePowers.ts @@ -0,0 +1,71 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RequestGodlikePowersMessage implements MessageBase +{ + name = 'RequestGodlikePowers'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.RequestGodlikePowers; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + RequestBlock: { + Godlike: boolean; + Token: UUID; + }; + + getSize(): number + { + return 49; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.RequestBlock['Godlike']) ? 1 : 0, pos++); + this.RequestBlock['Token'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjRequestBlock: { + Godlike: boolean, + Token: UUID + } = { + Godlike: false, + Token: UUID.zero() + }; + newObjRequestBlock['Godlike'] = (buf.readUInt8(pos++) === 1); + newObjRequestBlock['Token'] = new UUID(buf, pos); + pos += 16; + this.RequestBlock = newObjRequestBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RequestImage.ts b/lib/classes/messages/RequestImage.ts new file mode 100644 index 0000000..5a5bfc2 --- /dev/null +++ b/lib/classes/messages/RequestImage.ts @@ -0,0 +1,100 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RequestImageMessage implements MessageBase +{ + name = 'RequestImage'; + messageFlags = MessageFlags.FrequencyHigh; + id = Message.RequestImage; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + RequestImage: { + Image: UUID; + DiscardLevel: number; + DownloadPriority: number; + Packet: number; + Type: number; + }[]; + + getSize(): number + { + return ((26) * this.RequestImage.length) + 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.RequestImage.length; + buf.writeUInt8(this.RequestImage.length, pos++); + for (let i = 0; i < count; i++) + { + this.RequestImage[i]['Image'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt8(this.RequestImage[i]['DiscardLevel'], pos++); + buf.writeFloatLE(this.RequestImage[i]['DownloadPriority'], pos); + pos += 4; + buf.writeUInt32LE(this.RequestImage[i]['Packet'], pos); + pos += 4; + buf.writeUInt8(this.RequestImage[i]['Type'], pos++); + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.RequestImage = []; + for (let i = 0; i < count; i++) + { + const newObjRequestImage: { + Image: UUID, + DiscardLevel: number, + DownloadPriority: number, + Packet: number, + Type: number + } = { + Image: UUID.zero(), + DiscardLevel: 0, + DownloadPriority: 0, + Packet: 0, + Type: 0 + }; + newObjRequestImage['Image'] = new UUID(buf, pos); + pos += 16; + newObjRequestImage['DiscardLevel'] = buf.readInt8(pos++); + newObjRequestImage['DownloadPriority'] = buf.readFloatLE(pos); + pos += 4; + newObjRequestImage['Packet'] = buf.readUInt32LE(pos); + pos += 4; + newObjRequestImage['Type'] = buf.readUInt8(pos++); + this.RequestImage.push(newObjRequestImage); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RequestInventoryAsset.ts b/lib/classes/messages/RequestInventoryAsset.ts new file mode 100644 index 0000000..300f206 --- /dev/null +++ b/lib/classes/messages/RequestInventoryAsset.ts @@ -0,0 +1,67 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RequestInventoryAssetMessage implements MessageBase +{ + name = 'RequestInventoryAsset'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.RequestInventoryAsset; + + QueryData: { + QueryID: UUID; + AgentID: UUID; + OwnerID: UUID; + ItemID: UUID; + }; + + getSize(): number + { + return 64; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.QueryData['QueryID'].writeToBuffer(buf, pos); + pos += 16; + this.QueryData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.QueryData['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + this.QueryData['ItemID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjQueryData: { + QueryID: UUID, + AgentID: UUID, + OwnerID: UUID, + ItemID: UUID + } = { + QueryID: UUID.zero(), + AgentID: UUID.zero(), + OwnerID: UUID.zero(), + ItemID: UUID.zero() + }; + newObjQueryData['QueryID'] = new UUID(buf, pos); + pos += 16; + newObjQueryData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjQueryData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjQueryData['ItemID'] = new UUID(buf, pos); + pos += 16; + this.QueryData = newObjQueryData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RequestMultipleObjects.ts b/lib/classes/messages/RequestMultipleObjects.ts new file mode 100644 index 0000000..da3d7a4 --- /dev/null +++ b/lib/classes/messages/RequestMultipleObjects.ts @@ -0,0 +1,81 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RequestMultipleObjectsMessage implements MessageBase +{ + name = 'RequestMultipleObjects'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyMedium; + id = Message.RequestMultipleObjects; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + CacheMissType: number; + ID: number; + }[]; + + getSize(): number + { + return ((5) * this.ObjectData.length) + 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt8(this.ObjectData[i]['CacheMissType'], pos++); + buf.writeUInt32LE(this.ObjectData[i]['ID'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + CacheMissType: number, + ID: number + } = { + CacheMissType: 0, + ID: 0 + }; + newObjObjectData['CacheMissType'] = buf.readUInt8(pos++); + newObjObjectData['ID'] = buf.readUInt32LE(pos); + pos += 4; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RequestObjectPropertiesFamily.ts b/lib/classes/messages/RequestObjectPropertiesFamily.ts new file mode 100644 index 0000000..8e814a3 --- /dev/null +++ b/lib/classes/messages/RequestObjectPropertiesFamily.ts @@ -0,0 +1,73 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RequestObjectPropertiesFamilyMessage implements MessageBase +{ + name = 'RequestObjectPropertiesFamily'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyMedium; + id = Message.RequestObjectPropertiesFamily; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + RequestFlags: number; + ObjectID: UUID; + }; + + getSize(): number + { + return 52; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.ObjectData['RequestFlags'], pos); + pos += 4; + this.ObjectData['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjObjectData: { + RequestFlags: number, + ObjectID: UUID + } = { + RequestFlags: 0, + ObjectID: UUID.zero() + }; + newObjObjectData['RequestFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['ObjectID'] = new UUID(buf, pos); + pos += 16; + this.ObjectData = newObjObjectData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RequestParcelTransfer.ts b/lib/classes/messages/RequestParcelTransfer.ts new file mode 100644 index 0000000..7bd71dd --- /dev/null +++ b/lib/classes/messages/RequestParcelTransfer.ts @@ -0,0 +1,139 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RequestParcelTransferMessage implements MessageBase +{ + name = 'RequestParcelTransfer'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.RequestParcelTransfer; + + Data: { + TransactionID: UUID; + TransactionTime: number; + SourceID: UUID; + DestID: UUID; + OwnerID: UUID; + Flags: number; + TransactionType: number; + Amount: number; + BillableArea: number; + ActualArea: number; + Final: boolean; + }; + RegionData: { + RegionID: UUID; + GridX: number; + GridY: number; + }; + + getSize(): number + { + return 110; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.Data['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.Data['TransactionTime'], pos); + pos += 4; + this.Data['SourceID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['DestID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.Data['Flags'], pos++); + buf.writeInt32LE(this.Data['TransactionType'], pos); + pos += 4; + buf.writeInt32LE(this.Data['Amount'], pos); + pos += 4; + buf.writeInt32LE(this.Data['BillableArea'], pos); + pos += 4; + buf.writeInt32LE(this.Data['ActualArea'], pos); + pos += 4; + buf.writeUInt8((this.Data['Final']) ? 1 : 0, pos++); + this.RegionData['RegionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.RegionData['GridX'], pos); + pos += 4; + buf.writeUInt32LE(this.RegionData['GridY'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjData: { + TransactionID: UUID, + TransactionTime: number, + SourceID: UUID, + DestID: UUID, + OwnerID: UUID, + Flags: number, + TransactionType: number, + Amount: number, + BillableArea: number, + ActualArea: number, + Final: boolean + } = { + TransactionID: UUID.zero(), + TransactionTime: 0, + SourceID: UUID.zero(), + DestID: UUID.zero(), + OwnerID: UUID.zero(), + Flags: 0, + TransactionType: 0, + Amount: 0, + BillableArea: 0, + ActualArea: 0, + Final: false + }; + newObjData['TransactionID'] = new UUID(buf, pos); + pos += 16; + newObjData['TransactionTime'] = buf.readUInt32LE(pos); + pos += 4; + newObjData['SourceID'] = new UUID(buf, pos); + pos += 16; + newObjData['DestID'] = new UUID(buf, pos); + pos += 16; + newObjData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjData['Flags'] = buf.readUInt8(pos++); + newObjData['TransactionType'] = buf.readInt32LE(pos); + pos += 4; + newObjData['Amount'] = buf.readInt32LE(pos); + pos += 4; + newObjData['BillableArea'] = buf.readInt32LE(pos); + pos += 4; + newObjData['ActualArea'] = buf.readInt32LE(pos); + pos += 4; + newObjData['Final'] = (buf.readUInt8(pos++) === 1); + this.Data = newObjData; + const newObjRegionData: { + RegionID: UUID, + GridX: number, + GridY: number + } = { + RegionID: UUID.zero(), + GridX: 0, + GridY: 0 + }; + newObjRegionData['RegionID'] = new UUID(buf, pos); + pos += 16; + newObjRegionData['GridX'] = buf.readUInt32LE(pos); + pos += 4; + newObjRegionData['GridY'] = buf.readUInt32LE(pos); + pos += 4; + this.RegionData = newObjRegionData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RequestPayPrice.ts b/lib/classes/messages/RequestPayPrice.ts new file mode 100644 index 0000000..8797e55 --- /dev/null +++ b/lib/classes/messages/RequestPayPrice.ts @@ -0,0 +1,46 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RequestPayPriceMessage implements MessageBase +{ + name = 'RequestPayPrice'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.RequestPayPrice; + + ObjectData: { + ObjectID: UUID; + }; + + getSize(): number + { + return 16; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.ObjectData['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjObjectData: { + ObjectID: UUID + } = { + ObjectID: UUID.zero() + }; + newObjObjectData['ObjectID'] = new UUID(buf, pos); + pos += 16; + this.ObjectData = newObjObjectData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RequestRegionInfo.ts b/lib/classes/messages/RequestRegionInfo.ts new file mode 100644 index 0000000..ae2907f --- /dev/null +++ b/lib/classes/messages/RequestRegionInfo.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RequestRegionInfoMessage implements MessageBase +{ + name = 'RequestRegionInfo'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.RequestRegionInfo; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + + getSize(): number + { + return 32; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RequestTaskInventory.ts b/lib/classes/messages/RequestTaskInventory.ts new file mode 100644 index 0000000..0e6a0d1 --- /dev/null +++ b/lib/classes/messages/RequestTaskInventory.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RequestTaskInventoryMessage implements MessageBase +{ + name = 'RequestTaskInventory'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.RequestTaskInventory; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + InventoryData: { + LocalID: number; + }; + + getSize(): number + { + return 36; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.InventoryData['LocalID'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjInventoryData: { + LocalID: number + } = { + LocalID: 0 + }; + newObjInventoryData['LocalID'] = buf.readUInt32LE(pos); + pos += 4; + this.InventoryData = newObjInventoryData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RequestTrustedCircuit.ts b/lib/classes/messages/RequestTrustedCircuit.ts new file mode 100644 index 0000000..863a4fc --- /dev/null +++ b/lib/classes/messages/RequestTrustedCircuit.ts @@ -0,0 +1,29 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RequestTrustedCircuitMessage implements MessageBase +{ + name = 'RequestTrustedCircuit'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.RequestTrustedCircuit; + + + getSize(): number + { + return 0; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + return 0; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + return 0; + } +} + diff --git a/lib/classes/messages/RequestXfer.ts b/lib/classes/messages/RequestXfer.ts new file mode 100644 index 0000000..13b2cb8 --- /dev/null +++ b/lib/classes/messages/RequestXfer.ts @@ -0,0 +1,87 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RequestXferMessage implements MessageBase +{ + name = 'RequestXfer'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.RequestXfer; + + XferID: { + ID: Long; + Filename: string; + FilePath: number; + DeleteOnCompletion: boolean; + UseBigPackets: boolean; + VFileID: UUID; + VFileType: number; + }; + + getSize(): number + { + return (this.XferID['Filename'].length + 1) + 29; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeInt32LE(this.XferID['ID'].low, pos); + pos += 4; + buf.writeInt32LE(this.XferID['ID'].high, pos); + pos += 4; + buf.writeUInt8(this.XferID['Filename'].length, pos++); + buf.write(this.XferID['Filename'], pos); + pos += this.XferID['Filename'].length; + buf.writeUInt8(this.XferID['FilePath'], pos++); + buf.writeUInt8((this.XferID['DeleteOnCompletion']) ? 1 : 0, pos++); + buf.writeUInt8((this.XferID['UseBigPackets']) ? 1 : 0, pos++); + this.XferID['VFileID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt16LE(this.XferID['VFileType'], pos); + pos += 2; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjXferID: { + ID: Long, + Filename: string, + FilePath: number, + DeleteOnCompletion: boolean, + UseBigPackets: boolean, + VFileID: UUID, + VFileType: number + } = { + ID: Long.ZERO, + Filename: '', + FilePath: 0, + DeleteOnCompletion: false, + UseBigPackets: false, + VFileID: UUID.zero(), + VFileType: 0 + }; + newObjXferID['ID'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + varLength = buf.readUInt8(pos++); + newObjXferID['Filename'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjXferID['FilePath'] = buf.readUInt8(pos++); + newObjXferID['DeleteOnCompletion'] = (buf.readUInt8(pos++) === 1); + newObjXferID['UseBigPackets'] = (buf.readUInt8(pos++) === 1); + newObjXferID['VFileID'] = new UUID(buf, pos); + pos += 16; + newObjXferID['VFileType'] = buf.readInt16LE(pos); + pos += 2; + this.XferID = newObjXferID; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RetrieveIMsExtended.ts b/lib/classes/messages/RetrieveIMsExtended.ts new file mode 100644 index 0000000..9518c8d --- /dev/null +++ b/lib/classes/messages/RetrieveIMsExtended.ts @@ -0,0 +1,58 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RetrieveIMsExtendedMessage implements MessageBase +{ + name = 'RetrieveIMsExtended'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.RetrieveIMsExtended; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + IsPremium: boolean; + }; + + getSize(): number + { + return 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.AgentData['IsPremium']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + IsPremium: boolean + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + IsPremium: false + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['IsPremium'] = (buf.readUInt8(pos++) === 1); + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RetrieveInstantMessages.ts b/lib/classes/messages/RetrieveInstantMessages.ts new file mode 100644 index 0000000..8f7772a --- /dev/null +++ b/lib/classes/messages/RetrieveInstantMessages.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RetrieveInstantMessagesMessage implements MessageBase +{ + name = 'RetrieveInstantMessages'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.RetrieveInstantMessages; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + + getSize(): number + { + return 32; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RevokePermissions.ts b/lib/classes/messages/RevokePermissions.ts new file mode 100644 index 0000000..9ebb0b9 --- /dev/null +++ b/lib/classes/messages/RevokePermissions.ts @@ -0,0 +1,73 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RevokePermissionsMessage implements MessageBase +{ + name = 'RevokePermissions'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.RevokePermissions; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + ObjectID: UUID; + ObjectPermissions: number; + }; + + getSize(): number + { + return 52; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.Data['ObjectPermissions'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + ObjectID: UUID, + ObjectPermissions: number + } = { + ObjectID: UUID.zero(), + ObjectPermissions: 0 + }; + newObjData['ObjectID'] = new UUID(buf, pos); + pos += 16; + newObjData['ObjectPermissions'] = buf.readUInt32LE(pos); + pos += 4; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RezMultipleAttachmentsFromInv.ts b/lib/classes/messages/RezMultipleAttachmentsFromInv.ts new file mode 100644 index 0000000..0671c3e --- /dev/null +++ b/lib/classes/messages/RezMultipleAttachmentsFromInv.ts @@ -0,0 +1,167 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RezMultipleAttachmentsFromInvMessage implements MessageBase +{ + name = 'RezMultipleAttachmentsFromInv'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.RezMultipleAttachmentsFromInv; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + HeaderData: { + CompoundMsgID: UUID; + TotalObjects: number; + FirstDetachAll: boolean; + }; + ObjectData: { + ItemID: UUID; + OwnerID: UUID; + AttachmentPt: number; + ItemFlags: number; + GroupMask: number; + EveryoneMask: number; + NextOwnerMask: number; + Name: string; + Description: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.ObjectData, 'Name', 1) + this.calculateVarVarSize(this.ObjectData, 'Description', 1) + 49) * this.ObjectData.length) + 51; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.HeaderData['CompoundMsgID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.HeaderData['TotalObjects'], pos++); + buf.writeUInt8((this.HeaderData['FirstDetachAll']) ? 1 : 0, pos++); + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + this.ObjectData[i]['ItemID'].writeToBuffer(buf, pos); + pos += 16; + this.ObjectData[i]['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.ObjectData[i]['AttachmentPt'], pos++); + buf.writeUInt32LE(this.ObjectData[i]['ItemFlags'], pos); + pos += 4; + buf.writeUInt32LE(this.ObjectData[i]['GroupMask'], pos); + pos += 4; + buf.writeUInt32LE(this.ObjectData[i]['EveryoneMask'], pos); + pos += 4; + buf.writeUInt32LE(this.ObjectData[i]['NextOwnerMask'], pos); + pos += 4; + buf.writeUInt8(this.ObjectData[i]['Name'].length, pos++); + buf.write(this.ObjectData[i]['Name'], pos); + pos += this.ObjectData[i]['Name'].length; + buf.writeUInt8(this.ObjectData[i]['Description'].length, pos++); + buf.write(this.ObjectData[i]['Description'], pos); + pos += this.ObjectData[i]['Description'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjHeaderData: { + CompoundMsgID: UUID, + TotalObjects: number, + FirstDetachAll: boolean + } = { + CompoundMsgID: UUID.zero(), + TotalObjects: 0, + FirstDetachAll: false + }; + newObjHeaderData['CompoundMsgID'] = new UUID(buf, pos); + pos += 16; + newObjHeaderData['TotalObjects'] = buf.readUInt8(pos++); + newObjHeaderData['FirstDetachAll'] = (buf.readUInt8(pos++) === 1); + this.HeaderData = newObjHeaderData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ItemID: UUID, + OwnerID: UUID, + AttachmentPt: number, + ItemFlags: number, + GroupMask: number, + EveryoneMask: number, + NextOwnerMask: number, + Name: string, + Description: string + } = { + ItemID: UUID.zero(), + OwnerID: UUID.zero(), + AttachmentPt: 0, + ItemFlags: 0, + GroupMask: 0, + EveryoneMask: 0, + NextOwnerMask: 0, + Name: '', + Description: '' + }; + newObjObjectData['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjObjectData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjObjectData['AttachmentPt'] = buf.readUInt8(pos++); + newObjObjectData['ItemFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['GroupMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['EveryoneMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['NextOwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjObjectData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjObjectData['Description'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RezObject.ts b/lib/classes/messages/RezObject.ts new file mode 100644 index 0000000..a7bcb46 --- /dev/null +++ b/lib/classes/messages/RezObject.ts @@ -0,0 +1,292 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RezObjectMessage implements MessageBase +{ + name = 'RezObject'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.RezObject; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + GroupID: UUID; + }; + RezData: { + FromTaskID: UUID; + BypassRaycast: number; + RayStart: Vector3; + RayEnd: Vector3; + RayTargetID: UUID; + RayEndIsIntersection: boolean; + RezSelected: boolean; + RemoveItem: boolean; + ItemFlags: number; + GroupMask: number; + EveryoneMask: number; + NextOwnerMask: number; + }; + InventoryData: { + ItemID: UUID; + FolderID: UUID; + CreatorID: UUID; + OwnerID: UUID; + GroupID: UUID; + BaseMask: number; + OwnerMask: number; + GroupMask: number; + EveryoneMask: number; + NextOwnerMask: number; + GroupOwned: boolean; + TransactionID: UUID; + Type: number; + InvType: number; + Flags: number; + SaleType: number; + SalePrice: number; + Name: string; + Description: string; + CreationDate: number; + CRC: number; + }; + + getSize(): number + { + return (this.InventoryData['Name'].length + 1 + this.InventoryData['Description'].length + 1) + 260; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + this.RezData['FromTaskID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.RezData['BypassRaycast'], pos++); + this.RezData['RayStart'].writeToBuffer(buf, pos, false); + pos += 12; + this.RezData['RayEnd'].writeToBuffer(buf, pos, false); + pos += 12; + this.RezData['RayTargetID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.RezData['RayEndIsIntersection']) ? 1 : 0, pos++); + buf.writeUInt8((this.RezData['RezSelected']) ? 1 : 0, pos++); + buf.writeUInt8((this.RezData['RemoveItem']) ? 1 : 0, pos++); + buf.writeUInt32LE(this.RezData['ItemFlags'], pos); + pos += 4; + buf.writeUInt32LE(this.RezData['GroupMask'], pos); + pos += 4; + buf.writeUInt32LE(this.RezData['EveryoneMask'], pos); + pos += 4; + buf.writeUInt32LE(this.RezData['NextOwnerMask'], pos); + pos += 4; + this.InventoryData['ItemID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData['FolderID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData['CreatorID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.InventoryData['BaseMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData['OwnerMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData['GroupMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData['EveryoneMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData['NextOwnerMask'], pos); + pos += 4; + buf.writeUInt8((this.InventoryData['GroupOwned']) ? 1 : 0, pos++); + this.InventoryData['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt8(this.InventoryData['Type'], pos++); + buf.writeInt8(this.InventoryData['InvType'], pos++); + buf.writeUInt32LE(this.InventoryData['Flags'], pos); + pos += 4; + buf.writeUInt8(this.InventoryData['SaleType'], pos++); + buf.writeInt32LE(this.InventoryData['SalePrice'], pos); + pos += 4; + buf.writeUInt8(this.InventoryData['Name'].length, pos++); + buf.write(this.InventoryData['Name'], pos); + pos += this.InventoryData['Name'].length; + buf.writeUInt8(this.InventoryData['Description'].length, pos++); + buf.write(this.InventoryData['Description'], pos); + pos += this.InventoryData['Description'].length; + buf.writeInt32LE(this.InventoryData['CreationDate'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData['CRC'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + GroupID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + GroupID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjRezData: { + FromTaskID: UUID, + BypassRaycast: number, + RayStart: Vector3, + RayEnd: Vector3, + RayTargetID: UUID, + RayEndIsIntersection: boolean, + RezSelected: boolean, + RemoveItem: boolean, + ItemFlags: number, + GroupMask: number, + EveryoneMask: number, + NextOwnerMask: number + } = { + FromTaskID: UUID.zero(), + BypassRaycast: 0, + RayStart: Vector3.getZero(), + RayEnd: Vector3.getZero(), + RayTargetID: UUID.zero(), + RayEndIsIntersection: false, + RezSelected: false, + RemoveItem: false, + ItemFlags: 0, + GroupMask: 0, + EveryoneMask: 0, + NextOwnerMask: 0 + }; + newObjRezData['FromTaskID'] = new UUID(buf, pos); + pos += 16; + newObjRezData['BypassRaycast'] = buf.readUInt8(pos++); + newObjRezData['RayStart'] = new Vector3(buf, pos, false); + pos += 12; + newObjRezData['RayEnd'] = new Vector3(buf, pos, false); + pos += 12; + newObjRezData['RayTargetID'] = new UUID(buf, pos); + pos += 16; + newObjRezData['RayEndIsIntersection'] = (buf.readUInt8(pos++) === 1); + newObjRezData['RezSelected'] = (buf.readUInt8(pos++) === 1); + newObjRezData['RemoveItem'] = (buf.readUInt8(pos++) === 1); + newObjRezData['ItemFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjRezData['GroupMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjRezData['EveryoneMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjRezData['NextOwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + this.RezData = newObjRezData; + const newObjInventoryData: { + ItemID: UUID, + FolderID: UUID, + CreatorID: UUID, + OwnerID: UUID, + GroupID: UUID, + BaseMask: number, + OwnerMask: number, + GroupMask: number, + EveryoneMask: number, + NextOwnerMask: number, + GroupOwned: boolean, + TransactionID: UUID, + Type: number, + InvType: number, + Flags: number, + SaleType: number, + SalePrice: number, + Name: string, + Description: string, + CreationDate: number, + CRC: number + } = { + ItemID: UUID.zero(), + FolderID: UUID.zero(), + CreatorID: UUID.zero(), + OwnerID: UUID.zero(), + GroupID: UUID.zero(), + BaseMask: 0, + OwnerMask: 0, + GroupMask: 0, + EveryoneMask: 0, + NextOwnerMask: 0, + GroupOwned: false, + TransactionID: UUID.zero(), + Type: 0, + InvType: 0, + Flags: 0, + SaleType: 0, + SalePrice: 0, + Name: '', + Description: '', + CreationDate: 0, + CRC: 0 + }; + newObjInventoryData['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['FolderID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['CreatorID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['BaseMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['OwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['GroupMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['EveryoneMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['NextOwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['GroupOwned'] = (buf.readUInt8(pos++) === 1); + newObjInventoryData['TransactionID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['Type'] = buf.readInt8(pos++); + newObjInventoryData['InvType'] = buf.readInt8(pos++); + newObjInventoryData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['SaleType'] = buf.readUInt8(pos++); + newObjInventoryData['SalePrice'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjInventoryData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjInventoryData['Description'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjInventoryData['CreationDate'] = buf.readInt32LE(pos); + pos += 4; + newObjInventoryData['CRC'] = buf.readUInt32LE(pos); + pos += 4; + this.InventoryData = newObjInventoryData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RezObjectFromNotecard.ts b/lib/classes/messages/RezObjectFromNotecard.ts new file mode 100644 index 0000000..d312fa3 --- /dev/null +++ b/lib/classes/messages/RezObjectFromNotecard.ts @@ -0,0 +1,186 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RezObjectFromNotecardMessage implements MessageBase +{ + name = 'RezObjectFromNotecard'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.RezObjectFromNotecard; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + GroupID: UUID; + }; + RezData: { + FromTaskID: UUID; + BypassRaycast: number; + RayStart: Vector3; + RayEnd: Vector3; + RayTargetID: UUID; + RayEndIsIntersection: boolean; + RezSelected: boolean; + RemoveItem: boolean; + ItemFlags: number; + GroupMask: number; + EveryoneMask: number; + NextOwnerMask: number; + }; + NotecardData: { + NotecardItemID: UUID; + ObjectID: UUID; + }; + InventoryData: { + ItemID: UUID; + }[]; + + getSize(): number + { + return ((16) * this.InventoryData.length) + 157; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + this.RezData['FromTaskID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.RezData['BypassRaycast'], pos++); + this.RezData['RayStart'].writeToBuffer(buf, pos, false); + pos += 12; + this.RezData['RayEnd'].writeToBuffer(buf, pos, false); + pos += 12; + this.RezData['RayTargetID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.RezData['RayEndIsIntersection']) ? 1 : 0, pos++); + buf.writeUInt8((this.RezData['RezSelected']) ? 1 : 0, pos++); + buf.writeUInt8((this.RezData['RemoveItem']) ? 1 : 0, pos++); + buf.writeUInt32LE(this.RezData['ItemFlags'], pos); + pos += 4; + buf.writeUInt32LE(this.RezData['GroupMask'], pos); + pos += 4; + buf.writeUInt32LE(this.RezData['EveryoneMask'], pos); + pos += 4; + buf.writeUInt32LE(this.RezData['NextOwnerMask'], pos); + pos += 4; + this.NotecardData['NotecardItemID'].writeToBuffer(buf, pos); + pos += 16; + this.NotecardData['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.InventoryData.length; + buf.writeUInt8(this.InventoryData.length, pos++); + for (let i = 0; i < count; i++) + { + this.InventoryData[i]['ItemID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + GroupID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + GroupID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjRezData: { + FromTaskID: UUID, + BypassRaycast: number, + RayStart: Vector3, + RayEnd: Vector3, + RayTargetID: UUID, + RayEndIsIntersection: boolean, + RezSelected: boolean, + RemoveItem: boolean, + ItemFlags: number, + GroupMask: number, + EveryoneMask: number, + NextOwnerMask: number + } = { + FromTaskID: UUID.zero(), + BypassRaycast: 0, + RayStart: Vector3.getZero(), + RayEnd: Vector3.getZero(), + RayTargetID: UUID.zero(), + RayEndIsIntersection: false, + RezSelected: false, + RemoveItem: false, + ItemFlags: 0, + GroupMask: 0, + EveryoneMask: 0, + NextOwnerMask: 0 + }; + newObjRezData['FromTaskID'] = new UUID(buf, pos); + pos += 16; + newObjRezData['BypassRaycast'] = buf.readUInt8(pos++); + newObjRezData['RayStart'] = new Vector3(buf, pos, false); + pos += 12; + newObjRezData['RayEnd'] = new Vector3(buf, pos, false); + pos += 12; + newObjRezData['RayTargetID'] = new UUID(buf, pos); + pos += 16; + newObjRezData['RayEndIsIntersection'] = (buf.readUInt8(pos++) === 1); + newObjRezData['RezSelected'] = (buf.readUInt8(pos++) === 1); + newObjRezData['RemoveItem'] = (buf.readUInt8(pos++) === 1); + newObjRezData['ItemFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjRezData['GroupMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjRezData['EveryoneMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjRezData['NextOwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + this.RezData = newObjRezData; + const newObjNotecardData: { + NotecardItemID: UUID, + ObjectID: UUID + } = { + NotecardItemID: UUID.zero(), + ObjectID: UUID.zero() + }; + newObjNotecardData['NotecardItemID'] = new UUID(buf, pos); + pos += 16; + newObjNotecardData['ObjectID'] = new UUID(buf, pos); + pos += 16; + this.NotecardData = newObjNotecardData; + const count = buf.readUInt8(pos++); + this.InventoryData = []; + for (let i = 0; i < count; i++) + { + const newObjInventoryData: { + ItemID: UUID + } = { + ItemID: UUID.zero() + }; + newObjInventoryData['ItemID'] = new UUID(buf, pos); + pos += 16; + this.InventoryData.push(newObjInventoryData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RezRestoreToWorld.ts b/lib/classes/messages/RezRestoreToWorld.ts new file mode 100644 index 0000000..7c10512 --- /dev/null +++ b/lib/classes/messages/RezRestoreToWorld.ts @@ -0,0 +1,202 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RezRestoreToWorldMessage implements MessageBase +{ + name = 'RezRestoreToWorld'; + messageFlags = MessageFlags.Deprecated | MessageFlags.FrequencyLow; + id = Message.RezRestoreToWorld; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + InventoryData: { + ItemID: UUID; + FolderID: UUID; + CreatorID: UUID; + OwnerID: UUID; + GroupID: UUID; + BaseMask: number; + OwnerMask: number; + GroupMask: number; + EveryoneMask: number; + NextOwnerMask: number; + GroupOwned: boolean; + TransactionID: UUID; + Type: number; + InvType: number; + Flags: number; + SaleType: number; + SalePrice: number; + Name: string; + Description: string; + CreationDate: number; + CRC: number; + }; + + getSize(): number + { + return (this.InventoryData['Name'].length + 1 + this.InventoryData['Description'].length + 1) + 168; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData['ItemID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData['FolderID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData['CreatorID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.InventoryData['BaseMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData['OwnerMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData['GroupMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData['EveryoneMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData['NextOwnerMask'], pos); + pos += 4; + buf.writeUInt8((this.InventoryData['GroupOwned']) ? 1 : 0, pos++); + this.InventoryData['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt8(this.InventoryData['Type'], pos++); + buf.writeInt8(this.InventoryData['InvType'], pos++); + buf.writeUInt32LE(this.InventoryData['Flags'], pos); + pos += 4; + buf.writeUInt8(this.InventoryData['SaleType'], pos++); + buf.writeInt32LE(this.InventoryData['SalePrice'], pos); + pos += 4; + buf.writeUInt8(this.InventoryData['Name'].length, pos++); + buf.write(this.InventoryData['Name'], pos); + pos += this.InventoryData['Name'].length; + buf.writeUInt8(this.InventoryData['Description'].length, pos++); + buf.write(this.InventoryData['Description'], pos); + pos += this.InventoryData['Description'].length; + buf.writeInt32LE(this.InventoryData['CreationDate'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData['CRC'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjInventoryData: { + ItemID: UUID, + FolderID: UUID, + CreatorID: UUID, + OwnerID: UUID, + GroupID: UUID, + BaseMask: number, + OwnerMask: number, + GroupMask: number, + EveryoneMask: number, + NextOwnerMask: number, + GroupOwned: boolean, + TransactionID: UUID, + Type: number, + InvType: number, + Flags: number, + SaleType: number, + SalePrice: number, + Name: string, + Description: string, + CreationDate: number, + CRC: number + } = { + ItemID: UUID.zero(), + FolderID: UUID.zero(), + CreatorID: UUID.zero(), + OwnerID: UUID.zero(), + GroupID: UUID.zero(), + BaseMask: 0, + OwnerMask: 0, + GroupMask: 0, + EveryoneMask: 0, + NextOwnerMask: 0, + GroupOwned: false, + TransactionID: UUID.zero(), + Type: 0, + InvType: 0, + Flags: 0, + SaleType: 0, + SalePrice: 0, + Name: '', + Description: '', + CreationDate: 0, + CRC: 0 + }; + newObjInventoryData['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['FolderID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['CreatorID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['BaseMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['OwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['GroupMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['EveryoneMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['NextOwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['GroupOwned'] = (buf.readUInt8(pos++) === 1); + newObjInventoryData['TransactionID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['Type'] = buf.readInt8(pos++); + newObjInventoryData['InvType'] = buf.readInt8(pos++); + newObjInventoryData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['SaleType'] = buf.readUInt8(pos++); + newObjInventoryData['SalePrice'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjInventoryData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjInventoryData['Description'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjInventoryData['CreationDate'] = buf.readInt32LE(pos); + pos += 4; + newObjInventoryData['CRC'] = buf.readUInt32LE(pos); + pos += 4; + this.InventoryData = newObjInventoryData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RezScript.ts b/lib/classes/messages/RezScript.ts new file mode 100644 index 0000000..93bd4bd --- /dev/null +++ b/lib/classes/messages/RezScript.ts @@ -0,0 +1,227 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RezScriptMessage implements MessageBase +{ + name = 'RezScript'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.RezScript; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + GroupID: UUID; + }; + UpdateBlock: { + ObjectLocalID: number; + Enabled: boolean; + }; + InventoryBlock: { + ItemID: UUID; + FolderID: UUID; + CreatorID: UUID; + OwnerID: UUID; + GroupID: UUID; + BaseMask: number; + OwnerMask: number; + GroupMask: number; + EveryoneMask: number; + NextOwnerMask: number; + GroupOwned: boolean; + TransactionID: UUID; + Type: number; + InvType: number; + Flags: number; + SaleType: number; + SalePrice: number; + Name: string; + Description: string; + CreationDate: number; + CRC: number; + }; + + getSize(): number + { + return (this.InventoryBlock['Name'].length + 1 + this.InventoryBlock['Description'].length + 1) + 189; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.UpdateBlock['ObjectLocalID'], pos); + pos += 4; + buf.writeUInt8((this.UpdateBlock['Enabled']) ? 1 : 0, pos++); + this.InventoryBlock['ItemID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryBlock['FolderID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryBlock['CreatorID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryBlock['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryBlock['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.InventoryBlock['BaseMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryBlock['OwnerMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryBlock['GroupMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryBlock['EveryoneMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryBlock['NextOwnerMask'], pos); + pos += 4; + buf.writeUInt8((this.InventoryBlock['GroupOwned']) ? 1 : 0, pos++); + this.InventoryBlock['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt8(this.InventoryBlock['Type'], pos++); + buf.writeInt8(this.InventoryBlock['InvType'], pos++); + buf.writeUInt32LE(this.InventoryBlock['Flags'], pos); + pos += 4; + buf.writeUInt8(this.InventoryBlock['SaleType'], pos++); + buf.writeInt32LE(this.InventoryBlock['SalePrice'], pos); + pos += 4; + buf.writeUInt8(this.InventoryBlock['Name'].length, pos++); + buf.write(this.InventoryBlock['Name'], pos); + pos += this.InventoryBlock['Name'].length; + buf.writeUInt8(this.InventoryBlock['Description'].length, pos++); + buf.write(this.InventoryBlock['Description'], pos); + pos += this.InventoryBlock['Description'].length; + buf.writeInt32LE(this.InventoryBlock['CreationDate'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryBlock['CRC'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + GroupID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + GroupID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjUpdateBlock: { + ObjectLocalID: number, + Enabled: boolean + } = { + ObjectLocalID: 0, + Enabled: false + }; + newObjUpdateBlock['ObjectLocalID'] = buf.readUInt32LE(pos); + pos += 4; + newObjUpdateBlock['Enabled'] = (buf.readUInt8(pos++) === 1); + this.UpdateBlock = newObjUpdateBlock; + const newObjInventoryBlock: { + ItemID: UUID, + FolderID: UUID, + CreatorID: UUID, + OwnerID: UUID, + GroupID: UUID, + BaseMask: number, + OwnerMask: number, + GroupMask: number, + EveryoneMask: number, + NextOwnerMask: number, + GroupOwned: boolean, + TransactionID: UUID, + Type: number, + InvType: number, + Flags: number, + SaleType: number, + SalePrice: number, + Name: string, + Description: string, + CreationDate: number, + CRC: number + } = { + ItemID: UUID.zero(), + FolderID: UUID.zero(), + CreatorID: UUID.zero(), + OwnerID: UUID.zero(), + GroupID: UUID.zero(), + BaseMask: 0, + OwnerMask: 0, + GroupMask: 0, + EveryoneMask: 0, + NextOwnerMask: 0, + GroupOwned: false, + TransactionID: UUID.zero(), + Type: 0, + InvType: 0, + Flags: 0, + SaleType: 0, + SalePrice: 0, + Name: '', + Description: '', + CreationDate: 0, + CRC: 0 + }; + newObjInventoryBlock['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryBlock['FolderID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryBlock['CreatorID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryBlock['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryBlock['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryBlock['BaseMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryBlock['OwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryBlock['GroupMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryBlock['EveryoneMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryBlock['NextOwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryBlock['GroupOwned'] = (buf.readUInt8(pos++) === 1); + newObjInventoryBlock['TransactionID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryBlock['Type'] = buf.readInt8(pos++); + newObjInventoryBlock['InvType'] = buf.readInt8(pos++); + newObjInventoryBlock['Flags'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryBlock['SaleType'] = buf.readUInt8(pos++); + newObjInventoryBlock['SalePrice'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjInventoryBlock['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjInventoryBlock['Description'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjInventoryBlock['CreationDate'] = buf.readInt32LE(pos); + pos += 4; + newObjInventoryBlock['CRC'] = buf.readUInt32LE(pos); + pos += 4; + this.InventoryBlock = newObjInventoryBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RezSingleAttachmentFromInv.ts b/lib/classes/messages/RezSingleAttachmentFromInv.ts new file mode 100644 index 0000000..7d6ac84 --- /dev/null +++ b/lib/classes/messages/RezSingleAttachmentFromInv.ts @@ -0,0 +1,124 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RezSingleAttachmentFromInvMessage implements MessageBase +{ + name = 'RezSingleAttachmentFromInv'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.RezSingleAttachmentFromInv; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ObjectData: { + ItemID: UUID; + OwnerID: UUID; + AttachmentPt: number; + ItemFlags: number; + GroupMask: number; + EveryoneMask: number; + NextOwnerMask: number; + Name: string; + Description: string; + }; + + getSize(): number + { + return (this.ObjectData['Name'].length + 1 + this.ObjectData['Description'].length + 1) + 81; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.ObjectData['ItemID'].writeToBuffer(buf, pos); + pos += 16; + this.ObjectData['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.ObjectData['AttachmentPt'], pos++); + buf.writeUInt32LE(this.ObjectData['ItemFlags'], pos); + pos += 4; + buf.writeUInt32LE(this.ObjectData['GroupMask'], pos); + pos += 4; + buf.writeUInt32LE(this.ObjectData['EveryoneMask'], pos); + pos += 4; + buf.writeUInt32LE(this.ObjectData['NextOwnerMask'], pos); + pos += 4; + buf.writeUInt8(this.ObjectData['Name'].length, pos++); + buf.write(this.ObjectData['Name'], pos); + pos += this.ObjectData['Name'].length; + buf.writeUInt8(this.ObjectData['Description'].length, pos++); + buf.write(this.ObjectData['Description'], pos); + pos += this.ObjectData['Description'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjObjectData: { + ItemID: UUID, + OwnerID: UUID, + AttachmentPt: number, + ItemFlags: number, + GroupMask: number, + EveryoneMask: number, + NextOwnerMask: number, + Name: string, + Description: string + } = { + ItemID: UUID.zero(), + OwnerID: UUID.zero(), + AttachmentPt: 0, + ItemFlags: 0, + GroupMask: 0, + EveryoneMask: 0, + NextOwnerMask: 0, + Name: '', + Description: '' + }; + newObjObjectData['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjObjectData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjObjectData['AttachmentPt'] = buf.readUInt8(pos++); + newObjObjectData['ItemFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['GroupMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['EveryoneMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjObjectData['NextOwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjObjectData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjObjectData['Description'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ObjectData = newObjObjectData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RoutedMoneyBalanceReply.ts b/lib/classes/messages/RoutedMoneyBalanceReply.ts new file mode 100644 index 0000000..c27d8d7 --- /dev/null +++ b/lib/classes/messages/RoutedMoneyBalanceReply.ts @@ -0,0 +1,162 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {IPAddress} from '../IPAddress'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RoutedMoneyBalanceReplyMessage implements MessageBase +{ + name = 'RoutedMoneyBalanceReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyLow; + id = Message.RoutedMoneyBalanceReply; + + TargetBlock: { + TargetIP: IPAddress; + TargetPort: number; + }; + MoneyData: { + AgentID: UUID; + TransactionID: UUID; + TransactionSuccess: boolean; + MoneyBalance: number; + SquareMetersCredit: number; + SquareMetersCommitted: number; + Description: string; + }; + TransactionInfo: { + TransactionType: number; + SourceID: UUID; + IsSourceGroup: boolean; + DestID: UUID; + IsDestGroup: boolean; + Amount: number; + ItemDescription: string; + }; + + getSize(): number + { + return (this.MoneyData['Description'].length + 1) + (this.TransactionInfo['ItemDescription'].length + 1) + 93; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.TargetBlock['TargetIP'].writeToBuffer(buf, pos); + pos += 4; + buf.writeUInt16LE(this.TargetBlock['TargetPort'], pos); + pos += 2; + this.MoneyData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.MoneyData['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.MoneyData['TransactionSuccess']) ? 1 : 0, pos++); + buf.writeInt32LE(this.MoneyData['MoneyBalance'], pos); + pos += 4; + buf.writeInt32LE(this.MoneyData['SquareMetersCredit'], pos); + pos += 4; + buf.writeInt32LE(this.MoneyData['SquareMetersCommitted'], pos); + pos += 4; + buf.writeUInt8(this.MoneyData['Description'].length, pos++); + buf.write(this.MoneyData['Description'], pos); + pos += this.MoneyData['Description'].length; + buf.writeInt32LE(this.TransactionInfo['TransactionType'], pos); + pos += 4; + this.TransactionInfo['SourceID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.TransactionInfo['IsSourceGroup']) ? 1 : 0, pos++); + this.TransactionInfo['DestID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.TransactionInfo['IsDestGroup']) ? 1 : 0, pos++); + buf.writeInt32LE(this.TransactionInfo['Amount'], pos); + pos += 4; + buf.writeUInt8(this.TransactionInfo['ItemDescription'].length, pos++); + buf.write(this.TransactionInfo['ItemDescription'], pos); + pos += this.TransactionInfo['ItemDescription'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjTargetBlock: { + TargetIP: IPAddress, + TargetPort: number + } = { + TargetIP: IPAddress.zero(), + TargetPort: 0 + }; + newObjTargetBlock['TargetIP'] = new IPAddress(buf, pos); + pos += 4; + newObjTargetBlock['TargetPort'] = buf.readUInt16LE(pos); + pos += 2; + this.TargetBlock = newObjTargetBlock; + const newObjMoneyData: { + AgentID: UUID, + TransactionID: UUID, + TransactionSuccess: boolean, + MoneyBalance: number, + SquareMetersCredit: number, + SquareMetersCommitted: number, + Description: string + } = { + AgentID: UUID.zero(), + TransactionID: UUID.zero(), + TransactionSuccess: false, + MoneyBalance: 0, + SquareMetersCredit: 0, + SquareMetersCommitted: 0, + Description: '' + }; + newObjMoneyData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjMoneyData['TransactionID'] = new UUID(buf, pos); + pos += 16; + newObjMoneyData['TransactionSuccess'] = (buf.readUInt8(pos++) === 1); + newObjMoneyData['MoneyBalance'] = buf.readInt32LE(pos); + pos += 4; + newObjMoneyData['SquareMetersCredit'] = buf.readInt32LE(pos); + pos += 4; + newObjMoneyData['SquareMetersCommitted'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjMoneyData['Description'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.MoneyData = newObjMoneyData; + const newObjTransactionInfo: { + TransactionType: number, + SourceID: UUID, + IsSourceGroup: boolean, + DestID: UUID, + IsDestGroup: boolean, + Amount: number, + ItemDescription: string + } = { + TransactionType: 0, + SourceID: UUID.zero(), + IsSourceGroup: false, + DestID: UUID.zero(), + IsDestGroup: false, + Amount: 0, + ItemDescription: '' + }; + newObjTransactionInfo['TransactionType'] = buf.readInt32LE(pos); + pos += 4; + newObjTransactionInfo['SourceID'] = new UUID(buf, pos); + pos += 16; + newObjTransactionInfo['IsSourceGroup'] = (buf.readUInt8(pos++) === 1); + newObjTransactionInfo['DestID'] = new UUID(buf, pos); + pos += 16; + newObjTransactionInfo['IsDestGroup'] = (buf.readUInt8(pos++) === 1); + newObjTransactionInfo['Amount'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjTransactionInfo['ItemDescription'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.TransactionInfo = newObjTransactionInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RpcChannelReply.ts b/lib/classes/messages/RpcChannelReply.ts new file mode 100644 index 0000000..9412d8c --- /dev/null +++ b/lib/classes/messages/RpcChannelReply.ts @@ -0,0 +1,60 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RpcChannelReplyMessage implements MessageBase +{ + name = 'RpcChannelReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.RpcChannelReply; + + DataBlock: { + TaskID: UUID; + ItemID: UUID; + ChannelID: UUID; + }; + + getSize(): number + { + return 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.DataBlock['TaskID'].writeToBuffer(buf, pos); + pos += 16; + this.DataBlock['ItemID'].writeToBuffer(buf, pos); + pos += 16; + this.DataBlock['ChannelID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjDataBlock: { + TaskID: UUID, + ItemID: UUID, + ChannelID: UUID + } = { + TaskID: UUID.zero(), + ItemID: UUID.zero(), + ChannelID: UUID.zero() + }; + newObjDataBlock['TaskID'] = new UUID(buf, pos); + pos += 16; + newObjDataBlock['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjDataBlock['ChannelID'] = new UUID(buf, pos); + pos += 16; + this.DataBlock = newObjDataBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RpcChannelRequest.ts b/lib/classes/messages/RpcChannelRequest.ts new file mode 100644 index 0000000..456146c --- /dev/null +++ b/lib/classes/messages/RpcChannelRequest.ts @@ -0,0 +1,67 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RpcChannelRequestMessage implements MessageBase +{ + name = 'RpcChannelRequest'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.RpcChannelRequest; + + DataBlock: { + GridX: number; + GridY: number; + TaskID: UUID; + ItemID: UUID; + }; + + getSize(): number + { + return 40; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt32LE(this.DataBlock['GridX'], pos); + pos += 4; + buf.writeUInt32LE(this.DataBlock['GridY'], pos); + pos += 4; + this.DataBlock['TaskID'].writeToBuffer(buf, pos); + pos += 16; + this.DataBlock['ItemID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjDataBlock: { + GridX: number, + GridY: number, + TaskID: UUID, + ItemID: UUID + } = { + GridX: 0, + GridY: 0, + TaskID: UUID.zero(), + ItemID: UUID.zero() + }; + newObjDataBlock['GridX'] = buf.readUInt32LE(pos); + pos += 4; + newObjDataBlock['GridY'] = buf.readUInt32LE(pos); + pos += 4; + newObjDataBlock['TaskID'] = new UUID(buf, pos); + pos += 16; + newObjDataBlock['ItemID'] = new UUID(buf, pos); + pos += 16; + this.DataBlock = newObjDataBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RpcScriptReplyInbound.ts b/lib/classes/messages/RpcScriptReplyInbound.ts new file mode 100644 index 0000000..4f1a250 --- /dev/null +++ b/lib/classes/messages/RpcScriptReplyInbound.ts @@ -0,0 +1,78 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RpcScriptReplyInboundMessage implements MessageBase +{ + name = 'RpcScriptReplyInbound'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.RpcScriptReplyInbound; + + DataBlock: { + TaskID: UUID; + ItemID: UUID; + ChannelID: UUID; + IntValue: number; + StringValue: string; + }; + + getSize(): number + { + return (this.DataBlock['StringValue'].length + 2) + 52; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.DataBlock['TaskID'].writeToBuffer(buf, pos); + pos += 16; + this.DataBlock['ItemID'].writeToBuffer(buf, pos); + pos += 16; + this.DataBlock['ChannelID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.DataBlock['IntValue'], pos); + pos += 4; + buf.writeUInt16LE(this.DataBlock['StringValue'].length, pos); + pos += 2; + buf.write(this.DataBlock['StringValue'], pos); + pos += this.DataBlock['StringValue'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjDataBlock: { + TaskID: UUID, + ItemID: UUID, + ChannelID: UUID, + IntValue: number, + StringValue: string + } = { + TaskID: UUID.zero(), + ItemID: UUID.zero(), + ChannelID: UUID.zero(), + IntValue: 0, + StringValue: '' + }; + newObjDataBlock['TaskID'] = new UUID(buf, pos); + pos += 16; + newObjDataBlock['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjDataBlock['ChannelID'] = new UUID(buf, pos); + pos += 16; + newObjDataBlock['IntValue'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjDataBlock['StringValue'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.DataBlock = newObjDataBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RpcScriptRequestInbound.ts b/lib/classes/messages/RpcScriptRequestInbound.ts new file mode 100644 index 0000000..bf32fcf --- /dev/null +++ b/lib/classes/messages/RpcScriptRequestInbound.ts @@ -0,0 +1,98 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RpcScriptRequestInboundMessage implements MessageBase +{ + name = 'RpcScriptRequestInbound'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.RpcScriptRequestInbound; + + TargetBlock: { + GridX: number; + GridY: number; + }; + DataBlock: { + TaskID: UUID; + ItemID: UUID; + ChannelID: UUID; + IntValue: number; + StringValue: string; + }; + + getSize(): number + { + return (this.DataBlock['StringValue'].length + 2) + 60; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt32LE(this.TargetBlock['GridX'], pos); + pos += 4; + buf.writeUInt32LE(this.TargetBlock['GridY'], pos); + pos += 4; + this.DataBlock['TaskID'].writeToBuffer(buf, pos); + pos += 16; + this.DataBlock['ItemID'].writeToBuffer(buf, pos); + pos += 16; + this.DataBlock['ChannelID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.DataBlock['IntValue'], pos); + pos += 4; + buf.writeUInt16LE(this.DataBlock['StringValue'].length, pos); + pos += 2; + buf.write(this.DataBlock['StringValue'], pos); + pos += this.DataBlock['StringValue'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjTargetBlock: { + GridX: number, + GridY: number + } = { + GridX: 0, + GridY: 0 + }; + newObjTargetBlock['GridX'] = buf.readUInt32LE(pos); + pos += 4; + newObjTargetBlock['GridY'] = buf.readUInt32LE(pos); + pos += 4; + this.TargetBlock = newObjTargetBlock; + const newObjDataBlock: { + TaskID: UUID, + ItemID: UUID, + ChannelID: UUID, + IntValue: number, + StringValue: string + } = { + TaskID: UUID.zero(), + ItemID: UUID.zero(), + ChannelID: UUID.zero(), + IntValue: 0, + StringValue: '' + }; + newObjDataBlock['TaskID'] = new UUID(buf, pos); + pos += 16; + newObjDataBlock['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjDataBlock['ChannelID'] = new UUID(buf, pos); + pos += 16; + newObjDataBlock['IntValue'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjDataBlock['StringValue'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.DataBlock = newObjDataBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/RpcScriptRequestInboundForward.ts b/lib/classes/messages/RpcScriptRequestInboundForward.ts new file mode 100644 index 0000000..6293203 --- /dev/null +++ b/lib/classes/messages/RpcScriptRequestInboundForward.ts @@ -0,0 +1,93 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {IPAddress} from '../IPAddress'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class RpcScriptRequestInboundForwardMessage implements MessageBase +{ + name = 'RpcScriptRequestInboundForward'; + messageFlags = MessageFlags.Trusted | MessageFlags.Deprecated | MessageFlags.FrequencyLow; + id = Message.RpcScriptRequestInboundForward; + + DataBlock: { + RPCServerIP: IPAddress; + RPCServerPort: number; + TaskID: UUID; + ItemID: UUID; + ChannelID: UUID; + IntValue: number; + StringValue: string; + }; + + getSize(): number + { + return (this.DataBlock['StringValue'].length + 2) + 58; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.DataBlock['RPCServerIP'].writeToBuffer(buf, pos); + pos += 4; + buf.writeUInt16LE(this.DataBlock['RPCServerPort'], pos); + pos += 2; + this.DataBlock['TaskID'].writeToBuffer(buf, pos); + pos += 16; + this.DataBlock['ItemID'].writeToBuffer(buf, pos); + pos += 16; + this.DataBlock['ChannelID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.DataBlock['IntValue'], pos); + pos += 4; + buf.writeUInt16LE(this.DataBlock['StringValue'].length, pos); + pos += 2; + buf.write(this.DataBlock['StringValue'], pos); + pos += this.DataBlock['StringValue'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjDataBlock: { + RPCServerIP: IPAddress, + RPCServerPort: number, + TaskID: UUID, + ItemID: UUID, + ChannelID: UUID, + IntValue: number, + StringValue: string + } = { + RPCServerIP: IPAddress.zero(), + RPCServerPort: 0, + TaskID: UUID.zero(), + ItemID: UUID.zero(), + ChannelID: UUID.zero(), + IntValue: 0, + StringValue: '' + }; + newObjDataBlock['RPCServerIP'] = new IPAddress(buf, pos); + pos += 4; + newObjDataBlock['RPCServerPort'] = buf.readUInt16LE(pos); + pos += 2; + newObjDataBlock['TaskID'] = new UUID(buf, pos); + pos += 16; + newObjDataBlock['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjDataBlock['ChannelID'] = new UUID(buf, pos); + pos += 16; + newObjDataBlock['IntValue'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjDataBlock['StringValue'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.DataBlock = newObjDataBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/SaveAssetIntoInventory.ts b/lib/classes/messages/SaveAssetIntoInventory.ts new file mode 100644 index 0000000..b4319c3 --- /dev/null +++ b/lib/classes/messages/SaveAssetIntoInventory.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SaveAssetIntoInventoryMessage implements MessageBase +{ + name = 'SaveAssetIntoInventory'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.SaveAssetIntoInventory; + + AgentData: { + AgentID: UUID; + }; + InventoryData: { + ItemID: UUID; + NewAssetID: UUID; + }; + + getSize(): number + { + return 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData['ItemID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData['NewAssetID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjInventoryData: { + ItemID: UUID, + NewAssetID: UUID + } = { + ItemID: UUID.zero(), + NewAssetID: UUID.zero() + }; + newObjInventoryData['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['NewAssetID'] = new UUID(buf, pos); + pos += 16; + this.InventoryData = newObjInventoryData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ScriptAnswerYes.ts b/lib/classes/messages/ScriptAnswerYes.ts new file mode 100644 index 0000000..fce2892 --- /dev/null +++ b/lib/classes/messages/ScriptAnswerYes.ts @@ -0,0 +1,80 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ScriptAnswerYesMessage implements MessageBase +{ + name = 'ScriptAnswerYes'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.ScriptAnswerYes; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + TaskID: UUID; + ItemID: UUID; + Questions: number; + }; + + getSize(): number + { + return 68; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['TaskID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['ItemID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.Data['Questions'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + TaskID: UUID, + ItemID: UUID, + Questions: number + } = { + TaskID: UUID.zero(), + ItemID: UUID.zero(), + Questions: 0 + }; + newObjData['TaskID'] = new UUID(buf, pos); + pos += 16; + newObjData['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjData['Questions'] = buf.readInt32LE(pos); + pos += 4; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ScriptControlChange.ts b/lib/classes/messages/ScriptControlChange.ts new file mode 100644 index 0000000..b33ac7c --- /dev/null +++ b/lib/classes/messages/ScriptControlChange.ts @@ -0,0 +1,65 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ScriptControlChangeMessage implements MessageBase +{ + name = 'ScriptControlChange'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.ScriptControlChange; + + Data: { + TakeControls: boolean; + Controls: number; + PassToAgent: boolean; + }[]; + + getSize(): number + { + return ((6) * this.Data.length) + 1; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.Data.length; + buf.writeUInt8(this.Data.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt8((this.Data[i]['TakeControls']) ? 1 : 0, pos++); + buf.writeUInt32LE(this.Data[i]['Controls'], pos); + pos += 4; + buf.writeUInt8((this.Data[i]['PassToAgent']) ? 1 : 0, pos++); + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.Data = []; + for (let i = 0; i < count; i++) + { + const newObjData: { + TakeControls: boolean, + Controls: number, + PassToAgent: boolean + } = { + TakeControls: false, + Controls: 0, + PassToAgent: false + }; + newObjData['TakeControls'] = (buf.readUInt8(pos++) === 1); + newObjData['Controls'] = buf.readUInt32LE(pos); + pos += 4; + newObjData['PassToAgent'] = (buf.readUInt8(pos++) === 1); + this.Data.push(newObjData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ScriptDataReply.ts b/lib/classes/messages/ScriptDataReply.ts new file mode 100644 index 0000000..becd765 --- /dev/null +++ b/lib/classes/messages/ScriptDataReply.ts @@ -0,0 +1,79 @@ +// This file has been automatically generated by writeMessageClasses.js + +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ScriptDataReplyMessage implements MessageBase +{ + name = 'ScriptDataReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.ScriptDataReply; + + DataBlock: { + Hash: Long; + Reply: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.DataBlock, 'Reply', 2) + 8) * this.DataBlock.length) + 1; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.DataBlock.length; + buf.writeUInt8(this.DataBlock.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeInt32LE(this.DataBlock[i]['Hash'].low, pos); + pos += 4; + buf.writeInt32LE(this.DataBlock[i]['Hash'].high, pos); + pos += 4; + buf.writeUInt16LE(this.DataBlock[i]['Reply'].length, pos); + pos += 2; + buf.write(this.DataBlock[i]['Reply'], pos); + pos += this.DataBlock[i]['Reply'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.DataBlock = []; + for (let i = 0; i < count; i++) + { + const newObjDataBlock: { + Hash: Long, + Reply: string + } = { + Hash: Long.ZERO, + Reply: '' + }; + newObjDataBlock['Hash'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjDataBlock['Reply'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.DataBlock.push(newObjDataBlock); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ScriptDataRequest.ts b/lib/classes/messages/ScriptDataRequest.ts new file mode 100644 index 0000000..dc1446a --- /dev/null +++ b/lib/classes/messages/ScriptDataRequest.ts @@ -0,0 +1,84 @@ +// This file has been automatically generated by writeMessageClasses.js + +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ScriptDataRequestMessage implements MessageBase +{ + name = 'ScriptDataRequest'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.ScriptDataRequest; + + DataBlock: { + Hash: Long; + RequestType: number; + Request: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.DataBlock, 'Request', 2) + 9) * this.DataBlock.length) + 1; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.DataBlock.length; + buf.writeUInt8(this.DataBlock.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeInt32LE(this.DataBlock[i]['Hash'].low, pos); + pos += 4; + buf.writeInt32LE(this.DataBlock[i]['Hash'].high, pos); + pos += 4; + buf.writeInt8(this.DataBlock[i]['RequestType'], pos++); + buf.writeUInt16LE(this.DataBlock[i]['Request'].length, pos); + pos += 2; + buf.write(this.DataBlock[i]['Request'], pos); + pos += this.DataBlock[i]['Request'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.DataBlock = []; + for (let i = 0; i < count; i++) + { + const newObjDataBlock: { + Hash: Long, + RequestType: number, + Request: string + } = { + Hash: Long.ZERO, + RequestType: 0, + Request: '' + }; + newObjDataBlock['Hash'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjDataBlock['RequestType'] = buf.readInt8(pos++); + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjDataBlock['Request'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.DataBlock.push(newObjDataBlock); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ScriptDialog.ts b/lib/classes/messages/ScriptDialog.ts new file mode 100644 index 0000000..87d3acb --- /dev/null +++ b/lib/classes/messages/ScriptDialog.ts @@ -0,0 +1,156 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ScriptDialogMessage implements MessageBase +{ + name = 'ScriptDialog'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ScriptDialog; + + Data: { + ObjectID: UUID; + FirstName: string; + LastName: string; + ObjectName: string; + Message: string; + ChatChannel: number; + ImageID: UUID; + }; + Buttons: { + ButtonLabel: string; + }[]; + OwnerData: { + OwnerID: UUID; + }[]; + + getSize(): number + { + return (this.Data['FirstName'].length + 1 + this.Data['LastName'].length + 1 + this.Data['ObjectName'].length + 1 + this.Data['Message'].length + 2) + ((this.calculateVarVarSize(this.Buttons, 'ButtonLabel', 1)) * this.Buttons.length) + ((16) * this.OwnerData.length) + 38; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.Data['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.Data['FirstName'].length, pos++); + buf.write(this.Data['FirstName'], pos); + pos += this.Data['FirstName'].length; + buf.writeUInt8(this.Data['LastName'].length, pos++); + buf.write(this.Data['LastName'], pos); + pos += this.Data['LastName'].length; + buf.writeUInt8(this.Data['ObjectName'].length, pos++); + buf.write(this.Data['ObjectName'], pos); + pos += this.Data['ObjectName'].length; + buf.writeUInt16LE(this.Data['Message'].length, pos); + pos += 2; + buf.write(this.Data['Message'], pos); + pos += this.Data['Message'].length; + buf.writeInt32LE(this.Data['ChatChannel'], pos); + pos += 4; + this.Data['ImageID'].writeToBuffer(buf, pos); + pos += 16; + let count = this.Buttons.length; + buf.writeUInt8(this.Buttons.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt8(this.Buttons[i]['ButtonLabel'].length, pos++); + buf.write(this.Buttons[i]['ButtonLabel'], pos); + pos += this.Buttons[i]['ButtonLabel'].length; + } + count = this.OwnerData.length; + buf.writeUInt8(this.OwnerData.length, pos++); + for (let i = 0; i < count; i++) + { + this.OwnerData[i]['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjData: { + ObjectID: UUID, + FirstName: string, + LastName: string, + ObjectName: string, + Message: string, + ChatChannel: number, + ImageID: UUID + } = { + ObjectID: UUID.zero(), + FirstName: '', + LastName: '', + ObjectName: '', + Message: '', + ChatChannel: 0, + ImageID: UUID.zero() + }; + newObjData['ObjectID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjData['FirstName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjData['LastName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjData['ObjectName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjData['Message'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjData['ChatChannel'] = buf.readInt32LE(pos); + pos += 4; + newObjData['ImageID'] = new UUID(buf, pos); + pos += 16; + this.Data = newObjData; + let count = buf.readUInt8(pos++); + this.Buttons = []; + for (let i = 0; i < count; i++) + { + const newObjButtons: { + ButtonLabel: string + } = { + ButtonLabel: '' + }; + varLength = buf.readUInt8(pos++); + newObjButtons['ButtonLabel'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.Buttons.push(newObjButtons); + } + count = buf.readUInt8(pos++); + this.OwnerData = []; + for (let i = 0; i < count; i++) + { + const newObjOwnerData: { + OwnerID: UUID + } = { + OwnerID: UUID.zero() + }; + newObjOwnerData['OwnerID'] = new UUID(buf, pos); + pos += 16; + this.OwnerData.push(newObjOwnerData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ScriptDialogReply.ts b/lib/classes/messages/ScriptDialogReply.ts new file mode 100644 index 0000000..3a1a9b1 --- /dev/null +++ b/lib/classes/messages/ScriptDialogReply.ts @@ -0,0 +1,89 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ScriptDialogReplyMessage implements MessageBase +{ + name = 'ScriptDialogReply'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ScriptDialogReply; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + ObjectID: UUID; + ChatChannel: number; + ButtonIndex: number; + ButtonLabel: string; + }; + + getSize(): number + { + return (this.Data['ButtonLabel'].length + 1) + 56; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.Data['ChatChannel'], pos); + pos += 4; + buf.writeInt32LE(this.Data['ButtonIndex'], pos); + pos += 4; + buf.writeUInt8(this.Data['ButtonLabel'].length, pos++); + buf.write(this.Data['ButtonLabel'], pos); + pos += this.Data['ButtonLabel'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + ObjectID: UUID, + ChatChannel: number, + ButtonIndex: number, + ButtonLabel: string + } = { + ObjectID: UUID.zero(), + ChatChannel: 0, + ButtonIndex: 0, + ButtonLabel: '' + }; + newObjData['ObjectID'] = new UUID(buf, pos); + pos += 16; + newObjData['ChatChannel'] = buf.readInt32LE(pos); + pos += 4; + newObjData['ButtonIndex'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjData['ButtonLabel'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ScriptMailRegistration.ts b/lib/classes/messages/ScriptMailRegistration.ts new file mode 100644 index 0000000..eef636e --- /dev/null +++ b/lib/classes/messages/ScriptMailRegistration.ts @@ -0,0 +1,69 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ScriptMailRegistrationMessage implements MessageBase +{ + name = 'ScriptMailRegistration'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.ScriptMailRegistration; + + DataBlock: { + TargetIP: string; + TargetPort: number; + TaskID: UUID; + Flags: number; + }; + + getSize(): number + { + return (this.DataBlock['TargetIP'].length + 1) + 22; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt8(this.DataBlock['TargetIP'].length, pos++); + buf.write(this.DataBlock['TargetIP'], pos); + pos += this.DataBlock['TargetIP'].length; + buf.writeUInt16LE(this.DataBlock['TargetPort'], pos); + pos += 2; + this.DataBlock['TaskID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.DataBlock['Flags'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjDataBlock: { + TargetIP: string, + TargetPort: number, + TaskID: UUID, + Flags: number + } = { + TargetIP: '', + TargetPort: 0, + TaskID: UUID.zero(), + Flags: 0 + }; + varLength = buf.readUInt8(pos++); + newObjDataBlock['TargetIP'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjDataBlock['TargetPort'] = buf.readUInt16LE(pos); + pos += 2; + newObjDataBlock['TaskID'] = new UUID(buf, pos); + pos += 16; + newObjDataBlock['Flags'] = buf.readUInt32LE(pos); + pos += 4; + this.DataBlock = newObjDataBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ScriptQuestion.ts b/lib/classes/messages/ScriptQuestion.ts new file mode 100644 index 0000000..3a042e5 --- /dev/null +++ b/lib/classes/messages/ScriptQuestion.ts @@ -0,0 +1,91 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ScriptQuestionMessage implements MessageBase +{ + name = 'ScriptQuestion'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.ScriptQuestion; + + Data: { + TaskID: UUID; + ItemID: UUID; + ObjectName: string; + ObjectOwner: string; + Questions: number; + }; + Experience: { + ExperienceID: UUID; + }; + + getSize(): number + { + return (this.Data['ObjectName'].length + 1 + this.Data['ObjectOwner'].length + 1) + 52; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.Data['TaskID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['ItemID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.Data['ObjectName'].length, pos++); + buf.write(this.Data['ObjectName'], pos); + pos += this.Data['ObjectName'].length; + buf.writeUInt8(this.Data['ObjectOwner'].length, pos++); + buf.write(this.Data['ObjectOwner'], pos); + pos += this.Data['ObjectOwner'].length; + buf.writeInt32LE(this.Data['Questions'], pos); + pos += 4; + this.Experience['ExperienceID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjData: { + TaskID: UUID, + ItemID: UUID, + ObjectName: string, + ObjectOwner: string, + Questions: number + } = { + TaskID: UUID.zero(), + ItemID: UUID.zero(), + ObjectName: '', + ObjectOwner: '', + Questions: 0 + }; + newObjData['TaskID'] = new UUID(buf, pos); + pos += 16; + newObjData['ItemID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjData['ObjectName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjData['ObjectOwner'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjData['Questions'] = buf.readInt32LE(pos); + pos += 4; + this.Data = newObjData; + const newObjExperience: { + ExperienceID: UUID + } = { + ExperienceID: UUID.zero() + }; + newObjExperience['ExperienceID'] = new UUID(buf, pos); + pos += 16; + this.Experience = newObjExperience; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ScriptReset.ts b/lib/classes/messages/ScriptReset.ts new file mode 100644 index 0000000..70fbcdd --- /dev/null +++ b/lib/classes/messages/ScriptReset.ts @@ -0,0 +1,73 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ScriptResetMessage implements MessageBase +{ + name = 'ScriptReset'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.ScriptReset; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Script: { + ObjectID: UUID; + ItemID: UUID; + }; + + getSize(): number + { + return 64; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Script['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + this.Script['ItemID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjScript: { + ObjectID: UUID, + ItemID: UUID + } = { + ObjectID: UUID.zero(), + ItemID: UUID.zero() + }; + newObjScript['ObjectID'] = new UUID(buf, pos); + pos += 16; + newObjScript['ItemID'] = new UUID(buf, pos); + pos += 16; + this.Script = newObjScript; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ScriptRunningReply.ts b/lib/classes/messages/ScriptRunningReply.ts new file mode 100644 index 0000000..f29850a --- /dev/null +++ b/lib/classes/messages/ScriptRunningReply.ts @@ -0,0 +1,58 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ScriptRunningReplyMessage implements MessageBase +{ + name = 'ScriptRunningReply'; + messageFlags = MessageFlags.Deprecated | MessageFlags.FrequencyLow; + id = Message.ScriptRunningReply; + + Script: { + ObjectID: UUID; + ItemID: UUID; + Running: boolean; + }; + + getSize(): number + { + return 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.Script['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + this.Script['ItemID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.Script['Running']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjScript: { + ObjectID: UUID, + ItemID: UUID, + Running: boolean + } = { + ObjectID: UUID.zero(), + ItemID: UUID.zero(), + Running: false + }; + newObjScript['ObjectID'] = new UUID(buf, pos); + pos += 16; + newObjScript['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjScript['Running'] = (buf.readUInt8(pos++) === 1); + this.Script = newObjScript; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ScriptSensorReply.ts b/lib/classes/messages/ScriptSensorReply.ts new file mode 100644 index 0000000..67efdff --- /dev/null +++ b/lib/classes/messages/ScriptSensorReply.ts @@ -0,0 +1,139 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {Quaternion} from '../Quaternion'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ScriptSensorReplyMessage implements MessageBase +{ + name = 'ScriptSensorReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ScriptSensorReply; + + Requester: { + SourceID: UUID; + }; + SensedData: { + ObjectID: UUID; + OwnerID: UUID; + GroupID: UUID; + Position: Vector3; + Velocity: Vector3; + Rotation: Quaternion; + Name: string; + Type: number; + Range: number; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.SensedData, 'Name', 1) + 92) * this.SensedData.length) + 17; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.Requester['SourceID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.SensedData.length; + buf.writeUInt8(this.SensedData.length, pos++); + for (let i = 0; i < count; i++) + { + this.SensedData[i]['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + this.SensedData[i]['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + this.SensedData[i]['GroupID'].writeToBuffer(buf, pos); + pos += 16; + this.SensedData[i]['Position'].writeToBuffer(buf, pos, false); + pos += 12; + this.SensedData[i]['Velocity'].writeToBuffer(buf, pos, false); + pos += 12; + this.SensedData[i]['Rotation'].writeToBuffer(buf, pos); + pos += 12; + buf.writeUInt8(this.SensedData[i]['Name'].length, pos++); + buf.write(this.SensedData[i]['Name'], pos); + pos += this.SensedData[i]['Name'].length; + buf.writeInt32LE(this.SensedData[i]['Type'], pos); + pos += 4; + buf.writeFloatLE(this.SensedData[i]['Range'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjRequester: { + SourceID: UUID + } = { + SourceID: UUID.zero() + }; + newObjRequester['SourceID'] = new UUID(buf, pos); + pos += 16; + this.Requester = newObjRequester; + const count = buf.readUInt8(pos++); + this.SensedData = []; + for (let i = 0; i < count; i++) + { + const newObjSensedData: { + ObjectID: UUID, + OwnerID: UUID, + GroupID: UUID, + Position: Vector3, + Velocity: Vector3, + Rotation: Quaternion, + Name: string, + Type: number, + Range: number + } = { + ObjectID: UUID.zero(), + OwnerID: UUID.zero(), + GroupID: UUID.zero(), + Position: Vector3.getZero(), + Velocity: Vector3.getZero(), + Rotation: Quaternion.getIdentity(), + Name: '', + Type: 0, + Range: 0 + }; + newObjSensedData['ObjectID'] = new UUID(buf, pos); + pos += 16; + newObjSensedData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjSensedData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjSensedData['Position'] = new Vector3(buf, pos, false); + pos += 12; + newObjSensedData['Velocity'] = new Vector3(buf, pos, false); + pos += 12; + newObjSensedData['Rotation'] = new Quaternion(buf, pos); + pos += 12; + varLength = buf.readUInt8(pos++); + newObjSensedData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjSensedData['Type'] = buf.readInt32LE(pos); + pos += 4; + newObjSensedData['Range'] = buf.readFloatLE(pos); + pos += 4; + this.SensedData.push(newObjSensedData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ScriptSensorRequest.ts b/lib/classes/messages/ScriptSensorRequest.ts new file mode 100644 index 0000000..a366833 --- /dev/null +++ b/lib/classes/messages/ScriptSensorRequest.ts @@ -0,0 +1,121 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import Long = require('long'); +import {Quaternion} from '../Quaternion'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ScriptSensorRequestMessage implements MessageBase +{ + name = 'ScriptSensorRequest'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.ScriptSensorRequest; + + Requester: { + SourceID: UUID; + RequestID: UUID; + SearchID: UUID; + SearchPos: Vector3; + SearchDir: Quaternion; + SearchName: string; + Type: number; + Range: number; + Arc: number; + RegionHandle: Long; + SearchRegions: number; + }; + + getSize(): number + { + return (this.Requester['SearchName'].length + 1) + 93; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.Requester['SourceID'].writeToBuffer(buf, pos); + pos += 16; + this.Requester['RequestID'].writeToBuffer(buf, pos); + pos += 16; + this.Requester['SearchID'].writeToBuffer(buf, pos); + pos += 16; + this.Requester['SearchPos'].writeToBuffer(buf, pos, false); + pos += 12; + this.Requester['SearchDir'].writeToBuffer(buf, pos); + pos += 12; + buf.writeUInt8(this.Requester['SearchName'].length, pos++); + buf.write(this.Requester['SearchName'], pos); + pos += this.Requester['SearchName'].length; + buf.writeInt32LE(this.Requester['Type'], pos); + pos += 4; + buf.writeFloatLE(this.Requester['Range'], pos); + pos += 4; + buf.writeFloatLE(this.Requester['Arc'], pos); + pos += 4; + buf.writeInt32LE(this.Requester['RegionHandle'].low, pos); + pos += 4; + buf.writeInt32LE(this.Requester['RegionHandle'].high, pos); + pos += 4; + buf.writeUInt8(this.Requester['SearchRegions'], pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjRequester: { + SourceID: UUID, + RequestID: UUID, + SearchID: UUID, + SearchPos: Vector3, + SearchDir: Quaternion, + SearchName: string, + Type: number, + Range: number, + Arc: number, + RegionHandle: Long, + SearchRegions: number + } = { + SourceID: UUID.zero(), + RequestID: UUID.zero(), + SearchID: UUID.zero(), + SearchPos: Vector3.getZero(), + SearchDir: Quaternion.getIdentity(), + SearchName: '', + Type: 0, + Range: 0, + Arc: 0, + RegionHandle: Long.ZERO, + SearchRegions: 0 + }; + newObjRequester['SourceID'] = new UUID(buf, pos); + pos += 16; + newObjRequester['RequestID'] = new UUID(buf, pos); + pos += 16; + newObjRequester['SearchID'] = new UUID(buf, pos); + pos += 16; + newObjRequester['SearchPos'] = new Vector3(buf, pos, false); + pos += 12; + newObjRequester['SearchDir'] = new Quaternion(buf, pos); + pos += 12; + varLength = buf.readUInt8(pos++); + newObjRequester['SearchName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjRequester['Type'] = buf.readInt32LE(pos); + pos += 4; + newObjRequester['Range'] = buf.readFloatLE(pos); + pos += 4; + newObjRequester['Arc'] = buf.readFloatLE(pos); + pos += 4; + newObjRequester['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjRequester['SearchRegions'] = buf.readUInt8(pos++); + this.Requester = newObjRequester; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ScriptTeleportRequest.ts b/lib/classes/messages/ScriptTeleportRequest.ts new file mode 100644 index 0000000..3ad0f3e --- /dev/null +++ b/lib/classes/messages/ScriptTeleportRequest.ts @@ -0,0 +1,71 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ScriptTeleportRequestMessage implements MessageBase +{ + name = 'ScriptTeleportRequest'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.ScriptTeleportRequest; + + Data: { + ObjectName: string; + SimName: string; + SimPosition: Vector3; + LookAt: Vector3; + }; + + getSize(): number + { + return (this.Data['ObjectName'].length + 1 + this.Data['SimName'].length + 1) + 24; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt8(this.Data['ObjectName'].length, pos++); + buf.write(this.Data['ObjectName'], pos); + pos += this.Data['ObjectName'].length; + buf.writeUInt8(this.Data['SimName'].length, pos++); + buf.write(this.Data['SimName'], pos); + pos += this.Data['SimName'].length; + this.Data['SimPosition'].writeToBuffer(buf, pos, false); + pos += 12; + this.Data['LookAt'].writeToBuffer(buf, pos, false); + pos += 12; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjData: { + ObjectName: string, + SimName: string, + SimPosition: Vector3, + LookAt: Vector3 + } = { + ObjectName: '', + SimName: '', + SimPosition: Vector3.getZero(), + LookAt: Vector3.getZero() + }; + varLength = buf.readUInt8(pos++); + newObjData['ObjectName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjData['SimName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjData['SimPosition'] = new Vector3(buf, pos, false); + pos += 12; + newObjData['LookAt'] = new Vector3(buf, pos, false); + pos += 12; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/SendPostcard.ts b/lib/classes/messages/SendPostcard.ts new file mode 100644 index 0000000..9a8c05c --- /dev/null +++ b/lib/classes/messages/SendPostcard.ts @@ -0,0 +1,125 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SendPostcardMessage implements MessageBase +{ + name = 'SendPostcard'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.SendPostcard; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + AssetID: UUID; + PosGlobal: Vector3; + To: string; + From: string; + Name: string; + Subject: string; + Msg: string; + AllowPublish: boolean; + MaturePublish: boolean; + }; + + getSize(): number + { + return (this.AgentData['To'].length + 1 + this.AgentData['From'].length + 1 + this.AgentData['Name'].length + 1 + this.AgentData['Subject'].length + 1 + this.AgentData['Msg'].length + 2) + 74; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['AssetID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['PosGlobal'].writeToBuffer(buf, pos, true); + pos += 24; + buf.writeUInt8(this.AgentData['To'].length, pos++); + buf.write(this.AgentData['To'], pos); + pos += this.AgentData['To'].length; + buf.writeUInt8(this.AgentData['From'].length, pos++); + buf.write(this.AgentData['From'], pos); + pos += this.AgentData['From'].length; + buf.writeUInt8(this.AgentData['Name'].length, pos++); + buf.write(this.AgentData['Name'], pos); + pos += this.AgentData['Name'].length; + buf.writeUInt8(this.AgentData['Subject'].length, pos++); + buf.write(this.AgentData['Subject'], pos); + pos += this.AgentData['Subject'].length; + buf.writeUInt16LE(this.AgentData['Msg'].length, pos); + pos += 2; + buf.write(this.AgentData['Msg'], pos); + pos += this.AgentData['Msg'].length; + buf.writeUInt8((this.AgentData['AllowPublish']) ? 1 : 0, pos++); + buf.writeUInt8((this.AgentData['MaturePublish']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + AssetID: UUID, + PosGlobal: Vector3, + To: string, + From: string, + Name: string, + Subject: string, + Msg: string, + AllowPublish: boolean, + MaturePublish: boolean + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + AssetID: UUID.zero(), + PosGlobal: Vector3.getZero(), + To: '', + From: '', + Name: '', + Subject: '', + Msg: '', + AllowPublish: false, + MaturePublish: false + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['AssetID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['PosGlobal'] = new Vector3(buf, pos, true); + pos += 24; + varLength = buf.readUInt8(pos++); + newObjAgentData['To'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjAgentData['From'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjAgentData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjAgentData['Subject'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjAgentData['Msg'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjAgentData['AllowPublish'] = (buf.readUInt8(pos++) === 1); + newObjAgentData['MaturePublish'] = (buf.readUInt8(pos++) === 1); + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/SendXferPacket.ts b/lib/classes/messages/SendXferPacket.ts new file mode 100644 index 0000000..733da80 --- /dev/null +++ b/lib/classes/messages/SendXferPacket.ts @@ -0,0 +1,72 @@ +// This file has been automatically generated by writeMessageClasses.js + +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SendXferPacketMessage implements MessageBase +{ + name = 'SendXferPacket'; + messageFlags = MessageFlags.FrequencyHigh; + id = Message.SendXferPacket; + + XferID: { + ID: Long; + Packet: number; + }; + DataPacket: { + Data: string; + }; + + getSize(): number + { + return (this.DataPacket['Data'].length + 2) + 12; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeInt32LE(this.XferID['ID'].low, pos); + pos += 4; + buf.writeInt32LE(this.XferID['ID'].high, pos); + pos += 4; + buf.writeUInt32LE(this.XferID['Packet'], pos); + pos += 4; + buf.writeUInt16LE(this.DataPacket['Data'].length, pos); + pos += 2; + buf.write(this.DataPacket['Data'], pos); + pos += this.DataPacket['Data'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjXferID: { + ID: Long, + Packet: number + } = { + ID: Long.ZERO, + Packet: 0 + }; + newObjXferID['ID'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjXferID['Packet'] = buf.readUInt32LE(pos); + pos += 4; + this.XferID = newObjXferID; + const newObjDataPacket: { + Data: string + } = { + Data: '' + }; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjDataPacket['Data'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.DataPacket = newObjDataPacket; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/SetAlwaysRun.ts b/lib/classes/messages/SetAlwaysRun.ts new file mode 100644 index 0000000..c70f37e --- /dev/null +++ b/lib/classes/messages/SetAlwaysRun.ts @@ -0,0 +1,58 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SetAlwaysRunMessage implements MessageBase +{ + name = 'SetAlwaysRun'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.SetAlwaysRun; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + AlwaysRun: boolean; + }; + + getSize(): number + { + return 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.AgentData['AlwaysRun']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + AlwaysRun: boolean + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + AlwaysRun: false + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['AlwaysRun'] = (buf.readUInt8(pos++) === 1); + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/SetCPURatio.ts b/lib/classes/messages/SetCPURatio.ts new file mode 100644 index 0000000..bbe9a05 --- /dev/null +++ b/lib/classes/messages/SetCPURatio.ts @@ -0,0 +1,43 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SetCPURatioMessage implements MessageBase +{ + name = 'SetCPURatio'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.SetCPURatio; + + Data: { + Ratio: number; + }; + + getSize(): number + { + return 1; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt8(this.Data['Ratio'], pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjData: { + Ratio: number + } = { + Ratio: 0 + }; + newObjData['Ratio'] = buf.readUInt8(pos++); + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/SetFollowCamProperties.ts b/lib/classes/messages/SetFollowCamProperties.ts new file mode 100644 index 0000000..1fb0370 --- /dev/null +++ b/lib/classes/messages/SetFollowCamProperties.ts @@ -0,0 +1,76 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SetFollowCamPropertiesMessage implements MessageBase +{ + name = 'SetFollowCamProperties'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.SetFollowCamProperties; + + ObjectData: { + ObjectID: UUID; + }; + CameraProperty: { + Type: number; + Value: number; + }[]; + + getSize(): number + { + return ((8) * this.CameraProperty.length) + 17; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.ObjectData['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.CameraProperty.length; + buf.writeUInt8(this.CameraProperty.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeInt32LE(this.CameraProperty[i]['Type'], pos); + pos += 4; + buf.writeFloatLE(this.CameraProperty[i]['Value'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjObjectData: { + ObjectID: UUID + } = { + ObjectID: UUID.zero() + }; + newObjObjectData['ObjectID'] = new UUID(buf, pos); + pos += 16; + this.ObjectData = newObjObjectData; + const count = buf.readUInt8(pos++); + this.CameraProperty = []; + for (let i = 0; i < count; i++) + { + const newObjCameraProperty: { + Type: number, + Value: number + } = { + Type: 0, + Value: 0 + }; + newObjCameraProperty['Type'] = buf.readInt32LE(pos); + pos += 4; + newObjCameraProperty['Value'] = buf.readFloatLE(pos); + pos += 4; + this.CameraProperty.push(newObjCameraProperty); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/SetGroupAcceptNotices.ts b/lib/classes/messages/SetGroupAcceptNotices.ts new file mode 100644 index 0000000..050ad12 --- /dev/null +++ b/lib/classes/messages/SetGroupAcceptNotices.ts @@ -0,0 +1,82 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SetGroupAcceptNoticesMessage implements MessageBase +{ + name = 'SetGroupAcceptNotices'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.SetGroupAcceptNotices; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + GroupID: UUID; + AcceptNotices: boolean; + }; + NewData: { + ListInProfile: boolean; + }; + + getSize(): number + { + return 50; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.Data['AcceptNotices']) ? 1 : 0, pos++); + buf.writeUInt8((this.NewData['ListInProfile']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + GroupID: UUID, + AcceptNotices: boolean + } = { + GroupID: UUID.zero(), + AcceptNotices: false + }; + newObjData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjData['AcceptNotices'] = (buf.readUInt8(pos++) === 1); + this.Data = newObjData; + const newObjNewData: { + ListInProfile: boolean + } = { + ListInProfile: false + }; + newObjNewData['ListInProfile'] = (buf.readUInt8(pos++) === 1); + this.NewData = newObjNewData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/SetGroupContribution.ts b/lib/classes/messages/SetGroupContribution.ts new file mode 100644 index 0000000..a45e4af --- /dev/null +++ b/lib/classes/messages/SetGroupContribution.ts @@ -0,0 +1,73 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SetGroupContributionMessage implements MessageBase +{ + name = 'SetGroupContribution'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.SetGroupContribution; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Data: { + GroupID: UUID; + Contribution: number; + }; + + getSize(): number + { + return 52; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Data['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.Data['Contribution'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjData: { + GroupID: UUID, + Contribution: number + } = { + GroupID: UUID.zero(), + Contribution: 0 + }; + newObjData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjData['Contribution'] = buf.readInt32LE(pos); + pos += 4; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/SetScriptRunning.ts b/lib/classes/messages/SetScriptRunning.ts new file mode 100644 index 0000000..299fc6b --- /dev/null +++ b/lib/classes/messages/SetScriptRunning.ts @@ -0,0 +1,78 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SetScriptRunningMessage implements MessageBase +{ + name = 'SetScriptRunning'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.SetScriptRunning; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Script: { + ObjectID: UUID; + ItemID: UUID; + Running: boolean; + }; + + getSize(): number + { + return 65; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Script['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + this.Script['ItemID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.Script['Running']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjScript: { + ObjectID: UUID, + ItemID: UUID, + Running: boolean + } = { + ObjectID: UUID.zero(), + ItemID: UUID.zero(), + Running: false + }; + newObjScript['ObjectID'] = new UUID(buf, pos); + pos += 16; + newObjScript['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjScript['Running'] = (buf.readUInt8(pos++) === 1); + this.Script = newObjScript; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/SetSimPresenceInDatabase.ts b/lib/classes/messages/SetSimPresenceInDatabase.ts new file mode 100644 index 0000000..fd9fd24 --- /dev/null +++ b/lib/classes/messages/SetSimPresenceInDatabase.ts @@ -0,0 +1,99 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SetSimPresenceInDatabaseMessage implements MessageBase +{ + name = 'SetSimPresenceInDatabase'; + messageFlags = MessageFlags.Trusted | MessageFlags.Deprecated | MessageFlags.FrequencyLow; + id = Message.SetSimPresenceInDatabase; + + SimData: { + RegionID: UUID; + HostName: string; + GridX: number; + GridY: number; + PID: number; + AgentCount: number; + TimeToLive: number; + Status: string; + }; + + getSize(): number + { + return (this.SimData['HostName'].length + 1 + this.SimData['Status'].length + 1) + 36; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.SimData['RegionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.SimData['HostName'].length, pos++); + buf.write(this.SimData['HostName'], pos); + pos += this.SimData['HostName'].length; + buf.writeUInt32LE(this.SimData['GridX'], pos); + pos += 4; + buf.writeUInt32LE(this.SimData['GridY'], pos); + pos += 4; + buf.writeInt32LE(this.SimData['PID'], pos); + pos += 4; + buf.writeInt32LE(this.SimData['AgentCount'], pos); + pos += 4; + buf.writeInt32LE(this.SimData['TimeToLive'], pos); + pos += 4; + buf.writeUInt8(this.SimData['Status'].length, pos++); + buf.write(this.SimData['Status'], pos); + pos += this.SimData['Status'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjSimData: { + RegionID: UUID, + HostName: string, + GridX: number, + GridY: number, + PID: number, + AgentCount: number, + TimeToLive: number, + Status: string + } = { + RegionID: UUID.zero(), + HostName: '', + GridX: 0, + GridY: 0, + PID: 0, + AgentCount: 0, + TimeToLive: 0, + Status: '' + }; + newObjSimData['RegionID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjSimData['HostName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjSimData['GridX'] = buf.readUInt32LE(pos); + pos += 4; + newObjSimData['GridY'] = buf.readUInt32LE(pos); + pos += 4; + newObjSimData['PID'] = buf.readInt32LE(pos); + pos += 4; + newObjSimData['AgentCount'] = buf.readInt32LE(pos); + pos += 4; + newObjSimData['TimeToLive'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjSimData['Status'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.SimData = newObjSimData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/SetSimStatusInDatabase.ts b/lib/classes/messages/SetSimStatusInDatabase.ts new file mode 100644 index 0000000..9ef44cd --- /dev/null +++ b/lib/classes/messages/SetSimStatusInDatabase.ts @@ -0,0 +1,99 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SetSimStatusInDatabaseMessage implements MessageBase +{ + name = 'SetSimStatusInDatabase'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.SetSimStatusInDatabase; + + Data: { + RegionID: UUID; + HostName: string; + X: number; + Y: number; + PID: number; + AgentCount: number; + TimeToLive: number; + Status: string; + }; + + getSize(): number + { + return (this.Data['HostName'].length + 1 + this.Data['Status'].length + 1) + 36; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.Data['RegionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.Data['HostName'].length, pos++); + buf.write(this.Data['HostName'], pos); + pos += this.Data['HostName'].length; + buf.writeInt32LE(this.Data['X'], pos); + pos += 4; + buf.writeInt32LE(this.Data['Y'], pos); + pos += 4; + buf.writeInt32LE(this.Data['PID'], pos); + pos += 4; + buf.writeInt32LE(this.Data['AgentCount'], pos); + pos += 4; + buf.writeInt32LE(this.Data['TimeToLive'], pos); + pos += 4; + buf.writeUInt8(this.Data['Status'].length, pos++); + buf.write(this.Data['Status'], pos); + pos += this.Data['Status'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjData: { + RegionID: UUID, + HostName: string, + X: number, + Y: number, + PID: number, + AgentCount: number, + TimeToLive: number, + Status: string + } = { + RegionID: UUID.zero(), + HostName: '', + X: 0, + Y: 0, + PID: 0, + AgentCount: 0, + TimeToLive: 0, + Status: '' + }; + newObjData['RegionID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjData['HostName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjData['X'] = buf.readInt32LE(pos); + pos += 4; + newObjData['Y'] = buf.readInt32LE(pos); + pos += 4; + newObjData['PID'] = buf.readInt32LE(pos); + pos += 4; + newObjData['AgentCount'] = buf.readInt32LE(pos); + pos += 4; + newObjData['TimeToLive'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjData['Status'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.Data = newObjData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/SetStartLocation.ts b/lib/classes/messages/SetStartLocation.ts new file mode 100644 index 0000000..24fdb7a --- /dev/null +++ b/lib/classes/messages/SetStartLocation.ts @@ -0,0 +1,85 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SetStartLocationMessage implements MessageBase +{ + name = 'SetStartLocation'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.SetStartLocation; + + StartLocationData: { + AgentID: UUID; + RegionID: UUID; + LocationID: number; + RegionHandle: Long; + LocationPos: Vector3; + LocationLookAt: Vector3; + }; + + getSize(): number + { + return 68; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.StartLocationData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.StartLocationData['RegionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.StartLocationData['LocationID'], pos); + pos += 4; + buf.writeInt32LE(this.StartLocationData['RegionHandle'].low, pos); + pos += 4; + buf.writeInt32LE(this.StartLocationData['RegionHandle'].high, pos); + pos += 4; + this.StartLocationData['LocationPos'].writeToBuffer(buf, pos, false); + pos += 12; + this.StartLocationData['LocationLookAt'].writeToBuffer(buf, pos, false); + pos += 12; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjStartLocationData: { + AgentID: UUID, + RegionID: UUID, + LocationID: number, + RegionHandle: Long, + LocationPos: Vector3, + LocationLookAt: Vector3 + } = { + AgentID: UUID.zero(), + RegionID: UUID.zero(), + LocationID: 0, + RegionHandle: Long.ZERO, + LocationPos: Vector3.getZero(), + LocationLookAt: Vector3.getZero() + }; + newObjStartLocationData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjStartLocationData['RegionID'] = new UUID(buf, pos); + pos += 16; + newObjStartLocationData['LocationID'] = buf.readUInt32LE(pos); + pos += 4; + newObjStartLocationData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjStartLocationData['LocationPos'] = new Vector3(buf, pos, false); + pos += 12; + newObjStartLocationData['LocationLookAt'] = new Vector3(buf, pos, false); + pos += 12; + this.StartLocationData = newObjStartLocationData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/SetStartLocationRequest.ts b/lib/classes/messages/SetStartLocationRequest.ts new file mode 100644 index 0000000..a1a56bb --- /dev/null +++ b/lib/classes/messages/SetStartLocationRequest.ts @@ -0,0 +1,90 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SetStartLocationRequestMessage implements MessageBase +{ + name = 'SetStartLocationRequest'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.SetStartLocationRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + StartLocationData: { + SimName: string; + LocationID: number; + LocationPos: Vector3; + LocationLookAt: Vector3; + }; + + getSize(): number + { + return (this.StartLocationData['SimName'].length + 1) + 60; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.StartLocationData['SimName'].length, pos++); + buf.write(this.StartLocationData['SimName'], pos); + pos += this.StartLocationData['SimName'].length; + buf.writeUInt32LE(this.StartLocationData['LocationID'], pos); + pos += 4; + this.StartLocationData['LocationPos'].writeToBuffer(buf, pos, false); + pos += 12; + this.StartLocationData['LocationLookAt'].writeToBuffer(buf, pos, false); + pos += 12; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjStartLocationData: { + SimName: string, + LocationID: number, + LocationPos: Vector3, + LocationLookAt: Vector3 + } = { + SimName: '', + LocationID: 0, + LocationPos: Vector3.getZero(), + LocationLookAt: Vector3.getZero() + }; + varLength = buf.readUInt8(pos++); + newObjStartLocationData['SimName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjStartLocationData['LocationID'] = buf.readUInt32LE(pos); + pos += 4; + newObjStartLocationData['LocationPos'] = new Vector3(buf, pos, false); + pos += 12; + newObjStartLocationData['LocationLookAt'] = new Vector3(buf, pos, false); + pos += 12; + this.StartLocationData = newObjStartLocationData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/SimCrashed.ts b/lib/classes/messages/SimCrashed.ts new file mode 100644 index 0000000..72e2e28 --- /dev/null +++ b/lib/classes/messages/SimCrashed.ts @@ -0,0 +1,76 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SimCrashedMessage implements MessageBase +{ + name = 'SimCrashed'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.SimCrashed; + + Data: { + RegionX: number; + RegionY: number; + }; + Users: { + AgentID: UUID; + }[]; + + getSize(): number + { + return ((16) * this.Users.length) + 9; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt32LE(this.Data['RegionX'], pos); + pos += 4; + buf.writeUInt32LE(this.Data['RegionY'], pos); + pos += 4; + const count = this.Users.length; + buf.writeUInt8(this.Users.length, pos++); + for (let i = 0; i < count; i++) + { + this.Users[i]['AgentID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjData: { + RegionX: number, + RegionY: number + } = { + RegionX: 0, + RegionY: 0 + }; + newObjData['RegionX'] = buf.readUInt32LE(pos); + pos += 4; + newObjData['RegionY'] = buf.readUInt32LE(pos); + pos += 4; + this.Data = newObjData; + const count = buf.readUInt8(pos++); + this.Users = []; + for (let i = 0; i < count; i++) + { + const newObjUsers: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjUsers['AgentID'] = new UUID(buf, pos); + pos += 16; + this.Users.push(newObjUsers); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/SimStats.ts b/lib/classes/messages/SimStats.ts new file mode 100644 index 0000000..e8564a5 --- /dev/null +++ b/lib/classes/messages/SimStats.ts @@ -0,0 +1,135 @@ +// This file has been automatically generated by writeMessageClasses.js + +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SimStatsMessage implements MessageBase +{ + name = 'SimStats'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.SimStats; + + Region: { + RegionX: number; + RegionY: number; + RegionFlags: number; + ObjectCapacity: number; + }; + Stat: { + StatID: number; + StatValue: number; + }[]; + PidStat: { + PID: number; + }; + RegionInfo: { + RegionFlagsExtended: Long; + }[]; + + getSize(): number + { + return ((8) * this.Stat.length) + ((8) * this.RegionInfo.length) + 22; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt32LE(this.Region['RegionX'], pos); + pos += 4; + buf.writeUInt32LE(this.Region['RegionY'], pos); + pos += 4; + buf.writeUInt32LE(this.Region['RegionFlags'], pos); + pos += 4; + buf.writeUInt32LE(this.Region['ObjectCapacity'], pos); + pos += 4; + let count = this.Stat.length; + buf.writeUInt8(this.Stat.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.Stat[i]['StatID'], pos); + pos += 4; + buf.writeFloatLE(this.Stat[i]['StatValue'], pos); + pos += 4; + } + buf.writeInt32LE(this.PidStat['PID'], pos); + pos += 4; + count = this.RegionInfo.length; + buf.writeUInt8(this.RegionInfo.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeInt32LE(this.RegionInfo[i]['RegionFlagsExtended'].low, pos); + pos += 4; + buf.writeInt32LE(this.RegionInfo[i]['RegionFlagsExtended'].high, pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjRegion: { + RegionX: number, + RegionY: number, + RegionFlags: number, + ObjectCapacity: number + } = { + RegionX: 0, + RegionY: 0, + RegionFlags: 0, + ObjectCapacity: 0 + }; + newObjRegion['RegionX'] = buf.readUInt32LE(pos); + pos += 4; + newObjRegion['RegionY'] = buf.readUInt32LE(pos); + pos += 4; + newObjRegion['RegionFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjRegion['ObjectCapacity'] = buf.readUInt32LE(pos); + pos += 4; + this.Region = newObjRegion; + let count = buf.readUInt8(pos++); + this.Stat = []; + for (let i = 0; i < count; i++) + { + const newObjStat: { + StatID: number, + StatValue: number + } = { + StatID: 0, + StatValue: 0 + }; + newObjStat['StatID'] = buf.readUInt32LE(pos); + pos += 4; + newObjStat['StatValue'] = buf.readFloatLE(pos); + pos += 4; + this.Stat.push(newObjStat); + } + const newObjPidStat: { + PID: number + } = { + PID: 0 + }; + newObjPidStat['PID'] = buf.readInt32LE(pos); + pos += 4; + this.PidStat = newObjPidStat; + count = buf.readUInt8(pos++); + this.RegionInfo = []; + for (let i = 0; i < count; i++) + { + const newObjRegionInfo: { + RegionFlagsExtended: Long + } = { + RegionFlagsExtended: Long.ZERO + }; + newObjRegionInfo['RegionFlagsExtended'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + this.RegionInfo.push(newObjRegionInfo); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/SimStatus.ts b/lib/classes/messages/SimStatus.ts new file mode 100644 index 0000000..c159f2d --- /dev/null +++ b/lib/classes/messages/SimStatus.ts @@ -0,0 +1,64 @@ +// This file has been automatically generated by writeMessageClasses.js + +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SimStatusMessage implements MessageBase +{ + name = 'SimStatus'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyMedium; + id = Message.SimStatus; + + SimStatus: { + CanAcceptAgents: boolean; + CanAcceptTasks: boolean; + }; + SimFlags: { + Flags: Long; + }; + + getSize(): number + { + return 10; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt8((this.SimStatus['CanAcceptAgents']) ? 1 : 0, pos++); + buf.writeUInt8((this.SimStatus['CanAcceptTasks']) ? 1 : 0, pos++); + buf.writeInt32LE(this.SimFlags['Flags'].low, pos); + pos += 4; + buf.writeInt32LE(this.SimFlags['Flags'].high, pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjSimStatus: { + CanAcceptAgents: boolean, + CanAcceptTasks: boolean + } = { + CanAcceptAgents: false, + CanAcceptTasks: false + }; + newObjSimStatus['CanAcceptAgents'] = (buf.readUInt8(pos++) === 1); + newObjSimStatus['CanAcceptTasks'] = (buf.readUInt8(pos++) === 1); + this.SimStatus = newObjSimStatus; + const newObjSimFlags: { + Flags: Long + } = { + Flags: Long.ZERO + }; + newObjSimFlags['Flags'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + this.SimFlags = newObjSimFlags; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/SimWideDeletes.ts b/lib/classes/messages/SimWideDeletes.ts new file mode 100644 index 0000000..a833fa1 --- /dev/null +++ b/lib/classes/messages/SimWideDeletes.ts @@ -0,0 +1,73 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SimWideDeletesMessage implements MessageBase +{ + name = 'SimWideDeletes'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.SimWideDeletes; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + DataBlock: { + TargetID: UUID; + Flags: number; + }; + + getSize(): number + { + return 52; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.DataBlock['TargetID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.DataBlock['Flags'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjDataBlock: { + TargetID: UUID, + Flags: number + } = { + TargetID: UUID.zero(), + Flags: 0 + }; + newObjDataBlock['TargetID'] = new UUID(buf, pos); + pos += 16; + newObjDataBlock['Flags'] = buf.readUInt32LE(pos); + pos += 4; + this.DataBlock = newObjDataBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/SimulatorLoad.ts b/lib/classes/messages/SimulatorLoad.ts new file mode 100644 index 0000000..3d4f2ef --- /dev/null +++ b/lib/classes/messages/SimulatorLoad.ts @@ -0,0 +1,90 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SimulatorLoadMessage implements MessageBase +{ + name = 'SimulatorLoad'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.SimulatorLoad; + + SimulatorLoad: { + TimeDilation: number; + AgentCount: number; + CanAcceptAgents: boolean; + }; + AgentList: { + CircuitCode: number; + X: number; + Y: number; + }[]; + + getSize(): number + { + return ((6) * this.AgentList.length) + 10; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeFloatLE(this.SimulatorLoad['TimeDilation'], pos); + pos += 4; + buf.writeInt32LE(this.SimulatorLoad['AgentCount'], pos); + pos += 4; + buf.writeUInt8((this.SimulatorLoad['CanAcceptAgents']) ? 1 : 0, pos++); + const count = this.AgentList.length; + buf.writeUInt8(this.AgentList.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.AgentList[i]['CircuitCode'], pos); + pos += 4; + buf.writeUInt8(this.AgentList[i]['X'], pos++); + buf.writeUInt8(this.AgentList[i]['Y'], pos++); + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjSimulatorLoad: { + TimeDilation: number, + AgentCount: number, + CanAcceptAgents: boolean + } = { + TimeDilation: 0, + AgentCount: 0, + CanAcceptAgents: false + }; + newObjSimulatorLoad['TimeDilation'] = buf.readFloatLE(pos); + pos += 4; + newObjSimulatorLoad['AgentCount'] = buf.readInt32LE(pos); + pos += 4; + newObjSimulatorLoad['CanAcceptAgents'] = (buf.readUInt8(pos++) === 1); + this.SimulatorLoad = newObjSimulatorLoad; + const count = buf.readUInt8(pos++); + this.AgentList = []; + for (let i = 0; i < count; i++) + { + const newObjAgentList: { + CircuitCode: number, + X: number, + Y: number + } = { + CircuitCode: 0, + X: 0, + Y: 0 + }; + newObjAgentList['CircuitCode'] = buf.readUInt32LE(pos); + pos += 4; + newObjAgentList['X'] = buf.readUInt8(pos++); + newObjAgentList['Y'] = buf.readUInt8(pos++); + this.AgentList.push(newObjAgentList); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/SimulatorMapUpdate.ts b/lib/classes/messages/SimulatorMapUpdate.ts new file mode 100644 index 0000000..992ff25 --- /dev/null +++ b/lib/classes/messages/SimulatorMapUpdate.ts @@ -0,0 +1,45 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SimulatorMapUpdateMessage implements MessageBase +{ + name = 'SimulatorMapUpdate'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.SimulatorMapUpdate; + + MapData: { + Flags: number; + }; + + getSize(): number + { + return 4; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt32LE(this.MapData['Flags'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjMapData: { + Flags: number + } = { + Flags: 0 + }; + newObjMapData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + this.MapData = newObjMapData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/SimulatorPresentAtLocation.ts b/lib/classes/messages/SimulatorPresentAtLocation.ts new file mode 100644 index 0000000..3b1482f --- /dev/null +++ b/lib/classes/messages/SimulatorPresentAtLocation.ts @@ -0,0 +1,173 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {IPAddress} from '../IPAddress'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SimulatorPresentAtLocationMessage implements MessageBase +{ + name = 'SimulatorPresentAtLocation'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.SimulatorPresentAtLocation; + + SimulatorPublicHostBlock: { + Port: number; + SimulatorIP: IPAddress; + GridX: number; + GridY: number; + }; + NeighborBlock: { + IP: IPAddress; + Port: number; + }[]; + SimulatorBlock: { + SimName: string; + SimAccess: number; + RegionFlags: number; + RegionID: UUID; + EstateID: number; + ParentEstateID: number; + }; + TelehubBlock: { + HasTelehub: boolean; + TelehubPos: Vector3; + }[]; + + getSize(): number + { + return (this.SimulatorBlock['SimName'].length + 1) + ((13) * this.TelehubBlock.length) + 68; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt16LE(this.SimulatorPublicHostBlock['Port'], pos); + pos += 2; + this.SimulatorPublicHostBlock['SimulatorIP'].writeToBuffer(buf, pos); + pos += 4; + buf.writeUInt32LE(this.SimulatorPublicHostBlock['GridX'], pos); + pos += 4; + buf.writeUInt32LE(this.SimulatorPublicHostBlock['GridY'], pos); + pos += 4; + let count = 4; + for (let i = 0; i < count; i++) + { + this.NeighborBlock[i]['IP'].writeToBuffer(buf, pos); + pos += 4; + buf.writeUInt16LE(this.NeighborBlock[i]['Port'], pos); + pos += 2; + } + buf.writeUInt8(this.SimulatorBlock['SimName'].length, pos++); + buf.write(this.SimulatorBlock['SimName'], pos); + pos += this.SimulatorBlock['SimName'].length; + buf.writeUInt8(this.SimulatorBlock['SimAccess'], pos++); + buf.writeUInt32LE(this.SimulatorBlock['RegionFlags'], pos); + pos += 4; + this.SimulatorBlock['RegionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.SimulatorBlock['EstateID'], pos); + pos += 4; + buf.writeUInt32LE(this.SimulatorBlock['ParentEstateID'], pos); + pos += 4; + count = this.TelehubBlock.length; + buf.writeUInt8(this.TelehubBlock.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt8((this.TelehubBlock[i]['HasTelehub']) ? 1 : 0, pos++); + this.TelehubBlock[i]['TelehubPos'].writeToBuffer(buf, pos, false); + pos += 12; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjSimulatorPublicHostBlock: { + Port: number, + SimulatorIP: IPAddress, + GridX: number, + GridY: number + } = { + Port: 0, + SimulatorIP: IPAddress.zero(), + GridX: 0, + GridY: 0 + }; + newObjSimulatorPublicHostBlock['Port'] = buf.readUInt16LE(pos); + pos += 2; + newObjSimulatorPublicHostBlock['SimulatorIP'] = new IPAddress(buf, pos); + pos += 4; + newObjSimulatorPublicHostBlock['GridX'] = buf.readUInt32LE(pos); + pos += 4; + newObjSimulatorPublicHostBlock['GridY'] = buf.readUInt32LE(pos); + pos += 4; + this.SimulatorPublicHostBlock = newObjSimulatorPublicHostBlock; + let count = 4; + this.NeighborBlock = []; for (let i = 0; i < count; i++) + { + const newObjNeighborBlock: { + IP: IPAddress, + Port: number + } = { + IP: IPAddress.zero(), + Port: 0 + }; + newObjNeighborBlock['IP'] = new IPAddress(buf, pos); + pos += 4; + newObjNeighborBlock['Port'] = buf.readUInt16LE(pos); + pos += 2; + this.NeighborBlock.push(newObjNeighborBlock); + } + const newObjSimulatorBlock: { + SimName: string, + SimAccess: number, + RegionFlags: number, + RegionID: UUID, + EstateID: number, + ParentEstateID: number + } = { + SimName: '', + SimAccess: 0, + RegionFlags: 0, + RegionID: UUID.zero(), + EstateID: 0, + ParentEstateID: 0 + }; + varLength = buf.readUInt8(pos++); + newObjSimulatorBlock['SimName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjSimulatorBlock['SimAccess'] = buf.readUInt8(pos++); + newObjSimulatorBlock['RegionFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjSimulatorBlock['RegionID'] = new UUID(buf, pos); + pos += 16; + newObjSimulatorBlock['EstateID'] = buf.readUInt32LE(pos); + pos += 4; + newObjSimulatorBlock['ParentEstateID'] = buf.readUInt32LE(pos); + pos += 4; + this.SimulatorBlock = newObjSimulatorBlock; + count = buf.readUInt8(pos++); + this.TelehubBlock = []; + for (let i = 0; i < count; i++) + { + const newObjTelehubBlock: { + HasTelehub: boolean, + TelehubPos: Vector3 + } = { + HasTelehub: false, + TelehubPos: Vector3.getZero() + }; + newObjTelehubBlock['HasTelehub'] = (buf.readUInt8(pos++) === 1); + newObjTelehubBlock['TelehubPos'] = new Vector3(buf, pos, false); + pos += 12; + this.TelehubBlock.push(newObjTelehubBlock); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/SimulatorReady.ts b/lib/classes/messages/SimulatorReady.ts new file mode 100644 index 0000000..d27797b --- /dev/null +++ b/lib/classes/messages/SimulatorReady.ts @@ -0,0 +1,100 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SimulatorReadyMessage implements MessageBase +{ + name = 'SimulatorReady'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.SimulatorReady; + + SimulatorBlock: { + SimName: string; + SimAccess: number; + RegionFlags: number; + RegionID: UUID; + EstateID: number; + ParentEstateID: number; + }; + TelehubBlock: { + HasTelehub: boolean; + TelehubPos: Vector3; + }; + + getSize(): number + { + return (this.SimulatorBlock['SimName'].length + 1) + 42; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt8(this.SimulatorBlock['SimName'].length, pos++); + buf.write(this.SimulatorBlock['SimName'], pos); + pos += this.SimulatorBlock['SimName'].length; + buf.writeUInt8(this.SimulatorBlock['SimAccess'], pos++); + buf.writeUInt32LE(this.SimulatorBlock['RegionFlags'], pos); + pos += 4; + this.SimulatorBlock['RegionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.SimulatorBlock['EstateID'], pos); + pos += 4; + buf.writeUInt32LE(this.SimulatorBlock['ParentEstateID'], pos); + pos += 4; + buf.writeUInt8((this.TelehubBlock['HasTelehub']) ? 1 : 0, pos++); + this.TelehubBlock['TelehubPos'].writeToBuffer(buf, pos, false); + pos += 12; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjSimulatorBlock: { + SimName: string, + SimAccess: number, + RegionFlags: number, + RegionID: UUID, + EstateID: number, + ParentEstateID: number + } = { + SimName: '', + SimAccess: 0, + RegionFlags: 0, + RegionID: UUID.zero(), + EstateID: 0, + ParentEstateID: 0 + }; + varLength = buf.readUInt8(pos++); + newObjSimulatorBlock['SimName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjSimulatorBlock['SimAccess'] = buf.readUInt8(pos++); + newObjSimulatorBlock['RegionFlags'] = buf.readUInt32LE(pos); + pos += 4; + newObjSimulatorBlock['RegionID'] = new UUID(buf, pos); + pos += 16; + newObjSimulatorBlock['EstateID'] = buf.readUInt32LE(pos); + pos += 4; + newObjSimulatorBlock['ParentEstateID'] = buf.readUInt32LE(pos); + pos += 4; + this.SimulatorBlock = newObjSimulatorBlock; + const newObjTelehubBlock: { + HasTelehub: boolean, + TelehubPos: Vector3 + } = { + HasTelehub: false, + TelehubPos: Vector3.getZero() + }; + newObjTelehubBlock['HasTelehub'] = (buf.readUInt8(pos++) === 1); + newObjTelehubBlock['TelehubPos'] = new Vector3(buf, pos, false); + pos += 12; + this.TelehubBlock = newObjTelehubBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/SimulatorSetMap.ts b/lib/classes/messages/SimulatorSetMap.ts new file mode 100644 index 0000000..f036df3 --- /dev/null +++ b/lib/classes/messages/SimulatorSetMap.ts @@ -0,0 +1,63 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SimulatorSetMapMessage implements MessageBase +{ + name = 'SimulatorSetMap'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.SimulatorSetMap; + + MapData: { + RegionHandle: Long; + Type: number; + MapImage: UUID; + }; + + getSize(): number + { + return 28; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeInt32LE(this.MapData['RegionHandle'].low, pos); + pos += 4; + buf.writeInt32LE(this.MapData['RegionHandle'].high, pos); + pos += 4; + buf.writeInt32LE(this.MapData['Type'], pos); + pos += 4; + this.MapData['MapImage'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjMapData: { + RegionHandle: Long, + Type: number, + MapImage: UUID + } = { + RegionHandle: Long.ZERO, + Type: 0, + MapImage: UUID.zero() + }; + newObjMapData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjMapData['Type'] = buf.readInt32LE(pos); + pos += 4; + newObjMapData['MapImage'] = new UUID(buf, pos); + pos += 16; + this.MapData = newObjMapData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/SimulatorShutdownRequest.ts b/lib/classes/messages/SimulatorShutdownRequest.ts new file mode 100644 index 0000000..e6b4bad --- /dev/null +++ b/lib/classes/messages/SimulatorShutdownRequest.ts @@ -0,0 +1,29 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SimulatorShutdownRequestMessage implements MessageBase +{ + name = 'SimulatorShutdownRequest'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.SimulatorShutdownRequest; + + + getSize(): number + { + return 0; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + return 0; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + return 0; + } +} + diff --git a/lib/classes/messages/SimulatorViewerTimeMessage.ts b/lib/classes/messages/SimulatorViewerTimeMessage.ts new file mode 100644 index 0000000..a127061 --- /dev/null +++ b/lib/classes/messages/SimulatorViewerTimeMessage.ts @@ -0,0 +1,84 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {Vector3} from '../Vector3'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SimulatorViewerTimeMessageMessage implements MessageBase +{ + name = 'SimulatorViewerTimeMessage'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.SimulatorViewerTimeMessage; + + TimeInfo: { + UsecSinceStart: Long; + SecPerDay: number; + SecPerYear: number; + SunDirection: Vector3; + SunPhase: number; + SunAngVelocity: Vector3; + }; + + getSize(): number + { + return 44; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeInt32LE(this.TimeInfo['UsecSinceStart'].low, pos); + pos += 4; + buf.writeInt32LE(this.TimeInfo['UsecSinceStart'].high, pos); + pos += 4; + buf.writeUInt32LE(this.TimeInfo['SecPerDay'], pos); + pos += 4; + buf.writeUInt32LE(this.TimeInfo['SecPerYear'], pos); + pos += 4; + this.TimeInfo['SunDirection'].writeToBuffer(buf, pos, false); + pos += 12; + buf.writeFloatLE(this.TimeInfo['SunPhase'], pos); + pos += 4; + this.TimeInfo['SunAngVelocity'].writeToBuffer(buf, pos, false); + pos += 12; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjTimeInfo: { + UsecSinceStart: Long, + SecPerDay: number, + SecPerYear: number, + SunDirection: Vector3, + SunPhase: number, + SunAngVelocity: Vector3 + } = { + UsecSinceStart: Long.ZERO, + SecPerDay: 0, + SecPerYear: 0, + SunDirection: Vector3.getZero(), + SunPhase: 0, + SunAngVelocity: Vector3.getZero() + }; + newObjTimeInfo['UsecSinceStart'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjTimeInfo['SecPerDay'] = buf.readUInt32LE(pos); + pos += 4; + newObjTimeInfo['SecPerYear'] = buf.readUInt32LE(pos); + pos += 4; + newObjTimeInfo['SunDirection'] = new Vector3(buf, pos, false); + pos += 12; + newObjTimeInfo['SunPhase'] = buf.readFloatLE(pos); + pos += 4; + newObjTimeInfo['SunAngVelocity'] = new Vector3(buf, pos, false); + pos += 12; + this.TimeInfo = newObjTimeInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/SoundTrigger.ts b/lib/classes/messages/SoundTrigger.ts new file mode 100644 index 0000000..38c6019 --- /dev/null +++ b/lib/classes/messages/SoundTrigger.ts @@ -0,0 +1,92 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SoundTriggerMessage implements MessageBase +{ + name = 'SoundTrigger'; + messageFlags = MessageFlags.FrequencyHigh; + id = Message.SoundTrigger; + + SoundData: { + SoundID: UUID; + OwnerID: UUID; + ObjectID: UUID; + ParentID: UUID; + Handle: Long; + Position: Vector3; + Gain: number; + }; + + getSize(): number + { + return 88; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.SoundData['SoundID'].writeToBuffer(buf, pos); + pos += 16; + this.SoundData['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + this.SoundData['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + this.SoundData['ParentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.SoundData['Handle'].low, pos); + pos += 4; + buf.writeInt32LE(this.SoundData['Handle'].high, pos); + pos += 4; + this.SoundData['Position'].writeToBuffer(buf, pos, false); + pos += 12; + buf.writeFloatLE(this.SoundData['Gain'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjSoundData: { + SoundID: UUID, + OwnerID: UUID, + ObjectID: UUID, + ParentID: UUID, + Handle: Long, + Position: Vector3, + Gain: number + } = { + SoundID: UUID.zero(), + OwnerID: UUID.zero(), + ObjectID: UUID.zero(), + ParentID: UUID.zero(), + Handle: Long.ZERO, + Position: Vector3.getZero(), + Gain: 0 + }; + newObjSoundData['SoundID'] = new UUID(buf, pos); + pos += 16; + newObjSoundData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjSoundData['ObjectID'] = new UUID(buf, pos); + pos += 16; + newObjSoundData['ParentID'] = new UUID(buf, pos); + pos += 16; + newObjSoundData['Handle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjSoundData['Position'] = new Vector3(buf, pos, false); + pos += 12; + newObjSoundData['Gain'] = buf.readFloatLE(pos); + pos += 4; + this.SoundData = newObjSoundData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/StartAuction.ts b/lib/classes/messages/StartAuction.ts new file mode 100644 index 0000000..2b5ceb4 --- /dev/null +++ b/lib/classes/messages/StartAuction.ts @@ -0,0 +1,75 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class StartAuctionMessage implements MessageBase +{ + name = 'StartAuction'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.StartAuction; + + AgentData: { + AgentID: UUID; + }; + ParcelData: { + ParcelID: UUID; + SnapshotID: UUID; + Name: string; + }; + + getSize(): number + { + return (this.ParcelData['Name'].length + 1) + 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.ParcelData['ParcelID'].writeToBuffer(buf, pos); + pos += 16; + this.ParcelData['SnapshotID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.ParcelData['Name'].length, pos++); + buf.write(this.ParcelData['Name'], pos); + pos += this.ParcelData['Name'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjParcelData: { + ParcelID: UUID, + SnapshotID: UUID, + Name: string + } = { + ParcelID: UUID.zero(), + SnapshotID: UUID.zero(), + Name: '' + }; + newObjParcelData['ParcelID'] = new UUID(buf, pos); + pos += 16; + newObjParcelData['SnapshotID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjParcelData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ParcelData = newObjParcelData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/StartGroupProposal.ts b/lib/classes/messages/StartGroupProposal.ts new file mode 100644 index 0000000..4d40049 --- /dev/null +++ b/lib/classes/messages/StartGroupProposal.ts @@ -0,0 +1,96 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class StartGroupProposalMessage implements MessageBase +{ + name = 'StartGroupProposal'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyLow; + id = Message.StartGroupProposal; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ProposalData: { + GroupID: UUID; + Quorum: number; + Majority: number; + Duration: number; + ProposalText: string; + }; + + getSize(): number + { + return (this.ProposalData['ProposalText'].length + 1) + 60; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.ProposalData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.ProposalData['Quorum'], pos); + pos += 4; + buf.writeFloatLE(this.ProposalData['Majority'], pos); + pos += 4; + buf.writeInt32LE(this.ProposalData['Duration'], pos); + pos += 4; + buf.writeUInt8(this.ProposalData['ProposalText'].length, pos++); + buf.write(this.ProposalData['ProposalText'], pos); + pos += this.ProposalData['ProposalText'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjProposalData: { + GroupID: UUID, + Quorum: number, + Majority: number, + Duration: number, + ProposalText: string + } = { + GroupID: UUID.zero(), + Quorum: 0, + Majority: 0, + Duration: 0, + ProposalText: '' + }; + newObjProposalData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjProposalData['Quorum'] = buf.readInt32LE(pos); + pos += 4; + newObjProposalData['Majority'] = buf.readFloatLE(pos); + pos += 4; + newObjProposalData['Duration'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjProposalData['ProposalText'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ProposalData = newObjProposalData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/StartLure.ts b/lib/classes/messages/StartLure.ts new file mode 100644 index 0000000..1dcb5d6 --- /dev/null +++ b/lib/classes/messages/StartLure.ts @@ -0,0 +1,96 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class StartLureMessage implements MessageBase +{ + name = 'StartLure'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.StartLure; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Info: { + LureType: number; + Message: string; + }; + TargetData: { + TargetID: UUID; + }[]; + + getSize(): number + { + return (this.Info['Message'].length + 1) + ((16) * this.TargetData.length) + 34; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.Info['LureType'], pos++); + buf.writeUInt8(this.Info['Message'].length, pos++); + buf.write(this.Info['Message'], pos); + pos += this.Info['Message'].length; + const count = this.TargetData.length; + buf.writeUInt8(this.TargetData.length, pos++); + for (let i = 0; i < count; i++) + { + this.TargetData[i]['TargetID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjInfo: { + LureType: number, + Message: string + } = { + LureType: 0, + Message: '' + }; + newObjInfo['LureType'] = buf.readUInt8(pos++); + varLength = buf.readUInt8(pos++); + newObjInfo['Message'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.Info = newObjInfo; + const count = buf.readUInt8(pos++); + this.TargetData = []; + for (let i = 0; i < count; i++) + { + const newObjTargetData: { + TargetID: UUID + } = { + TargetID: UUID.zero() + }; + newObjTargetData['TargetID'] = new UUID(buf, pos); + pos += 16; + this.TargetData.push(newObjTargetData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/StartPingCheck.ts b/lib/classes/messages/StartPingCheck.ts new file mode 100644 index 0000000..09da687 --- /dev/null +++ b/lib/classes/messages/StartPingCheck.ts @@ -0,0 +1,50 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class StartPingCheckMessage implements MessageBase +{ + name = 'StartPingCheck'; + messageFlags = MessageFlags.FrequencyHigh; + id = Message.StartPingCheck; + + PingID: { + PingID: number; + OldestUnacked: number; + }; + + getSize(): number + { + return 5; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt8(this.PingID['PingID'], pos++); + buf.writeUInt32LE(this.PingID['OldestUnacked'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjPingID: { + PingID: number, + OldestUnacked: number + } = { + PingID: 0, + OldestUnacked: 0 + }; + newObjPingID['PingID'] = buf.readUInt8(pos++); + newObjPingID['OldestUnacked'] = buf.readUInt32LE(pos); + pos += 4; + this.PingID = newObjPingID; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/StateSave.ts b/lib/classes/messages/StateSave.ts new file mode 100644 index 0000000..6bea93e --- /dev/null +++ b/lib/classes/messages/StateSave.ts @@ -0,0 +1,68 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class StateSaveMessage implements MessageBase +{ + name = 'StateSave'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.StateSave; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + DataBlock: { + Filename: string; + }; + + getSize(): number + { + return (this.DataBlock['Filename'].length + 1) + 32; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.DataBlock['Filename'].length, pos++); + buf.write(this.DataBlock['Filename'], pos); + pos += this.DataBlock['Filename'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjDataBlock: { + Filename: string + } = { + Filename: '' + }; + varLength = buf.readUInt8(pos++); + newObjDataBlock['Filename'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.DataBlock = newObjDataBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/SubscribeLoad.ts b/lib/classes/messages/SubscribeLoad.ts new file mode 100644 index 0000000..e06e6a8 --- /dev/null +++ b/lib/classes/messages/SubscribeLoad.ts @@ -0,0 +1,29 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SubscribeLoadMessage implements MessageBase +{ + name = 'SubscribeLoad'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.SubscribeLoad; + + + getSize(): number + { + return 0; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + return 0; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + return 0; + } +} + diff --git a/lib/classes/messages/SystemKickUser.ts b/lib/classes/messages/SystemKickUser.ts new file mode 100644 index 0000000..b7e3850 --- /dev/null +++ b/lib/classes/messages/SystemKickUser.ts @@ -0,0 +1,56 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SystemKickUserMessage implements MessageBase +{ + name = 'SystemKickUser'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.SystemKickUser; + + AgentInfo: { + AgentID: UUID; + }[]; + + getSize(): number + { + return ((16) * this.AgentInfo.length) + 1; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.AgentInfo.length; + buf.writeUInt8(this.AgentInfo.length, pos++); + for (let i = 0; i < count; i++) + { + this.AgentInfo[i]['AgentID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.AgentInfo = []; + for (let i = 0; i < count; i++) + { + const newObjAgentInfo: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentInfo['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentInfo.push(newObjAgentInfo); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/SystemMessage.ts b/lib/classes/messages/SystemMessage.ts new file mode 100644 index 0000000..4779bee --- /dev/null +++ b/lib/classes/messages/SystemMessage.ts @@ -0,0 +1,97 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class SystemMessageMessage implements MessageBase +{ + name = 'SystemMessage'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.SystemMessage; + + MethodData: { + Method: string; + Invoice: UUID; + Digest: Buffer; + }; + ParamList: { + Parameter: string; + }[]; + + getSize(): number + { + return (this.MethodData['Method'].length + 1) + ((this.calculateVarVarSize(this.ParamList, 'Parameter', 1)) * this.ParamList.length) + 49; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt8(this.MethodData['Method'].length, pos++); + buf.write(this.MethodData['Method'], pos); + pos += this.MethodData['Method'].length; + this.MethodData['Invoice'].writeToBuffer(buf, pos); + pos += 16; + this.MethodData['Digest'].copy(buf, pos); + pos += 32; + const count = this.ParamList.length; + buf.writeUInt8(this.ParamList.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt8(this.ParamList[i]['Parameter'].length, pos++); + buf.write(this.ParamList[i]['Parameter'], pos); + pos += this.ParamList[i]['Parameter'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjMethodData: { + Method: string, + Invoice: UUID, + Digest: Buffer + } = { + Method: '', + Invoice: UUID.zero(), + Digest: Buffer.allocUnsafe(0) + }; + varLength = buf.readUInt8(pos++); + newObjMethodData['Method'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjMethodData['Invoice'] = new UUID(buf, pos); + pos += 16; + newObjMethodData['Digest'] = buf.slice(pos, pos + 32); + pos += 32; + this.MethodData = newObjMethodData; + const count = buf.readUInt8(pos++); + this.ParamList = []; + for (let i = 0; i < count; i++) + { + const newObjParamList: { + Parameter: string + } = { + Parameter: '' + }; + varLength = buf.readUInt8(pos++); + newObjParamList['Parameter'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ParamList.push(newObjParamList); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/TallyVotes.ts b/lib/classes/messages/TallyVotes.ts new file mode 100644 index 0000000..b92b784 --- /dev/null +++ b/lib/classes/messages/TallyVotes.ts @@ -0,0 +1,29 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class TallyVotesMessage implements MessageBase +{ + name = 'TallyVotes'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.TallyVotes; + + + getSize(): number + { + return 0; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + return 0; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + return 0; + } +} + diff --git a/lib/classes/messages/TelehubInfo.ts b/lib/classes/messages/TelehubInfo.ts new file mode 100644 index 0000000..663d394 --- /dev/null +++ b/lib/classes/messages/TelehubInfo.ts @@ -0,0 +1,94 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {Quaternion} from '../Quaternion'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class TelehubInfoMessage implements MessageBase +{ + name = 'TelehubInfo'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.TelehubInfo; + + TelehubBlock: { + ObjectID: UUID; + ObjectName: string; + TelehubPos: Vector3; + TelehubRot: Quaternion; + }; + SpawnPointBlock: { + SpawnPointPos: Vector3; + }[]; + + getSize(): number + { + return (this.TelehubBlock['ObjectName'].length + 1) + ((12) * this.SpawnPointBlock.length) + 41; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.TelehubBlock['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.TelehubBlock['ObjectName'].length, pos++); + buf.write(this.TelehubBlock['ObjectName'], pos); + pos += this.TelehubBlock['ObjectName'].length; + this.TelehubBlock['TelehubPos'].writeToBuffer(buf, pos, false); + pos += 12; + this.TelehubBlock['TelehubRot'].writeToBuffer(buf, pos); + pos += 12; + const count = this.SpawnPointBlock.length; + buf.writeUInt8(this.SpawnPointBlock.length, pos++); + for (let i = 0; i < count; i++) + { + this.SpawnPointBlock[i]['SpawnPointPos'].writeToBuffer(buf, pos, false); + pos += 12; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjTelehubBlock: { + ObjectID: UUID, + ObjectName: string, + TelehubPos: Vector3, + TelehubRot: Quaternion + } = { + ObjectID: UUID.zero(), + ObjectName: '', + TelehubPos: Vector3.getZero(), + TelehubRot: Quaternion.getIdentity() + }; + newObjTelehubBlock['ObjectID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjTelehubBlock['ObjectName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjTelehubBlock['TelehubPos'] = new Vector3(buf, pos, false); + pos += 12; + newObjTelehubBlock['TelehubRot'] = new Quaternion(buf, pos); + pos += 12; + this.TelehubBlock = newObjTelehubBlock; + const count = buf.readUInt8(pos++); + this.SpawnPointBlock = []; + for (let i = 0; i < count; i++) + { + const newObjSpawnPointBlock: { + SpawnPointPos: Vector3 + } = { + SpawnPointPos: Vector3.getZero() + }; + newObjSpawnPointBlock['SpawnPointPos'] = new Vector3(buf, pos, false); + pos += 12; + this.SpawnPointBlock.push(newObjSpawnPointBlock); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/TeleportCancel.ts b/lib/classes/messages/TeleportCancel.ts new file mode 100644 index 0000000..2380a0f --- /dev/null +++ b/lib/classes/messages/TeleportCancel.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class TeleportCancelMessage implements MessageBase +{ + name = 'TeleportCancel'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.TeleportCancel; + + Info: { + AgentID: UUID; + SessionID: UUID; + }; + + getSize(): number + { + return 32; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.Info['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.Info['SessionID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjInfo: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjInfo['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjInfo['SessionID'] = new UUID(buf, pos); + pos += 16; + this.Info = newObjInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/TeleportFailed.ts b/lib/classes/messages/TeleportFailed.ts new file mode 100644 index 0000000..fe59301 --- /dev/null +++ b/lib/classes/messages/TeleportFailed.ts @@ -0,0 +1,99 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class TeleportFailedMessage implements MessageBase +{ + name = 'TeleportFailed'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.TeleportFailed; + + Info: { + AgentID: UUID; + Reason: string; + }; + AlertInfo: { + Message: string; + ExtraParams: string; + }[]; + + getSize(): number + { + return (this.Info['Reason'].length + 1) + ((this.calculateVarVarSize(this.AlertInfo, 'Message', 1) + this.calculateVarVarSize(this.AlertInfo, 'ExtraParams', 1)) * this.AlertInfo.length) + 17; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.Info['AgentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.Info['Reason'].length, pos++); + buf.write(this.Info['Reason'], pos); + pos += this.Info['Reason'].length; + const count = this.AlertInfo.length; + buf.writeUInt8(this.AlertInfo.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt8(this.AlertInfo[i]['Message'].length, pos++); + buf.write(this.AlertInfo[i]['Message'], pos); + pos += this.AlertInfo[i]['Message'].length; + buf.writeUInt8(this.AlertInfo[i]['ExtraParams'].length, pos++); + buf.write(this.AlertInfo[i]['ExtraParams'], pos); + pos += this.AlertInfo[i]['ExtraParams'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjInfo: { + AgentID: UUID, + Reason: string + } = { + AgentID: UUID.zero(), + Reason: '' + }; + newObjInfo['AgentID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjInfo['Reason'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.Info = newObjInfo; + const count = buf.readUInt8(pos++); + this.AlertInfo = []; + for (let i = 0; i < count; i++) + { + const newObjAlertInfo: { + Message: string, + ExtraParams: string + } = { + Message: '', + ExtraParams: '' + }; + varLength = buf.readUInt8(pos++); + newObjAlertInfo['Message'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjAlertInfo['ExtraParams'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.AlertInfo.push(newObjAlertInfo); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/TeleportFinish.ts b/lib/classes/messages/TeleportFinish.ts new file mode 100644 index 0000000..178dec8 --- /dev/null +++ b/lib/classes/messages/TeleportFinish.ts @@ -0,0 +1,101 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {IPAddress} from '../IPAddress'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class TeleportFinishMessage implements MessageBase +{ + name = 'TeleportFinish'; + messageFlags = MessageFlags.Trusted | MessageFlags.Blacklisted | MessageFlags.FrequencyLow; + id = Message.TeleportFinish; + + Info: { + AgentID: UUID; + LocationID: number; + SimIP: IPAddress; + SimPort: number; + RegionHandle: Long; + SeedCapability: string; + SimAccess: number; + TeleportFlags: number; + }; + + getSize(): number + { + return (this.Info['SeedCapability'].length + 2) + 39; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.Info['AgentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.Info['LocationID'], pos); + pos += 4; + this.Info['SimIP'].writeToBuffer(buf, pos); + pos += 4; + buf.writeUInt16LE(this.Info['SimPort'], pos); + pos += 2; + buf.writeInt32LE(this.Info['RegionHandle'].low, pos); + pos += 4; + buf.writeInt32LE(this.Info['RegionHandle'].high, pos); + pos += 4; + buf.writeUInt16LE(this.Info['SeedCapability'].length, pos); + pos += 2; + buf.write(this.Info['SeedCapability'], pos); + pos += this.Info['SeedCapability'].length; + buf.writeUInt8(this.Info['SimAccess'], pos++); + buf.writeUInt32LE(this.Info['TeleportFlags'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjInfo: { + AgentID: UUID, + LocationID: number, + SimIP: IPAddress, + SimPort: number, + RegionHandle: Long, + SeedCapability: string, + SimAccess: number, + TeleportFlags: number + } = { + AgentID: UUID.zero(), + LocationID: 0, + SimIP: IPAddress.zero(), + SimPort: 0, + RegionHandle: Long.ZERO, + SeedCapability: '', + SimAccess: 0, + TeleportFlags: 0 + }; + newObjInfo['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjInfo['LocationID'] = buf.readUInt32LE(pos); + pos += 4; + newObjInfo['SimIP'] = new IPAddress(buf, pos); + pos += 4; + newObjInfo['SimPort'] = buf.readUInt16LE(pos); + pos += 2; + newObjInfo['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjInfo['SeedCapability'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjInfo['SimAccess'] = buf.readUInt8(pos++); + newObjInfo['TeleportFlags'] = buf.readUInt32LE(pos); + pos += 4; + this.Info = newObjInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/TeleportLandingStatusChanged.ts b/lib/classes/messages/TeleportLandingStatusChanged.ts new file mode 100644 index 0000000..ed6e405 --- /dev/null +++ b/lib/classes/messages/TeleportLandingStatusChanged.ts @@ -0,0 +1,48 @@ +// This file has been automatically generated by writeMessageClasses.js + +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class TeleportLandingStatusChangedMessage implements MessageBase +{ + name = 'TeleportLandingStatusChanged'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.TeleportLandingStatusChanged; + + RegionData: { + RegionHandle: Long; + }; + + getSize(): number + { + return 8; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeInt32LE(this.RegionData['RegionHandle'].low, pos); + pos += 4; + buf.writeInt32LE(this.RegionData['RegionHandle'].high, pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjRegionData: { + RegionHandle: Long + } = { + RegionHandle: Long.ZERO + }; + newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + this.RegionData = newObjRegionData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/TeleportLandmarkRequest.ts b/lib/classes/messages/TeleportLandmarkRequest.ts new file mode 100644 index 0000000..9cddd9e --- /dev/null +++ b/lib/classes/messages/TeleportLandmarkRequest.ts @@ -0,0 +1,60 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class TeleportLandmarkRequestMessage implements MessageBase +{ + name = 'TeleportLandmarkRequest'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.TeleportLandmarkRequest; + + Info: { + AgentID: UUID; + SessionID: UUID; + LandmarkID: UUID; + }; + + getSize(): number + { + return 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.Info['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.Info['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Info['LandmarkID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjInfo: { + AgentID: UUID, + SessionID: UUID, + LandmarkID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + LandmarkID: UUID.zero() + }; + newObjInfo['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjInfo['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjInfo['LandmarkID'] = new UUID(buf, pos); + pos += 16; + this.Info = newObjInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/TeleportLocal.ts b/lib/classes/messages/TeleportLocal.ts new file mode 100644 index 0000000..5e6cae8 --- /dev/null +++ b/lib/classes/messages/TeleportLocal.ts @@ -0,0 +1,75 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class TeleportLocalMessage implements MessageBase +{ + name = 'TeleportLocal'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.TeleportLocal; + + Info: { + AgentID: UUID; + LocationID: number; + Position: Vector3; + LookAt: Vector3; + TeleportFlags: number; + }; + + getSize(): number + { + return 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.Info['AgentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.Info['LocationID'], pos); + pos += 4; + this.Info['Position'].writeToBuffer(buf, pos, false); + pos += 12; + this.Info['LookAt'].writeToBuffer(buf, pos, false); + pos += 12; + buf.writeUInt32LE(this.Info['TeleportFlags'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjInfo: { + AgentID: UUID, + LocationID: number, + Position: Vector3, + LookAt: Vector3, + TeleportFlags: number + } = { + AgentID: UUID.zero(), + LocationID: 0, + Position: Vector3.getZero(), + LookAt: Vector3.getZero(), + TeleportFlags: 0 + }; + newObjInfo['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjInfo['LocationID'] = buf.readUInt32LE(pos); + pos += 4; + newObjInfo['Position'] = new Vector3(buf, pos, false); + pos += 12; + newObjInfo['LookAt'] = new Vector3(buf, pos, false); + pos += 12; + newObjInfo['TeleportFlags'] = buf.readUInt32LE(pos); + pos += 4; + this.Info = newObjInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/TeleportLocationRequest.ts b/lib/classes/messages/TeleportLocationRequest.ts new file mode 100644 index 0000000..910e141 --- /dev/null +++ b/lib/classes/messages/TeleportLocationRequest.ts @@ -0,0 +1,84 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class TeleportLocationRequestMessage implements MessageBase +{ + name = 'TeleportLocationRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.TeleportLocationRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Info: { + RegionHandle: Long; + Position: Vector3; + LookAt: Vector3; + }; + + getSize(): number + { + return 64; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.Info['RegionHandle'].low, pos); + pos += 4; + buf.writeInt32LE(this.Info['RegionHandle'].high, pos); + pos += 4; + this.Info['Position'].writeToBuffer(buf, pos, false); + pos += 12; + this.Info['LookAt'].writeToBuffer(buf, pos, false); + pos += 12; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjInfo: { + RegionHandle: Long, + Position: Vector3, + LookAt: Vector3 + } = { + RegionHandle: Long.ZERO, + Position: Vector3.getZero(), + LookAt: Vector3.getZero() + }; + newObjInfo['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjInfo['Position'] = new Vector3(buf, pos, false); + pos += 12; + newObjInfo['LookAt'] = new Vector3(buf, pos, false); + pos += 12; + this.Info = newObjInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/TeleportLureRequest.ts b/lib/classes/messages/TeleportLureRequest.ts new file mode 100644 index 0000000..642f9e5 --- /dev/null +++ b/lib/classes/messages/TeleportLureRequest.ts @@ -0,0 +1,67 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class TeleportLureRequestMessage implements MessageBase +{ + name = 'TeleportLureRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.TeleportLureRequest; + + Info: { + AgentID: UUID; + SessionID: UUID; + LureID: UUID; + TeleportFlags: number; + }; + + getSize(): number + { + return 52; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.Info['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.Info['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Info['LureID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.Info['TeleportFlags'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjInfo: { + AgentID: UUID, + SessionID: UUID, + LureID: UUID, + TeleportFlags: number + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + LureID: UUID.zero(), + TeleportFlags: 0 + }; + newObjInfo['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjInfo['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjInfo['LureID'] = new UUID(buf, pos); + pos += 16; + newObjInfo['TeleportFlags'] = buf.readUInt32LE(pos); + pos += 4; + this.Info = newObjInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/TeleportProgress.ts b/lib/classes/messages/TeleportProgress.ts new file mode 100644 index 0000000..784da24 --- /dev/null +++ b/lib/classes/messages/TeleportProgress.ts @@ -0,0 +1,68 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class TeleportProgressMessage implements MessageBase +{ + name = 'TeleportProgress'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.TeleportProgress; + + AgentData: { + AgentID: UUID; + }; + Info: { + TeleportFlags: number; + Message: string; + }; + + getSize(): number + { + return (this.Info['Message'].length + 1) + 20; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.Info['TeleportFlags'], pos); + pos += 4; + buf.writeUInt8(this.Info['Message'].length, pos++); + buf.write(this.Info['Message'], pos); + pos += this.Info['Message'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjInfo: { + TeleportFlags: number, + Message: string + } = { + TeleportFlags: 0, + Message: '' + }; + newObjInfo['TeleportFlags'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjInfo['Message'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.Info = newObjInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/TeleportRequest.ts b/lib/classes/messages/TeleportRequest.ts new file mode 100644 index 0000000..48d6902 --- /dev/null +++ b/lib/classes/messages/TeleportRequest.ts @@ -0,0 +1,81 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class TeleportRequestMessage implements MessageBase +{ + name = 'TeleportRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.TeleportRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Info: { + RegionID: UUID; + Position: Vector3; + LookAt: Vector3; + }; + + getSize(): number + { + return 72; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.Info['RegionID'].writeToBuffer(buf, pos); + pos += 16; + this.Info['Position'].writeToBuffer(buf, pos, false); + pos += 12; + this.Info['LookAt'].writeToBuffer(buf, pos, false); + pos += 12; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjInfo: { + RegionID: UUID, + Position: Vector3, + LookAt: Vector3 + } = { + RegionID: UUID.zero(), + Position: Vector3.getZero(), + LookAt: Vector3.getZero() + }; + newObjInfo['RegionID'] = new UUID(buf, pos); + pos += 16; + newObjInfo['Position'] = new Vector3(buf, pos, false); + pos += 12; + newObjInfo['LookAt'] = new Vector3(buf, pos, false); + pos += 12; + this.Info = newObjInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/TeleportStart.ts b/lib/classes/messages/TeleportStart.ts new file mode 100644 index 0000000..31b0dae --- /dev/null +++ b/lib/classes/messages/TeleportStart.ts @@ -0,0 +1,45 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class TeleportStartMessage implements MessageBase +{ + name = 'TeleportStart'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.TeleportStart; + + Info: { + TeleportFlags: number; + }; + + getSize(): number + { + return 4; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt32LE(this.Info['TeleportFlags'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjInfo: { + TeleportFlags: number + } = { + TeleportFlags: 0 + }; + newObjInfo['TeleportFlags'] = buf.readUInt32LE(pos); + pos += 4; + this.Info = newObjInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/TerminateFriendship.ts b/lib/classes/messages/TerminateFriendship.ts new file mode 100644 index 0000000..0f0cec0 --- /dev/null +++ b/lib/classes/messages/TerminateFriendship.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class TerminateFriendshipMessage implements MessageBase +{ + name = 'TerminateFriendship'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.TerminateFriendship; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ExBlock: { + OtherID: UUID; + }; + + getSize(): number + { + return 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.ExBlock['OtherID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjExBlock: { + OtherID: UUID + } = { + OtherID: UUID.zero() + }; + newObjExBlock['OtherID'] = new UUID(buf, pos); + pos += 16; + this.ExBlock = newObjExBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/TestMessage.ts b/lib/classes/messages/TestMessage.ts new file mode 100644 index 0000000..67cd7fc --- /dev/null +++ b/lib/classes/messages/TestMessage.ts @@ -0,0 +1,80 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class TestMessageMessage implements MessageBase +{ + name = 'TestMessage'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.TestMessage; + + TestBlock1: { + Test1: number; + }; + NeighborBlock: { + Test0: number; + Test1: number; + Test2: number; + }[]; + + getSize(): number + { + return 52; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt32LE(this.TestBlock1['Test1'], pos); + pos += 4; + const count = 4; + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.NeighborBlock[i]['Test0'], pos); + pos += 4; + buf.writeUInt32LE(this.NeighborBlock[i]['Test1'], pos); + pos += 4; + buf.writeUInt32LE(this.NeighborBlock[i]['Test2'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjTestBlock1: { + Test1: number + } = { + Test1: 0 + }; + newObjTestBlock1['Test1'] = buf.readUInt32LE(pos); + pos += 4; + this.TestBlock1 = newObjTestBlock1; + const count = 4; + this.NeighborBlock = []; for (let i = 0; i < count; i++) + { + const newObjNeighborBlock: { + Test0: number, + Test1: number, + Test2: number + } = { + Test0: 0, + Test1: 0, + Test2: 0 + }; + newObjNeighborBlock['Test0'] = buf.readUInt32LE(pos); + pos += 4; + newObjNeighborBlock['Test1'] = buf.readUInt32LE(pos); + pos += 4; + newObjNeighborBlock['Test2'] = buf.readUInt32LE(pos); + pos += 4; + this.NeighborBlock.push(newObjNeighborBlock); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/TrackAgent.ts b/lib/classes/messages/TrackAgent.ts new file mode 100644 index 0000000..208928f --- /dev/null +++ b/lib/classes/messages/TrackAgent.ts @@ -0,0 +1,66 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class TrackAgentMessage implements MessageBase +{ + name = 'TrackAgent'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.TrackAgent; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + TargetData: { + PreyID: UUID; + }; + + getSize(): number + { + return 48; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.TargetData['PreyID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjTargetData: { + PreyID: UUID + } = { + PreyID: UUID.zero() + }; + newObjTargetData['PreyID'] = new UUID(buf, pos); + pos += 16; + this.TargetData = newObjTargetData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/TransferAbort.ts b/lib/classes/messages/TransferAbort.ts new file mode 100644 index 0000000..3b18cf9 --- /dev/null +++ b/lib/classes/messages/TransferAbort.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class TransferAbortMessage implements MessageBase +{ + name = 'TransferAbort'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.TransferAbort; + + TransferInfo: { + TransferID: UUID; + ChannelType: number; + }; + + getSize(): number + { + return 20; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.TransferInfo['TransferID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.TransferInfo['ChannelType'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjTransferInfo: { + TransferID: UUID, + ChannelType: number + } = { + TransferID: UUID.zero(), + ChannelType: 0 + }; + newObjTransferInfo['TransferID'] = new UUID(buf, pos); + pos += 16; + newObjTransferInfo['ChannelType'] = buf.readInt32LE(pos); + pos += 4; + this.TransferInfo = newObjTransferInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/TransferInfo.ts b/lib/classes/messages/TransferInfo.ts new file mode 100644 index 0000000..7f8e2f2 --- /dev/null +++ b/lib/classes/messages/TransferInfo.ts @@ -0,0 +1,85 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class TransferInfoMessage implements MessageBase +{ + name = 'TransferInfo'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.TransferInfo; + + TransferInfo: { + TransferID: UUID; + ChannelType: number; + TargetType: number; + Status: number; + Size: number; + Params: string; + }; + + getSize(): number + { + return (this.TransferInfo['Params'].length + 2) + 32; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.TransferInfo['TransferID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.TransferInfo['ChannelType'], pos); + pos += 4; + buf.writeInt32LE(this.TransferInfo['TargetType'], pos); + pos += 4; + buf.writeInt32LE(this.TransferInfo['Status'], pos); + pos += 4; + buf.writeInt32LE(this.TransferInfo['Size'], pos); + pos += 4; + buf.writeUInt16LE(this.TransferInfo['Params'].length, pos); + pos += 2; + buf.write(this.TransferInfo['Params'], pos); + pos += this.TransferInfo['Params'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjTransferInfo: { + TransferID: UUID, + ChannelType: number, + TargetType: number, + Status: number, + Size: number, + Params: string + } = { + TransferID: UUID.zero(), + ChannelType: 0, + TargetType: 0, + Status: 0, + Size: 0, + Params: '' + }; + newObjTransferInfo['TransferID'] = new UUID(buf, pos); + pos += 16; + newObjTransferInfo['ChannelType'] = buf.readInt32LE(pos); + pos += 4; + newObjTransferInfo['TargetType'] = buf.readInt32LE(pos); + pos += 4; + newObjTransferInfo['Status'] = buf.readInt32LE(pos); + pos += 4; + newObjTransferInfo['Size'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjTransferInfo['Params'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.TransferInfo = newObjTransferInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/TransferInventory.ts b/lib/classes/messages/TransferInventory.ts new file mode 100644 index 0000000..f39fc45 --- /dev/null +++ b/lib/classes/messages/TransferInventory.ts @@ -0,0 +1,106 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class TransferInventoryMessage implements MessageBase +{ + name = 'TransferInventory'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.TransferInventory; + + InfoBlock: { + SourceID: UUID; + DestID: UUID; + TransactionID: UUID; + }; + InventoryBlock: { + InventoryID: UUID; + Type: number; + }[]; + ValidationBlock: { + NeedsValidation: boolean; + EstateID: number; + }; + + getSize(): number + { + return ((17) * this.InventoryBlock.length) + 54; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.InfoBlock['SourceID'].writeToBuffer(buf, pos); + pos += 16; + this.InfoBlock['DestID'].writeToBuffer(buf, pos); + pos += 16; + this.InfoBlock['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.InventoryBlock.length; + buf.writeUInt8(this.InventoryBlock.length, pos++); + for (let i = 0; i < count; i++) + { + this.InventoryBlock[i]['InventoryID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt8(this.InventoryBlock[i]['Type'], pos++); + } + buf.writeUInt8((this.ValidationBlock['NeedsValidation']) ? 1 : 0, pos++); + buf.writeUInt32LE(this.ValidationBlock['EstateID'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjInfoBlock: { + SourceID: UUID, + DestID: UUID, + TransactionID: UUID + } = { + SourceID: UUID.zero(), + DestID: UUID.zero(), + TransactionID: UUID.zero() + }; + newObjInfoBlock['SourceID'] = new UUID(buf, pos); + pos += 16; + newObjInfoBlock['DestID'] = new UUID(buf, pos); + pos += 16; + newObjInfoBlock['TransactionID'] = new UUID(buf, pos); + pos += 16; + this.InfoBlock = newObjInfoBlock; + const count = buf.readUInt8(pos++); + this.InventoryBlock = []; + for (let i = 0; i < count; i++) + { + const newObjInventoryBlock: { + InventoryID: UUID, + Type: number + } = { + InventoryID: UUID.zero(), + Type: 0 + }; + newObjInventoryBlock['InventoryID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryBlock['Type'] = buf.readInt8(pos++); + this.InventoryBlock.push(newObjInventoryBlock); + } + const newObjValidationBlock: { + NeedsValidation: boolean, + EstateID: number + } = { + NeedsValidation: false, + EstateID: 0 + }; + newObjValidationBlock['NeedsValidation'] = (buf.readUInt8(pos++) === 1); + newObjValidationBlock['EstateID'] = buf.readUInt32LE(pos); + pos += 4; + this.ValidationBlock = newObjValidationBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/TransferInventoryAck.ts b/lib/classes/messages/TransferInventoryAck.ts new file mode 100644 index 0000000..25697b0 --- /dev/null +++ b/lib/classes/messages/TransferInventoryAck.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class TransferInventoryAckMessage implements MessageBase +{ + name = 'TransferInventoryAck'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.TransferInventoryAck; + + InfoBlock: { + TransactionID: UUID; + InventoryID: UUID; + }; + + getSize(): number + { + return 32; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.InfoBlock['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + this.InfoBlock['InventoryID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjInfoBlock: { + TransactionID: UUID, + InventoryID: UUID + } = { + TransactionID: UUID.zero(), + InventoryID: UUID.zero() + }; + newObjInfoBlock['TransactionID'] = new UUID(buf, pos); + pos += 16; + newObjInfoBlock['InventoryID'] = new UUID(buf, pos); + pos += 16; + this.InfoBlock = newObjInfoBlock; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/TransferPacket.ts b/lib/classes/messages/TransferPacket.ts new file mode 100644 index 0000000..15dc145 --- /dev/null +++ b/lib/classes/messages/TransferPacket.ts @@ -0,0 +1,78 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class TransferPacketMessage implements MessageBase +{ + name = 'TransferPacket'; + messageFlags = MessageFlags.FrequencyHigh; + id = Message.TransferPacket; + + TransferData: { + TransferID: UUID; + ChannelType: number; + Packet: number; + Status: number; + Data: string; + }; + + getSize(): number + { + return (this.TransferData['Data'].length + 2) + 28; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.TransferData['TransferID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.TransferData['ChannelType'], pos); + pos += 4; + buf.writeInt32LE(this.TransferData['Packet'], pos); + pos += 4; + buf.writeInt32LE(this.TransferData['Status'], pos); + pos += 4; + buf.writeUInt16LE(this.TransferData['Data'].length, pos); + pos += 2; + buf.write(this.TransferData['Data'], pos); + pos += this.TransferData['Data'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjTransferData: { + TransferID: UUID, + ChannelType: number, + Packet: number, + Status: number, + Data: string + } = { + TransferID: UUID.zero(), + ChannelType: 0, + Packet: 0, + Status: 0, + Data: '' + }; + newObjTransferData['TransferID'] = new UUID(buf, pos); + pos += 16; + newObjTransferData['ChannelType'] = buf.readInt32LE(pos); + pos += 4; + newObjTransferData['Packet'] = buf.readInt32LE(pos); + pos += 4; + newObjTransferData['Status'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjTransferData['Data'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.TransferData = newObjTransferData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/TransferRequest.ts b/lib/classes/messages/TransferRequest.ts new file mode 100644 index 0000000..da050c9 --- /dev/null +++ b/lib/classes/messages/TransferRequest.ts @@ -0,0 +1,78 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class TransferRequestMessage implements MessageBase +{ + name = 'TransferRequest'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.TransferRequest; + + TransferInfo: { + TransferID: UUID; + ChannelType: number; + SourceType: number; + Priority: number; + Params: string; + }; + + getSize(): number + { + return (this.TransferInfo['Params'].length + 2) + 28; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.TransferInfo['TransferID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.TransferInfo['ChannelType'], pos); + pos += 4; + buf.writeInt32LE(this.TransferInfo['SourceType'], pos); + pos += 4; + buf.writeFloatLE(this.TransferInfo['Priority'], pos); + pos += 4; + buf.writeUInt16LE(this.TransferInfo['Params'].length, pos); + pos += 2; + buf.write(this.TransferInfo['Params'], pos); + pos += this.TransferInfo['Params'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjTransferInfo: { + TransferID: UUID, + ChannelType: number, + SourceType: number, + Priority: number, + Params: string + } = { + TransferID: UUID.zero(), + ChannelType: 0, + SourceType: 0, + Priority: 0, + Params: '' + }; + newObjTransferInfo['TransferID'] = new UUID(buf, pos); + pos += 16; + newObjTransferInfo['ChannelType'] = buf.readInt32LE(pos); + pos += 4; + newObjTransferInfo['SourceType'] = buf.readInt32LE(pos); + pos += 4; + newObjTransferInfo['Priority'] = buf.readFloatLE(pos); + pos += 4; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjTransferInfo['Params'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.TransferInfo = newObjTransferInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/UUIDGroupNameReply.ts b/lib/classes/messages/UUIDGroupNameReply.ts new file mode 100644 index 0000000..97f8af5 --- /dev/null +++ b/lib/classes/messages/UUIDGroupNameReply.ts @@ -0,0 +1,75 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class UUIDGroupNameReplyMessage implements MessageBase +{ + name = 'UUIDGroupNameReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.UUIDGroupNameReply; + + UUIDNameBlock: { + ID: UUID; + GroupName: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.UUIDNameBlock, 'GroupName', 1) + 16) * this.UUIDNameBlock.length) + 1; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.UUIDNameBlock.length; + buf.writeUInt8(this.UUIDNameBlock.length, pos++); + for (let i = 0; i < count; i++) + { + this.UUIDNameBlock[i]['ID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.UUIDNameBlock[i]['GroupName'].length, pos++); + buf.write(this.UUIDNameBlock[i]['GroupName'], pos); + pos += this.UUIDNameBlock[i]['GroupName'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.UUIDNameBlock = []; + for (let i = 0; i < count; i++) + { + const newObjUUIDNameBlock: { + ID: UUID, + GroupName: string + } = { + ID: UUID.zero(), + GroupName: '' + }; + newObjUUIDNameBlock['ID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjUUIDNameBlock['GroupName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.UUIDNameBlock.push(newObjUUIDNameBlock); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/UUIDGroupNameRequest.ts b/lib/classes/messages/UUIDGroupNameRequest.ts new file mode 100644 index 0000000..2d6cc45 --- /dev/null +++ b/lib/classes/messages/UUIDGroupNameRequest.ts @@ -0,0 +1,56 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class UUIDGroupNameRequestMessage implements MessageBase +{ + name = 'UUIDGroupNameRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.UUIDGroupNameRequest; + + UUIDNameBlock: { + ID: UUID; + }[]; + + getSize(): number + { + return ((16) * this.UUIDNameBlock.length) + 1; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.UUIDNameBlock.length; + buf.writeUInt8(this.UUIDNameBlock.length, pos++); + for (let i = 0; i < count; i++) + { + this.UUIDNameBlock[i]['ID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.UUIDNameBlock = []; + for (let i = 0; i < count; i++) + { + const newObjUUIDNameBlock: { + ID: UUID + } = { + ID: UUID.zero() + }; + newObjUUIDNameBlock['ID'] = new UUID(buf, pos); + pos += 16; + this.UUIDNameBlock.push(newObjUUIDNameBlock); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/UUIDNameReply.ts b/lib/classes/messages/UUIDNameReply.ts new file mode 100644 index 0000000..5e69016 --- /dev/null +++ b/lib/classes/messages/UUIDNameReply.ts @@ -0,0 +1,84 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class UUIDNameReplyMessage implements MessageBase +{ + name = 'UUIDNameReply'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.UUIDNameReply; + + UUIDNameBlock: { + ID: UUID; + FirstName: string; + LastName: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.UUIDNameBlock, 'FirstName', 1) + this.calculateVarVarSize(this.UUIDNameBlock, 'LastName', 1) + 16) * this.UUIDNameBlock.length) + 1; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.UUIDNameBlock.length; + buf.writeUInt8(this.UUIDNameBlock.length, pos++); + for (let i = 0; i < count; i++) + { + this.UUIDNameBlock[i]['ID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.UUIDNameBlock[i]['FirstName'].length, pos++); + buf.write(this.UUIDNameBlock[i]['FirstName'], pos); + pos += this.UUIDNameBlock[i]['FirstName'].length; + buf.writeUInt8(this.UUIDNameBlock[i]['LastName'].length, pos++); + buf.write(this.UUIDNameBlock[i]['LastName'], pos); + pos += this.UUIDNameBlock[i]['LastName'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.UUIDNameBlock = []; + for (let i = 0; i < count; i++) + { + const newObjUUIDNameBlock: { + ID: UUID, + FirstName: string, + LastName: string + } = { + ID: UUID.zero(), + FirstName: '', + LastName: '' + }; + newObjUUIDNameBlock['ID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjUUIDNameBlock['FirstName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjUUIDNameBlock['LastName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.UUIDNameBlock.push(newObjUUIDNameBlock); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/UUIDNameRequest.ts b/lib/classes/messages/UUIDNameRequest.ts new file mode 100644 index 0000000..1a09a77 --- /dev/null +++ b/lib/classes/messages/UUIDNameRequest.ts @@ -0,0 +1,56 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class UUIDNameRequestMessage implements MessageBase +{ + name = 'UUIDNameRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.UUIDNameRequest; + + UUIDNameBlock: { + ID: UUID; + }[]; + + getSize(): number + { + return ((16) * this.UUIDNameBlock.length) + 1; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + const count = this.UUIDNameBlock.length; + buf.writeUInt8(this.UUIDNameBlock.length, pos++); + for (let i = 0; i < count; i++) + { + this.UUIDNameBlock[i]['ID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const count = buf.readUInt8(pos++); + this.UUIDNameBlock = []; + for (let i = 0; i < count; i++) + { + const newObjUUIDNameBlock: { + ID: UUID + } = { + ID: UUID.zero() + }; + newObjUUIDNameBlock['ID'] = new UUID(buf, pos); + pos += 16; + this.UUIDNameBlock.push(newObjUUIDNameBlock); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/Undo.ts b/lib/classes/messages/Undo.ts new file mode 100644 index 0000000..3cc7562 --- /dev/null +++ b/lib/classes/messages/Undo.ts @@ -0,0 +1,83 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class UndoMessage implements MessageBase +{ + name = 'Undo'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.Undo; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + GroupID: UUID; + }; + ObjectData: { + ObjectID: UUID; + }[]; + + getSize(): number + { + return ((16) * this.ObjectData.length) + 49; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.ObjectData.length; + buf.writeUInt8(this.ObjectData.length, pos++); + for (let i = 0; i < count; i++) + { + this.ObjectData[i]['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + GroupID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + GroupID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['GroupID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.ObjectData = []; + for (let i = 0; i < count; i++) + { + const newObjObjectData: { + ObjectID: UUID + } = { + ObjectID: UUID.zero() + }; + newObjObjectData['ObjectID'] = new UUID(buf, pos); + pos += 16; + this.ObjectData.push(newObjObjectData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/UndoLand.ts b/lib/classes/messages/UndoLand.ts new file mode 100644 index 0000000..a04bd0e --- /dev/null +++ b/lib/classes/messages/UndoLand.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class UndoLandMessage implements MessageBase +{ + name = 'UndoLand'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.UndoLand; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + + getSize(): number + { + return 32; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/UnsubscribeLoad.ts b/lib/classes/messages/UnsubscribeLoad.ts new file mode 100644 index 0000000..c663de0 --- /dev/null +++ b/lib/classes/messages/UnsubscribeLoad.ts @@ -0,0 +1,29 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class UnsubscribeLoadMessage implements MessageBase +{ + name = 'UnsubscribeLoad'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.UnsubscribeLoad; + + + getSize(): number + { + return 0; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + return 0; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + return 0; + } +} + diff --git a/lib/classes/messages/UpdateAttachment.ts b/lib/classes/messages/UpdateAttachment.ts new file mode 100644 index 0000000..7e5d098 --- /dev/null +++ b/lib/classes/messages/UpdateAttachment.ts @@ -0,0 +1,229 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class UpdateAttachmentMessage implements MessageBase +{ + name = 'UpdateAttachment'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.UpdateAttachment; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + AttachmentBlock: { + AttachmentPoint: number; + }; + OperationData: { + AddItem: boolean; + UseExistingAsset: boolean; + }; + InventoryData: { + ItemID: UUID; + FolderID: UUID; + CreatorID: UUID; + OwnerID: UUID; + GroupID: UUID; + BaseMask: number; + OwnerMask: number; + GroupMask: number; + EveryoneMask: number; + NextOwnerMask: number; + GroupOwned: boolean; + AssetID: UUID; + Type: number; + InvType: number; + Flags: number; + SaleType: number; + SalePrice: number; + Name: string; + Description: string; + CreationDate: number; + CRC: number; + }; + + getSize(): number + { + return (this.InventoryData['Name'].length + 1 + this.InventoryData['Description'].length + 1) + 171; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.AttachmentBlock['AttachmentPoint'], pos++); + buf.writeUInt8((this.OperationData['AddItem']) ? 1 : 0, pos++); + buf.writeUInt8((this.OperationData['UseExistingAsset']) ? 1 : 0, pos++); + this.InventoryData['ItemID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData['FolderID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData['CreatorID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.InventoryData['BaseMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData['OwnerMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData['GroupMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData['EveryoneMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData['NextOwnerMask'], pos); + pos += 4; + buf.writeUInt8((this.InventoryData['GroupOwned']) ? 1 : 0, pos++); + this.InventoryData['AssetID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt8(this.InventoryData['Type'], pos++); + buf.writeInt8(this.InventoryData['InvType'], pos++); + buf.writeUInt32LE(this.InventoryData['Flags'], pos); + pos += 4; + buf.writeUInt8(this.InventoryData['SaleType'], pos++); + buf.writeInt32LE(this.InventoryData['SalePrice'], pos); + pos += 4; + buf.writeUInt8(this.InventoryData['Name'].length, pos++); + buf.write(this.InventoryData['Name'], pos); + pos += this.InventoryData['Name'].length; + buf.writeUInt8(this.InventoryData['Description'].length, pos++); + buf.write(this.InventoryData['Description'], pos); + pos += this.InventoryData['Description'].length; + buf.writeInt32LE(this.InventoryData['CreationDate'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData['CRC'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjAttachmentBlock: { + AttachmentPoint: number + } = { + AttachmentPoint: 0 + }; + newObjAttachmentBlock['AttachmentPoint'] = buf.readUInt8(pos++); + this.AttachmentBlock = newObjAttachmentBlock; + const newObjOperationData: { + AddItem: boolean, + UseExistingAsset: boolean + } = { + AddItem: false, + UseExistingAsset: false + }; + newObjOperationData['AddItem'] = (buf.readUInt8(pos++) === 1); + newObjOperationData['UseExistingAsset'] = (buf.readUInt8(pos++) === 1); + this.OperationData = newObjOperationData; + const newObjInventoryData: { + ItemID: UUID, + FolderID: UUID, + CreatorID: UUID, + OwnerID: UUID, + GroupID: UUID, + BaseMask: number, + OwnerMask: number, + GroupMask: number, + EveryoneMask: number, + NextOwnerMask: number, + GroupOwned: boolean, + AssetID: UUID, + Type: number, + InvType: number, + Flags: number, + SaleType: number, + SalePrice: number, + Name: string, + Description: string, + CreationDate: number, + CRC: number + } = { + ItemID: UUID.zero(), + FolderID: UUID.zero(), + CreatorID: UUID.zero(), + OwnerID: UUID.zero(), + GroupID: UUID.zero(), + BaseMask: 0, + OwnerMask: 0, + GroupMask: 0, + EveryoneMask: 0, + NextOwnerMask: 0, + GroupOwned: false, + AssetID: UUID.zero(), + Type: 0, + InvType: 0, + Flags: 0, + SaleType: 0, + SalePrice: 0, + Name: '', + Description: '', + CreationDate: 0, + CRC: 0 + }; + newObjInventoryData['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['FolderID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['CreatorID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['BaseMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['OwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['GroupMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['EveryoneMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['NextOwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['GroupOwned'] = (buf.readUInt8(pos++) === 1); + newObjInventoryData['AssetID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['Type'] = buf.readInt8(pos++); + newObjInventoryData['InvType'] = buf.readInt8(pos++); + newObjInventoryData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['SaleType'] = buf.readUInt8(pos++); + newObjInventoryData['SalePrice'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjInventoryData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjInventoryData['Description'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjInventoryData['CreationDate'] = buf.readInt32LE(pos); + pos += 4; + newObjInventoryData['CRC'] = buf.readUInt32LE(pos); + pos += 4; + this.InventoryData = newObjInventoryData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/UpdateCreateInventoryItem.ts b/lib/classes/messages/UpdateCreateInventoryItem.ts new file mode 100644 index 0000000..b643bdd --- /dev/null +++ b/lib/classes/messages/UpdateCreateInventoryItem.ts @@ -0,0 +1,234 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class UpdateCreateInventoryItemMessage implements MessageBase +{ + name = 'UpdateCreateInventoryItem'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.UpdateCreateInventoryItem; + + AgentData: { + AgentID: UUID; + SimApproved: boolean; + TransactionID: UUID; + }; + InventoryData: { + ItemID: UUID; + FolderID: UUID; + CallbackID: number; + CreatorID: UUID; + OwnerID: UUID; + GroupID: UUID; + BaseMask: number; + OwnerMask: number; + GroupMask: number; + EveryoneMask: number; + NextOwnerMask: number; + GroupOwned: boolean; + AssetID: UUID; + Type: number; + InvType: number; + Flags: number; + SaleType: number; + SalePrice: number; + Name: string; + Description: string; + CreationDate: number; + CRC: number; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.InventoryData, 'Name', 1) + this.calculateVarVarSize(this.InventoryData, 'Description', 1) + 140) * this.InventoryData.length) + 34; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.AgentData['SimApproved']) ? 1 : 0, pos++); + this.AgentData['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.InventoryData.length; + buf.writeUInt8(this.InventoryData.length, pos++); + for (let i = 0; i < count; i++) + { + this.InventoryData[i]['ItemID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData[i]['FolderID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.InventoryData[i]['CallbackID'], pos); + pos += 4; + this.InventoryData[i]['CreatorID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData[i]['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData[i]['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.InventoryData[i]['BaseMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData[i]['OwnerMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData[i]['GroupMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData[i]['EveryoneMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData[i]['NextOwnerMask'], pos); + pos += 4; + buf.writeUInt8((this.InventoryData[i]['GroupOwned']) ? 1 : 0, pos++); + this.InventoryData[i]['AssetID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt8(this.InventoryData[i]['Type'], pos++); + buf.writeInt8(this.InventoryData[i]['InvType'], pos++); + buf.writeUInt32LE(this.InventoryData[i]['Flags'], pos); + pos += 4; + buf.writeUInt8(this.InventoryData[i]['SaleType'], pos++); + buf.writeInt32LE(this.InventoryData[i]['SalePrice'], pos); + pos += 4; + buf.writeUInt8(this.InventoryData[i]['Name'].length, pos++); + buf.write(this.InventoryData[i]['Name'], pos); + pos += this.InventoryData[i]['Name'].length; + buf.writeUInt8(this.InventoryData[i]['Description'].length, pos++); + buf.write(this.InventoryData[i]['Description'], pos); + pos += this.InventoryData[i]['Description'].length; + buf.writeInt32LE(this.InventoryData[i]['CreationDate'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData[i]['CRC'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SimApproved: boolean, + TransactionID: UUID + } = { + AgentID: UUID.zero(), + SimApproved: false, + TransactionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SimApproved'] = (buf.readUInt8(pos++) === 1); + newObjAgentData['TransactionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.InventoryData = []; + for (let i = 0; i < count; i++) + { + const newObjInventoryData: { + ItemID: UUID, + FolderID: UUID, + CallbackID: number, + CreatorID: UUID, + OwnerID: UUID, + GroupID: UUID, + BaseMask: number, + OwnerMask: number, + GroupMask: number, + EveryoneMask: number, + NextOwnerMask: number, + GroupOwned: boolean, + AssetID: UUID, + Type: number, + InvType: number, + Flags: number, + SaleType: number, + SalePrice: number, + Name: string, + Description: string, + CreationDate: number, + CRC: number + } = { + ItemID: UUID.zero(), + FolderID: UUID.zero(), + CallbackID: 0, + CreatorID: UUID.zero(), + OwnerID: UUID.zero(), + GroupID: UUID.zero(), + BaseMask: 0, + OwnerMask: 0, + GroupMask: 0, + EveryoneMask: 0, + NextOwnerMask: 0, + GroupOwned: false, + AssetID: UUID.zero(), + Type: 0, + InvType: 0, + Flags: 0, + SaleType: 0, + SalePrice: 0, + Name: '', + Description: '', + CreationDate: 0, + CRC: 0 + }; + newObjInventoryData['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['FolderID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['CallbackID'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['CreatorID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['BaseMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['OwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['GroupMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['EveryoneMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['NextOwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['GroupOwned'] = (buf.readUInt8(pos++) === 1); + newObjInventoryData['AssetID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['Type'] = buf.readInt8(pos++); + newObjInventoryData['InvType'] = buf.readInt8(pos++); + newObjInventoryData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['SaleType'] = buf.readUInt8(pos++); + newObjInventoryData['SalePrice'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjInventoryData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjInventoryData['Description'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjInventoryData['CreationDate'] = buf.readInt32LE(pos); + pos += 4; + newObjInventoryData['CRC'] = buf.readUInt32LE(pos); + pos += 4; + this.InventoryData.push(newObjInventoryData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/UpdateGroupInfo.ts b/lib/classes/messages/UpdateGroupInfo.ts new file mode 100644 index 0000000..b375de2 --- /dev/null +++ b/lib/classes/messages/UpdateGroupInfo.ts @@ -0,0 +1,111 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class UpdateGroupInfoMessage implements MessageBase +{ + name = 'UpdateGroupInfo'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.UpdateGroupInfo; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + GroupData: { + GroupID: UUID; + Charter: string; + ShowInList: boolean; + InsigniaID: UUID; + MembershipFee: number; + OpenEnrollment: boolean; + AllowPublish: boolean; + MaturePublish: boolean; + }; + + getSize(): number + { + return (this.GroupData['Charter'].length + 2) + 72; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.GroupData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt16LE(this.GroupData['Charter'].length, pos); + pos += 2; + buf.write(this.GroupData['Charter'], pos); + pos += this.GroupData['Charter'].length; + buf.writeUInt8((this.GroupData['ShowInList']) ? 1 : 0, pos++); + this.GroupData['InsigniaID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.GroupData['MembershipFee'], pos); + pos += 4; + buf.writeUInt8((this.GroupData['OpenEnrollment']) ? 1 : 0, pos++); + buf.writeUInt8((this.GroupData['AllowPublish']) ? 1 : 0, pos++); + buf.writeUInt8((this.GroupData['MaturePublish']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjGroupData: { + GroupID: UUID, + Charter: string, + ShowInList: boolean, + InsigniaID: UUID, + MembershipFee: number, + OpenEnrollment: boolean, + AllowPublish: boolean, + MaturePublish: boolean + } = { + GroupID: UUID.zero(), + Charter: '', + ShowInList: false, + InsigniaID: UUID.zero(), + MembershipFee: 0, + OpenEnrollment: false, + AllowPublish: false, + MaturePublish: false + }; + newObjGroupData['GroupID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjGroupData['Charter'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjGroupData['ShowInList'] = (buf.readUInt8(pos++) === 1); + newObjGroupData['InsigniaID'] = new UUID(buf, pos); + pos += 16; + newObjGroupData['MembershipFee'] = buf.readInt32LE(pos); + pos += 4; + newObjGroupData['OpenEnrollment'] = (buf.readUInt8(pos++) === 1); + newObjGroupData['AllowPublish'] = (buf.readUInt8(pos++) === 1); + newObjGroupData['MaturePublish'] = (buf.readUInt8(pos++) === 1); + this.GroupData = newObjGroupData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/UpdateInventoryFolder.ts b/lib/classes/messages/UpdateInventoryFolder.ts new file mode 100644 index 0000000..1ce1ccb --- /dev/null +++ b/lib/classes/messages/UpdateInventoryFolder.ts @@ -0,0 +1,107 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class UpdateInventoryFolderMessage implements MessageBase +{ + name = 'UpdateInventoryFolder'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.UpdateInventoryFolder; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + FolderData: { + FolderID: UUID; + ParentID: UUID; + Type: number; + Name: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.FolderData, 'Name', 1) + 33) * this.FolderData.length) + 33; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.FolderData.length; + buf.writeUInt8(this.FolderData.length, pos++); + for (let i = 0; i < count; i++) + { + this.FolderData[i]['FolderID'].writeToBuffer(buf, pos); + pos += 16; + this.FolderData[i]['ParentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt8(this.FolderData[i]['Type'], pos++); + buf.writeUInt8(this.FolderData[i]['Name'].length, pos++); + buf.write(this.FolderData[i]['Name'], pos); + pos += this.FolderData[i]['Name'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.FolderData = []; + for (let i = 0; i < count; i++) + { + const newObjFolderData: { + FolderID: UUID, + ParentID: UUID, + Type: number, + Name: string + } = { + FolderID: UUID.zero(), + ParentID: UUID.zero(), + Type: 0, + Name: '' + }; + newObjFolderData['FolderID'] = new UUID(buf, pos); + pos += 16; + newObjFolderData['ParentID'] = new UUID(buf, pos); + pos += 16; + newObjFolderData['Type'] = buf.readInt8(pos++); + varLength = buf.readUInt8(pos++); + newObjFolderData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.FolderData.push(newObjFolderData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/UpdateInventoryItem.ts b/lib/classes/messages/UpdateInventoryItem.ts new file mode 100644 index 0000000..13fd8ea --- /dev/null +++ b/lib/classes/messages/UpdateInventoryItem.ts @@ -0,0 +1,236 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class UpdateInventoryItemMessage implements MessageBase +{ + name = 'UpdateInventoryItem'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.UpdateInventoryItem; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + TransactionID: UUID; + }; + InventoryData: { + ItemID: UUID; + FolderID: UUID; + CallbackID: number; + CreatorID: UUID; + OwnerID: UUID; + GroupID: UUID; + BaseMask: number; + OwnerMask: number; + GroupMask: number; + EveryoneMask: number; + NextOwnerMask: number; + GroupOwned: boolean; + TransactionID: UUID; + Type: number; + InvType: number; + Flags: number; + SaleType: number; + SalePrice: number; + Name: string; + Description: string; + CreationDate: number; + CRC: number; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.InventoryData, 'Name', 1) + this.calculateVarVarSize(this.InventoryData, 'Description', 1) + 140) * this.InventoryData.length) + 49; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.InventoryData.length; + buf.writeUInt8(this.InventoryData.length, pos++); + for (let i = 0; i < count; i++) + { + this.InventoryData[i]['ItemID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData[i]['FolderID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.InventoryData[i]['CallbackID'], pos); + pos += 4; + this.InventoryData[i]['CreatorID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData[i]['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData[i]['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.InventoryData[i]['BaseMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData[i]['OwnerMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData[i]['GroupMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData[i]['EveryoneMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData[i]['NextOwnerMask'], pos); + pos += 4; + buf.writeUInt8((this.InventoryData[i]['GroupOwned']) ? 1 : 0, pos++); + this.InventoryData[i]['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt8(this.InventoryData[i]['Type'], pos++); + buf.writeInt8(this.InventoryData[i]['InvType'], pos++); + buf.writeUInt32LE(this.InventoryData[i]['Flags'], pos); + pos += 4; + buf.writeUInt8(this.InventoryData[i]['SaleType'], pos++); + buf.writeInt32LE(this.InventoryData[i]['SalePrice'], pos); + pos += 4; + buf.writeUInt8(this.InventoryData[i]['Name'].length, pos++); + buf.write(this.InventoryData[i]['Name'], pos); + pos += this.InventoryData[i]['Name'].length; + buf.writeUInt8(this.InventoryData[i]['Description'].length, pos++); + buf.write(this.InventoryData[i]['Description'], pos); + pos += this.InventoryData[i]['Description'].length; + buf.writeInt32LE(this.InventoryData[i]['CreationDate'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData[i]['CRC'], pos); + pos += 4; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + TransactionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + TransactionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['TransactionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.InventoryData = []; + for (let i = 0; i < count; i++) + { + const newObjInventoryData: { + ItemID: UUID, + FolderID: UUID, + CallbackID: number, + CreatorID: UUID, + OwnerID: UUID, + GroupID: UUID, + BaseMask: number, + OwnerMask: number, + GroupMask: number, + EveryoneMask: number, + NextOwnerMask: number, + GroupOwned: boolean, + TransactionID: UUID, + Type: number, + InvType: number, + Flags: number, + SaleType: number, + SalePrice: number, + Name: string, + Description: string, + CreationDate: number, + CRC: number + } = { + ItemID: UUID.zero(), + FolderID: UUID.zero(), + CallbackID: 0, + CreatorID: UUID.zero(), + OwnerID: UUID.zero(), + GroupID: UUID.zero(), + BaseMask: 0, + OwnerMask: 0, + GroupMask: 0, + EveryoneMask: 0, + NextOwnerMask: 0, + GroupOwned: false, + TransactionID: UUID.zero(), + Type: 0, + InvType: 0, + Flags: 0, + SaleType: 0, + SalePrice: 0, + Name: '', + Description: '', + CreationDate: 0, + CRC: 0 + }; + newObjInventoryData['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['FolderID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['CallbackID'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['CreatorID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['BaseMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['OwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['GroupMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['EveryoneMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['NextOwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['GroupOwned'] = (buf.readUInt8(pos++) === 1); + newObjInventoryData['TransactionID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['Type'] = buf.readInt8(pos++); + newObjInventoryData['InvType'] = buf.readInt8(pos++); + newObjInventoryData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['SaleType'] = buf.readUInt8(pos++); + newObjInventoryData['SalePrice'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjInventoryData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjInventoryData['Description'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjInventoryData['CreationDate'] = buf.readInt32LE(pos); + pos += 4; + newObjInventoryData['CRC'] = buf.readUInt32LE(pos); + pos += 4; + this.InventoryData.push(newObjInventoryData); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/UpdateMuteListEntry.ts b/lib/classes/messages/UpdateMuteListEntry.ts new file mode 100644 index 0000000..c1f16f0 --- /dev/null +++ b/lib/classes/messages/UpdateMuteListEntry.ts @@ -0,0 +1,89 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class UpdateMuteListEntryMessage implements MessageBase +{ + name = 'UpdateMuteListEntry'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.UpdateMuteListEntry; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + MuteData: { + MuteID: UUID; + MuteName: string; + MuteType: number; + MuteFlags: number; + }; + + getSize(): number + { + return (this.MuteData['MuteName'].length + 1) + 56; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.MuteData['MuteID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.MuteData['MuteName'].length, pos++); + buf.write(this.MuteData['MuteName'], pos); + pos += this.MuteData['MuteName'].length; + buf.writeInt32LE(this.MuteData['MuteType'], pos); + pos += 4; + buf.writeUInt32LE(this.MuteData['MuteFlags'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjMuteData: { + MuteID: UUID, + MuteName: string, + MuteType: number, + MuteFlags: number + } = { + MuteID: UUID.zero(), + MuteName: '', + MuteType: 0, + MuteFlags: 0 + }; + newObjMuteData['MuteID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjMuteData['MuteName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjMuteData['MuteType'] = buf.readInt32LE(pos); + pos += 4; + newObjMuteData['MuteFlags'] = buf.readUInt32LE(pos); + pos += 4; + this.MuteData = newObjMuteData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/UpdateParcel.ts b/lib/classes/messages/UpdateParcel.ts new file mode 100644 index 0000000..2e173bc --- /dev/null +++ b/lib/classes/messages/UpdateParcel.ts @@ -0,0 +1,182 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import Long = require('long'); +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class UpdateParcelMessage implements MessageBase +{ + name = 'UpdateParcel'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.UpdateParcel; + + ParcelData: { + ParcelID: UUID; + RegionHandle: Long; + OwnerID: UUID; + GroupOwned: boolean; + Status: number; + Name: string; + Description: string; + MusicURL: string; + RegionX: number; + RegionY: number; + ActualArea: number; + BillableArea: number; + ShowDir: boolean; + IsForSale: boolean; + Category: number; + SnapshotID: UUID; + UserLocation: Vector3; + SalePrice: number; + AuthorizedBuyerID: UUID; + AllowPublish: boolean; + MaturePublish: boolean; + }; + + getSize(): number + { + return (this.ParcelData['Name'].length + 1 + this.ParcelData['Description'].length + 1 + this.ParcelData['MusicURL'].length + 1) + 111; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.ParcelData['ParcelID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.ParcelData['RegionHandle'].low, pos); + pos += 4; + buf.writeInt32LE(this.ParcelData['RegionHandle'].high, pos); + pos += 4; + this.ParcelData['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.ParcelData['GroupOwned']) ? 1 : 0, pos++); + buf.writeUInt8(this.ParcelData['Status'], pos++); + buf.writeUInt8(this.ParcelData['Name'].length, pos++); + buf.write(this.ParcelData['Name'], pos); + pos += this.ParcelData['Name'].length; + buf.writeUInt8(this.ParcelData['Description'].length, pos++); + buf.write(this.ParcelData['Description'], pos); + pos += this.ParcelData['Description'].length; + buf.writeUInt8(this.ParcelData['MusicURL'].length, pos++); + buf.write(this.ParcelData['MusicURL'], pos); + pos += this.ParcelData['MusicURL'].length; + buf.writeFloatLE(this.ParcelData['RegionX'], pos); + pos += 4; + buf.writeFloatLE(this.ParcelData['RegionY'], pos); + pos += 4; + buf.writeInt32LE(this.ParcelData['ActualArea'], pos); + pos += 4; + buf.writeInt32LE(this.ParcelData['BillableArea'], pos); + pos += 4; + buf.writeUInt8((this.ParcelData['ShowDir']) ? 1 : 0, pos++); + buf.writeUInt8((this.ParcelData['IsForSale']) ? 1 : 0, pos++); + buf.writeUInt8(this.ParcelData['Category'], pos++); + this.ParcelData['SnapshotID'].writeToBuffer(buf, pos); + pos += 16; + this.ParcelData['UserLocation'].writeToBuffer(buf, pos, false); + pos += 12; + buf.writeInt32LE(this.ParcelData['SalePrice'], pos); + pos += 4; + this.ParcelData['AuthorizedBuyerID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.ParcelData['AllowPublish']) ? 1 : 0, pos++); + buf.writeUInt8((this.ParcelData['MaturePublish']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjParcelData: { + ParcelID: UUID, + RegionHandle: Long, + OwnerID: UUID, + GroupOwned: boolean, + Status: number, + Name: string, + Description: string, + MusicURL: string, + RegionX: number, + RegionY: number, + ActualArea: number, + BillableArea: number, + ShowDir: boolean, + IsForSale: boolean, + Category: number, + SnapshotID: UUID, + UserLocation: Vector3, + SalePrice: number, + AuthorizedBuyerID: UUID, + AllowPublish: boolean, + MaturePublish: boolean + } = { + ParcelID: UUID.zero(), + RegionHandle: Long.ZERO, + OwnerID: UUID.zero(), + GroupOwned: false, + Status: 0, + Name: '', + Description: '', + MusicURL: '', + RegionX: 0, + RegionY: 0, + ActualArea: 0, + BillableArea: 0, + ShowDir: false, + IsForSale: false, + Category: 0, + SnapshotID: UUID.zero(), + UserLocation: Vector3.getZero(), + SalePrice: 0, + AuthorizedBuyerID: UUID.zero(), + AllowPublish: false, + MaturePublish: false + }; + newObjParcelData['ParcelID'] = new UUID(buf, pos); + pos += 16; + newObjParcelData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + pos += 8; + newObjParcelData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjParcelData['GroupOwned'] = (buf.readUInt8(pos++) === 1); + newObjParcelData['Status'] = buf.readUInt8(pos++); + varLength = buf.readUInt8(pos++); + newObjParcelData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjParcelData['Description'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjParcelData['MusicURL'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjParcelData['RegionX'] = buf.readFloatLE(pos); + pos += 4; + newObjParcelData['RegionY'] = buf.readFloatLE(pos); + pos += 4; + newObjParcelData['ActualArea'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['BillableArea'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['ShowDir'] = (buf.readUInt8(pos++) === 1); + newObjParcelData['IsForSale'] = (buf.readUInt8(pos++) === 1); + newObjParcelData['Category'] = buf.readUInt8(pos++); + newObjParcelData['SnapshotID'] = new UUID(buf, pos); + pos += 16; + newObjParcelData['UserLocation'] = new Vector3(buf, pos, false); + pos += 12; + newObjParcelData['SalePrice'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['AuthorizedBuyerID'] = new UUID(buf, pos); + pos += 16; + newObjParcelData['AllowPublish'] = (buf.readUInt8(pos++) === 1); + newObjParcelData['MaturePublish'] = (buf.readUInt8(pos++) === 1); + this.ParcelData = newObjParcelData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/UpdateSimulator.ts b/lib/classes/messages/UpdateSimulator.ts new file mode 100644 index 0000000..7873502 --- /dev/null +++ b/lib/classes/messages/UpdateSimulator.ts @@ -0,0 +1,67 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class UpdateSimulatorMessage implements MessageBase +{ + name = 'UpdateSimulator'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.UpdateSimulator; + + SimulatorInfo: { + RegionID: UUID; + SimName: string; + EstateID: number; + SimAccess: number; + }; + + getSize(): number + { + return (this.SimulatorInfo['SimName'].length + 1) + 21; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.SimulatorInfo['RegionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.SimulatorInfo['SimName'].length, pos++); + buf.write(this.SimulatorInfo['SimName'], pos); + pos += this.SimulatorInfo['SimName'].length; + buf.writeUInt32LE(this.SimulatorInfo['EstateID'], pos); + pos += 4; + buf.writeUInt8(this.SimulatorInfo['SimAccess'], pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjSimulatorInfo: { + RegionID: UUID, + SimName: string, + EstateID: number, + SimAccess: number + } = { + RegionID: UUID.zero(), + SimName: '', + EstateID: 0, + SimAccess: 0 + }; + newObjSimulatorInfo['RegionID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjSimulatorInfo['SimName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjSimulatorInfo['EstateID'] = buf.readUInt32LE(pos); + pos += 4; + newObjSimulatorInfo['SimAccess'] = buf.readUInt8(pos++); + this.SimulatorInfo = newObjSimulatorInfo; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/UpdateTaskInventory.ts b/lib/classes/messages/UpdateTaskInventory.ts new file mode 100644 index 0000000..ab797f7 --- /dev/null +++ b/lib/classes/messages/UpdateTaskInventory.ts @@ -0,0 +1,220 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class UpdateTaskInventoryMessage implements MessageBase +{ + name = 'UpdateTaskInventory'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.UpdateTaskInventory; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + UpdateData: { + LocalID: number; + Key: number; + }; + InventoryData: { + ItemID: UUID; + FolderID: UUID; + CreatorID: UUID; + OwnerID: UUID; + GroupID: UUID; + BaseMask: number; + OwnerMask: number; + GroupMask: number; + EveryoneMask: number; + NextOwnerMask: number; + GroupOwned: boolean; + TransactionID: UUID; + Type: number; + InvType: number; + Flags: number; + SaleType: number; + SalePrice: number; + Name: string; + Description: string; + CreationDate: number; + CRC: number; + }; + + getSize(): number + { + return (this.InventoryData['Name'].length + 1 + this.InventoryData['Description'].length + 1) + 173; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.UpdateData['LocalID'], pos); + pos += 4; + buf.writeUInt8(this.UpdateData['Key'], pos++); + this.InventoryData['ItemID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData['FolderID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData['CreatorID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + this.InventoryData['GroupID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt32LE(this.InventoryData['BaseMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData['OwnerMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData['GroupMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData['EveryoneMask'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData['NextOwnerMask'], pos); + pos += 4; + buf.writeUInt8((this.InventoryData['GroupOwned']) ? 1 : 0, pos++); + this.InventoryData['TransactionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt8(this.InventoryData['Type'], pos++); + buf.writeInt8(this.InventoryData['InvType'], pos++); + buf.writeUInt32LE(this.InventoryData['Flags'], pos); + pos += 4; + buf.writeUInt8(this.InventoryData['SaleType'], pos++); + buf.writeInt32LE(this.InventoryData['SalePrice'], pos); + pos += 4; + buf.writeUInt8(this.InventoryData['Name'].length, pos++); + buf.write(this.InventoryData['Name'], pos); + pos += this.InventoryData['Name'].length; + buf.writeUInt8(this.InventoryData['Description'].length, pos++); + buf.write(this.InventoryData['Description'], pos); + pos += this.InventoryData['Description'].length; + buf.writeInt32LE(this.InventoryData['CreationDate'], pos); + pos += 4; + buf.writeUInt32LE(this.InventoryData['CRC'], pos); + pos += 4; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjUpdateData: { + LocalID: number, + Key: number + } = { + LocalID: 0, + Key: 0 + }; + newObjUpdateData['LocalID'] = buf.readUInt32LE(pos); + pos += 4; + newObjUpdateData['Key'] = buf.readUInt8(pos++); + this.UpdateData = newObjUpdateData; + const newObjInventoryData: { + ItemID: UUID, + FolderID: UUID, + CreatorID: UUID, + OwnerID: UUID, + GroupID: UUID, + BaseMask: number, + OwnerMask: number, + GroupMask: number, + EveryoneMask: number, + NextOwnerMask: number, + GroupOwned: boolean, + TransactionID: UUID, + Type: number, + InvType: number, + Flags: number, + SaleType: number, + SalePrice: number, + Name: string, + Description: string, + CreationDate: number, + CRC: number + } = { + ItemID: UUID.zero(), + FolderID: UUID.zero(), + CreatorID: UUID.zero(), + OwnerID: UUID.zero(), + GroupID: UUID.zero(), + BaseMask: 0, + OwnerMask: 0, + GroupMask: 0, + EveryoneMask: 0, + NextOwnerMask: 0, + GroupOwned: false, + TransactionID: UUID.zero(), + Type: 0, + InvType: 0, + Flags: 0, + SaleType: 0, + SalePrice: 0, + Name: '', + Description: '', + CreationDate: 0, + CRC: 0 + }; + newObjInventoryData['ItemID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['FolderID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['CreatorID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['GroupID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['BaseMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['OwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['GroupMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['EveryoneMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['NextOwnerMask'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['GroupOwned'] = (buf.readUInt8(pos++) === 1); + newObjInventoryData['TransactionID'] = new UUID(buf, pos); + pos += 16; + newObjInventoryData['Type'] = buf.readInt8(pos++); + newObjInventoryData['InvType'] = buf.readInt8(pos++); + newObjInventoryData['Flags'] = buf.readUInt32LE(pos); + pos += 4; + newObjInventoryData['SaleType'] = buf.readUInt8(pos++); + newObjInventoryData['SalePrice'] = buf.readInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjInventoryData['Name'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjInventoryData['Description'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjInventoryData['CreationDate'] = buf.readInt32LE(pos); + pos += 4; + newObjInventoryData['CRC'] = buf.readUInt32LE(pos); + pos += 4; + this.InventoryData = newObjInventoryData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/UpdateUserInfo.ts b/lib/classes/messages/UpdateUserInfo.ts new file mode 100644 index 0000000..018eea2 --- /dev/null +++ b/lib/classes/messages/UpdateUserInfo.ts @@ -0,0 +1,73 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class UpdateUserInfoMessage implements MessageBase +{ + name = 'UpdateUserInfo'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.UpdateUserInfo; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + UserData: { + IMViaEMail: boolean; + DirectoryVisibility: string; + }; + + getSize(): number + { + return (this.UserData['DirectoryVisibility'].length + 1) + 33; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.UserData['IMViaEMail']) ? 1 : 0, pos++); + buf.writeUInt8(this.UserData['DirectoryVisibility'].length, pos++); + buf.write(this.UserData['DirectoryVisibility'], pos); + pos += this.UserData['DirectoryVisibility'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjUserData: { + IMViaEMail: boolean, + DirectoryVisibility: string + } = { + IMViaEMail: false, + DirectoryVisibility: '' + }; + newObjUserData['IMViaEMail'] = (buf.readUInt8(pos++) === 1); + varLength = buf.readUInt8(pos++); + newObjUserData['DirectoryVisibility'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.UserData = newObjUserData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/UseCachedMuteList.ts b/lib/classes/messages/UseCachedMuteList.ts new file mode 100644 index 0000000..d1c00b7 --- /dev/null +++ b/lib/classes/messages/UseCachedMuteList.ts @@ -0,0 +1,46 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class UseCachedMuteListMessage implements MessageBase +{ + name = 'UseCachedMuteList'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.UseCachedMuteList; + + AgentData: { + AgentID: UUID; + }; + + getSize(): number + { + return 16; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/UseCircuitCode.ts b/lib/classes/messages/UseCircuitCode.ts new file mode 100644 index 0000000..6a53c82 --- /dev/null +++ b/lib/classes/messages/UseCircuitCode.ts @@ -0,0 +1,60 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class UseCircuitCodeMessage implements MessageBase +{ + name = 'UseCircuitCode'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.UseCircuitCode; + + CircuitCode: { + Code: number; + SessionID: UUID; + ID: UUID; + }; + + getSize(): number + { + return 36; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt32LE(this.CircuitCode['Code'], pos); + pos += 4; + this.CircuitCode['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.CircuitCode['ID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjCircuitCode: { + Code: number, + SessionID: UUID, + ID: UUID + } = { + Code: 0, + SessionID: UUID.zero(), + ID: UUID.zero() + }; + newObjCircuitCode['Code'] = buf.readUInt32LE(pos); + pos += 4; + newObjCircuitCode['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjCircuitCode['ID'] = new UUID(buf, pos); + pos += 16; + this.CircuitCode = newObjCircuitCode; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/UserInfoReply.ts b/lib/classes/messages/UserInfoReply.ts new file mode 100644 index 0000000..408bb0a --- /dev/null +++ b/lib/classes/messages/UserInfoReply.ts @@ -0,0 +1,77 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class UserInfoReplyMessage implements MessageBase +{ + name = 'UserInfoReply'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.UserInfoReply; + + AgentData: { + AgentID: UUID; + }; + UserData: { + IMViaEMail: boolean; + DirectoryVisibility: string; + EMail: string; + }; + + getSize(): number + { + return (this.UserData['DirectoryVisibility'].length + 1 + this.UserData['EMail'].length + 2) + 17; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8((this.UserData['IMViaEMail']) ? 1 : 0, pos++); + buf.writeUInt8(this.UserData['DirectoryVisibility'].length, pos++); + buf.write(this.UserData['DirectoryVisibility'], pos); + pos += this.UserData['DirectoryVisibility'].length; + buf.writeUInt16LE(this.UserData['EMail'].length, pos); + pos += 2; + buf.write(this.UserData['EMail'], pos); + pos += this.UserData['EMail'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID + } = { + AgentID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjUserData: { + IMViaEMail: boolean, + DirectoryVisibility: string, + EMail: string + } = { + IMViaEMail: false, + DirectoryVisibility: '', + EMail: '' + }; + newObjUserData['IMViaEMail'] = (buf.readUInt8(pos++) === 1); + varLength = buf.readUInt8(pos++); + newObjUserData['DirectoryVisibility'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjUserData['EMail'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.UserData = newObjUserData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/UserInfoRequest.ts b/lib/classes/messages/UserInfoRequest.ts new file mode 100644 index 0000000..8c0a3cf --- /dev/null +++ b/lib/classes/messages/UserInfoRequest.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class UserInfoRequestMessage implements MessageBase +{ + name = 'UserInfoRequest'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.UserInfoRequest; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + + getSize(): number + { + return 32; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/UserReport.ts b/lib/classes/messages/UserReport.ts new file mode 100644 index 0000000..249eb85 --- /dev/null +++ b/lib/classes/messages/UserReport.ts @@ -0,0 +1,148 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class UserReportMessage implements MessageBase +{ + name = 'UserReport'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.UserReport; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ReportData: { + ReportType: number; + Category: number; + Position: Vector3; + CheckFlags: number; + ScreenshotID: UUID; + ObjectID: UUID; + AbuserID: UUID; + AbuseRegionName: string; + AbuseRegionID: UUID; + Summary: string; + Details: string; + VersionString: string; + }; + + getSize(): number + { + return (this.ReportData['AbuseRegionName'].length + 1 + this.ReportData['Summary'].length + 1 + this.ReportData['Details'].length + 2 + this.ReportData['VersionString'].length + 1) + 111; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.ReportData['ReportType'], pos++); + buf.writeUInt8(this.ReportData['Category'], pos++); + this.ReportData['Position'].writeToBuffer(buf, pos, false); + pos += 12; + buf.writeUInt8(this.ReportData['CheckFlags'], pos++); + this.ReportData['ScreenshotID'].writeToBuffer(buf, pos); + pos += 16; + this.ReportData['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + this.ReportData['AbuserID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.ReportData['AbuseRegionName'].length, pos++); + buf.write(this.ReportData['AbuseRegionName'], pos); + pos += this.ReportData['AbuseRegionName'].length; + this.ReportData['AbuseRegionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.ReportData['Summary'].length, pos++); + buf.write(this.ReportData['Summary'], pos); + pos += this.ReportData['Summary'].length; + buf.writeUInt16LE(this.ReportData['Details'].length, pos); + pos += 2; + buf.write(this.ReportData['Details'], pos); + pos += this.ReportData['Details'].length; + buf.writeUInt8(this.ReportData['VersionString'].length, pos++); + buf.write(this.ReportData['VersionString'], pos); + pos += this.ReportData['VersionString'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjReportData: { + ReportType: number, + Category: number, + Position: Vector3, + CheckFlags: number, + ScreenshotID: UUID, + ObjectID: UUID, + AbuserID: UUID, + AbuseRegionName: string, + AbuseRegionID: UUID, + Summary: string, + Details: string, + VersionString: string + } = { + ReportType: 0, + Category: 0, + Position: Vector3.getZero(), + CheckFlags: 0, + ScreenshotID: UUID.zero(), + ObjectID: UUID.zero(), + AbuserID: UUID.zero(), + AbuseRegionName: '', + AbuseRegionID: UUID.zero(), + Summary: '', + Details: '', + VersionString: '' + }; + newObjReportData['ReportType'] = buf.readUInt8(pos++); + newObjReportData['Category'] = buf.readUInt8(pos++); + newObjReportData['Position'] = new Vector3(buf, pos, false); + pos += 12; + newObjReportData['CheckFlags'] = buf.readUInt8(pos++); + newObjReportData['ScreenshotID'] = new UUID(buf, pos); + pos += 16; + newObjReportData['ObjectID'] = new UUID(buf, pos); + pos += 16; + newObjReportData['AbuserID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjReportData['AbuseRegionName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjReportData['AbuseRegionID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjReportData['Summary'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjReportData['Details'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjReportData['VersionString'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ReportData = newObjReportData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/UserReportInternal.ts b/lib/classes/messages/UserReportInternal.ts new file mode 100644 index 0000000..e57b854 --- /dev/null +++ b/lib/classes/messages/UserReportInternal.ts @@ -0,0 +1,165 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {Vector3} from '../Vector3'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class UserReportInternalMessage implements MessageBase +{ + name = 'UserReportInternal'; + messageFlags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; + id = Message.UserReportInternal; + + ReportData: { + ReportType: number; + Category: number; + ReporterID: UUID; + ViewerPosition: Vector3; + AgentPosition: Vector3; + ScreenshotID: UUID; + ObjectID: UUID; + OwnerID: UUID; + LastOwnerID: UUID; + CreatorID: UUID; + RegionID: UUID; + AbuserID: UUID; + AbuseRegionName: string; + AbuseRegionID: UUID; + Summary: string; + Details: string; + VersionString: string; + }; + + getSize(): number + { + return (this.ReportData['AbuseRegionName'].length + 1 + this.ReportData['Summary'].length + 1 + this.ReportData['Details'].length + 2 + this.ReportData['VersionString'].length + 1) + 170; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt8(this.ReportData['ReportType'], pos++); + buf.writeUInt8(this.ReportData['Category'], pos++); + this.ReportData['ReporterID'].writeToBuffer(buf, pos); + pos += 16; + this.ReportData['ViewerPosition'].writeToBuffer(buf, pos, false); + pos += 12; + this.ReportData['AgentPosition'].writeToBuffer(buf, pos, false); + pos += 12; + this.ReportData['ScreenshotID'].writeToBuffer(buf, pos); + pos += 16; + this.ReportData['ObjectID'].writeToBuffer(buf, pos); + pos += 16; + this.ReportData['OwnerID'].writeToBuffer(buf, pos); + pos += 16; + this.ReportData['LastOwnerID'].writeToBuffer(buf, pos); + pos += 16; + this.ReportData['CreatorID'].writeToBuffer(buf, pos); + pos += 16; + this.ReportData['RegionID'].writeToBuffer(buf, pos); + pos += 16; + this.ReportData['AbuserID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.ReportData['AbuseRegionName'].length, pos++); + buf.write(this.ReportData['AbuseRegionName'], pos); + pos += this.ReportData['AbuseRegionName'].length; + this.ReportData['AbuseRegionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.ReportData['Summary'].length, pos++); + buf.write(this.ReportData['Summary'], pos); + pos += this.ReportData['Summary'].length; + buf.writeUInt16LE(this.ReportData['Details'].length, pos); + pos += 2; + buf.write(this.ReportData['Details'], pos); + pos += this.ReportData['Details'].length; + buf.writeUInt8(this.ReportData['VersionString'].length, pos++); + buf.write(this.ReportData['VersionString'], pos); + pos += this.ReportData['VersionString'].length; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjReportData: { + ReportType: number, + Category: number, + ReporterID: UUID, + ViewerPosition: Vector3, + AgentPosition: Vector3, + ScreenshotID: UUID, + ObjectID: UUID, + OwnerID: UUID, + LastOwnerID: UUID, + CreatorID: UUID, + RegionID: UUID, + AbuserID: UUID, + AbuseRegionName: string, + AbuseRegionID: UUID, + Summary: string, + Details: string, + VersionString: string + } = { + ReportType: 0, + Category: 0, + ReporterID: UUID.zero(), + ViewerPosition: Vector3.getZero(), + AgentPosition: Vector3.getZero(), + ScreenshotID: UUID.zero(), + ObjectID: UUID.zero(), + OwnerID: UUID.zero(), + LastOwnerID: UUID.zero(), + CreatorID: UUID.zero(), + RegionID: UUID.zero(), + AbuserID: UUID.zero(), + AbuseRegionName: '', + AbuseRegionID: UUID.zero(), + Summary: '', + Details: '', + VersionString: '' + }; + newObjReportData['ReportType'] = buf.readUInt8(pos++); + newObjReportData['Category'] = buf.readUInt8(pos++); + newObjReportData['ReporterID'] = new UUID(buf, pos); + pos += 16; + newObjReportData['ViewerPosition'] = new Vector3(buf, pos, false); + pos += 12; + newObjReportData['AgentPosition'] = new Vector3(buf, pos, false); + pos += 12; + newObjReportData['ScreenshotID'] = new UUID(buf, pos); + pos += 16; + newObjReportData['ObjectID'] = new UUID(buf, pos); + pos += 16; + newObjReportData['OwnerID'] = new UUID(buf, pos); + pos += 16; + newObjReportData['LastOwnerID'] = new UUID(buf, pos); + pos += 16; + newObjReportData['CreatorID'] = new UUID(buf, pos); + pos += 16; + newObjReportData['RegionID'] = new UUID(buf, pos); + pos += 16; + newObjReportData['AbuserID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjReportData['AbuseRegionName'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + newObjReportData['AbuseRegionID'] = new UUID(buf, pos); + pos += 16; + varLength = buf.readUInt8(pos++); + newObjReportData['Summary'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt16LE(pos); + pos += 2; + newObjReportData['Details'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjReportData['VersionString'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.ReportData = newObjReportData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/VelocityInterpolateOff.ts b/lib/classes/messages/VelocityInterpolateOff.ts new file mode 100644 index 0000000..2228d05 --- /dev/null +++ b/lib/classes/messages/VelocityInterpolateOff.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class VelocityInterpolateOffMessage implements MessageBase +{ + name = 'VelocityInterpolateOff'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.VelocityInterpolateOff; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + + getSize(): number + { + return 32; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/VelocityInterpolateOn.ts b/lib/classes/messages/VelocityInterpolateOn.ts new file mode 100644 index 0000000..e4d2ccb --- /dev/null +++ b/lib/classes/messages/VelocityInterpolateOn.ts @@ -0,0 +1,53 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class VelocityInterpolateOnMessage implements MessageBase +{ + name = 'VelocityInterpolateOn'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.VelocityInterpolateOn; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + + getSize(): number + { + return 32; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ViewerEffect.ts b/lib/classes/messages/ViewerEffect.ts new file mode 100644 index 0000000..2c4cf54 --- /dev/null +++ b/lib/classes/messages/ViewerEffect.ts @@ -0,0 +1,121 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ViewerEffectMessage implements MessageBase +{ + name = 'ViewerEffect'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.FrequencyMedium; + id = Message.ViewerEffect; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + Effect: { + ID: UUID; + AgentID: UUID; + Type: number; + Duration: number; + Color: Buffer; + TypeData: string; + }[]; + + getSize(): number + { + return ((this.calculateVarVarSize(this.Effect, 'TypeData', 1) + 41) * this.Effect.length) + 33; + } + + calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number + { + let size = 0; + block.forEach((bl: any) => + { + size += bl[paramName].length + extraPerVar; + }); + return size; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + const count = this.Effect.length; + buf.writeUInt8(this.Effect.length, pos++); + for (let i = 0; i < count; i++) + { + this.Effect[i]['ID'].writeToBuffer(buf, pos); + pos += 16; + this.Effect[i]['AgentID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeUInt8(this.Effect[i]['Type'], pos++); + buf.writeFloatLE(this.Effect[i]['Duration'], pos); + pos += 4; + this.Effect[i]['Color'].copy(buf, pos); + pos += 4; + buf.writeUInt8(this.Effect[i]['TypeData'].length, pos++); + buf.write(this.Effect[i]['TypeData'], pos); + pos += this.Effect[i]['TypeData'].length; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const count = buf.readUInt8(pos++); + this.Effect = []; + for (let i = 0; i < count; i++) + { + const newObjEffect: { + ID: UUID, + AgentID: UUID, + Type: number, + Duration: number, + Color: Buffer, + TypeData: string + } = { + ID: UUID.zero(), + AgentID: UUID.zero(), + Type: 0, + Duration: 0, + Color: Buffer.allocUnsafe(0), + TypeData: '' + }; + newObjEffect['ID'] = new UUID(buf, pos); + pos += 16; + newObjEffect['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjEffect['Type'] = buf.readUInt8(pos++); + newObjEffect['Duration'] = buf.readFloatLE(pos); + pos += 4; + newObjEffect['Color'] = buf.slice(pos, pos + 4); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjEffect['TypeData'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.Effect.push(newObjEffect); + } + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ViewerFrozenMessage.ts b/lib/classes/messages/ViewerFrozenMessage.ts new file mode 100644 index 0000000..151d923 --- /dev/null +++ b/lib/classes/messages/ViewerFrozenMessage.ts @@ -0,0 +1,43 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ViewerFrozenMessageMessage implements MessageBase +{ + name = 'ViewerFrozenMessage'; + messageFlags = MessageFlags.Trusted | MessageFlags.FrequencyLow; + id = Message.ViewerFrozenMessage; + + FrozenData: { + Data: boolean; + }; + + getSize(): number + { + return 1; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + buf.writeUInt8((this.FrozenData['Data']) ? 1 : 0, pos++); + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjFrozenData: { + Data: boolean + } = { + Data: false + }; + newObjFrozenData['Data'] = (buf.readUInt8(pos++) === 1); + this.FrozenData = newObjFrozenData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ViewerStartAuction.ts b/lib/classes/messages/ViewerStartAuction.ts new file mode 100644 index 0000000..48788e5 --- /dev/null +++ b/lib/classes/messages/ViewerStartAuction.ts @@ -0,0 +1,73 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ViewerStartAuctionMessage implements MessageBase +{ + name = 'ViewerStartAuction'; + messageFlags = MessageFlags.FrequencyLow; + id = Message.ViewerStartAuction; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + }; + ParcelData: { + LocalID: number; + SnapshotID: UUID; + }; + + getSize(): number + { + return 52; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + buf.writeInt32LE(this.ParcelData['LocalID'], pos); + pos += 4; + this.ParcelData['SnapshotID'].writeToBuffer(buf, pos); + pos += 16; + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero() + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + this.AgentData = newObjAgentData; + const newObjParcelData: { + LocalID: number, + SnapshotID: UUID + } = { + LocalID: 0, + SnapshotID: UUID.zero() + }; + newObjParcelData['LocalID'] = buf.readInt32LE(pos); + pos += 4; + newObjParcelData['SnapshotID'] = new UUID(buf, pos); + pos += 16; + this.ParcelData = newObjParcelData; + return pos - startPos; + } +} + diff --git a/lib/classes/messages/ViewerStats.ts b/lib/classes/messages/ViewerStats.ts new file mode 100644 index 0000000..8dba6f3 --- /dev/null +++ b/lib/classes/messages/ViewerStats.ts @@ -0,0 +1,296 @@ +// This file has been automatically generated by writeMessageClasses.js + +import {UUID} from '../UUID'; +import {IPAddress} from '../IPAddress'; +import {MessageFlags} from '../../enums/MessageFlags'; +import {MessageBase} from '../MessageBase'; +import {Message} from '../../enums/Message'; + +export class ViewerStatsMessage implements MessageBase +{ + name = 'ViewerStats'; + messageFlags = MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyLow; + id = Message.ViewerStats; + + AgentData: { + AgentID: UUID; + SessionID: UUID; + IP: IPAddress; + StartTime: number; + RunTime: number; + SimFPS: number; + FPS: number; + AgentsInView: number; + Ping: number; + MetersTraveled: number; + RegionsVisited: number; + SysRAM: number; + SysOS: string; + SysCPU: string; + SysGPU: string; + }; + DownloadTotals: { + World: number; + Objects: number; + Textures: number; + }; + NetStats: { + Bytes: number; + Packets: number; + Compressed: number; + Savings: number; + }[]; + FailStats: { + SendPacket: number; + Dropped: number; + Resent: number; + FailedResends: number; + OffCircuit: number; + Invalid: number; + }; + MiscStats: { + Type: number; + Value: number; + }[]; + + getSize(): number + { + return (this.AgentData['SysOS'].length + 1 + this.AgentData['SysCPU'].length + 1 + this.AgentData['SysGPU'].length + 1) + ((12) * this.MiscStats.length) + 142; + } + + writeToBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + this.AgentData['AgentID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['SessionID'].writeToBuffer(buf, pos); + pos += 16; + this.AgentData['IP'].writeToBuffer(buf, pos); + pos += 4; + buf.writeUInt32LE(this.AgentData['StartTime'], pos); + pos += 4; + buf.writeFloatLE(this.AgentData['RunTime'], pos); + pos += 4; + buf.writeFloatLE(this.AgentData['SimFPS'], pos); + pos += 4; + buf.writeFloatLE(this.AgentData['FPS'], pos); + pos += 4; + buf.writeUInt8(this.AgentData['AgentsInView'], pos++); + buf.writeFloatLE(this.AgentData['Ping'], pos); + pos += 4; + buf.writeDoubleLE(this.AgentData['MetersTraveled'], pos); + pos += 8; + buf.writeInt32LE(this.AgentData['RegionsVisited'], pos); + pos += 4; + buf.writeUInt32LE(this.AgentData['SysRAM'], pos); + pos += 4; + buf.writeUInt8(this.AgentData['SysOS'].length, pos++); + buf.write(this.AgentData['SysOS'], pos); + pos += this.AgentData['SysOS'].length; + buf.writeUInt8(this.AgentData['SysCPU'].length, pos++); + buf.write(this.AgentData['SysCPU'], pos); + pos += this.AgentData['SysCPU'].length; + buf.writeUInt8(this.AgentData['SysGPU'].length, pos++); + buf.write(this.AgentData['SysGPU'], pos); + pos += this.AgentData['SysGPU'].length; + buf.writeUInt32LE(this.DownloadTotals['World'], pos); + pos += 4; + buf.writeUInt32LE(this.DownloadTotals['Objects'], pos); + pos += 4; + buf.writeUInt32LE(this.DownloadTotals['Textures'], pos); + pos += 4; + let count = 2; + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.NetStats[i]['Bytes'], pos); + pos += 4; + buf.writeUInt32LE(this.NetStats[i]['Packets'], pos); + pos += 4; + buf.writeUInt32LE(this.NetStats[i]['Compressed'], pos); + pos += 4; + buf.writeUInt32LE(this.NetStats[i]['Savings'], pos); + pos += 4; + } + buf.writeUInt32LE(this.FailStats['SendPacket'], pos); + pos += 4; + buf.writeUInt32LE(this.FailStats['Dropped'], pos); + pos += 4; + buf.writeUInt32LE(this.FailStats['Resent'], pos); + pos += 4; + buf.writeUInt32LE(this.FailStats['FailedResends'], pos); + pos += 4; + buf.writeUInt32LE(this.FailStats['OffCircuit'], pos); + pos += 4; + buf.writeUInt32LE(this.FailStats['Invalid'], pos); + pos += 4; + count = this.MiscStats.length; + buf.writeUInt8(this.MiscStats.length, pos++); + for (let i = 0; i < count; i++) + { + buf.writeUInt32LE(this.MiscStats[i]['Type'], pos); + pos += 4; + buf.writeDoubleLE(this.MiscStats[i]['Value'], pos); + pos += 8; + } + return pos - startPos; + } + + readFromBuffer(buf: Buffer, pos: number): number + { + const startPos = pos; + let varLength = 0; + const newObjAgentData: { + AgentID: UUID, + SessionID: UUID, + IP: IPAddress, + StartTime: number, + RunTime: number, + SimFPS: number, + FPS: number, + AgentsInView: number, + Ping: number, + MetersTraveled: number, + RegionsVisited: number, + SysRAM: number, + SysOS: string, + SysCPU: string, + SysGPU: string + } = { + AgentID: UUID.zero(), + SessionID: UUID.zero(), + IP: IPAddress.zero(), + StartTime: 0, + RunTime: 0, + SimFPS: 0, + FPS: 0, + AgentsInView: 0, + Ping: 0, + MetersTraveled: 0, + RegionsVisited: 0, + SysRAM: 0, + SysOS: '', + SysCPU: '', + SysGPU: '' + }; + newObjAgentData['AgentID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['SessionID'] = new UUID(buf, pos); + pos += 16; + newObjAgentData['IP'] = new IPAddress(buf, pos); + pos += 4; + newObjAgentData['StartTime'] = buf.readUInt32LE(pos); + pos += 4; + newObjAgentData['RunTime'] = buf.readFloatLE(pos); + pos += 4; + newObjAgentData['SimFPS'] = buf.readFloatLE(pos); + pos += 4; + newObjAgentData['FPS'] = buf.readFloatLE(pos); + pos += 4; + newObjAgentData['AgentsInView'] = buf.readUInt8(pos++); + newObjAgentData['Ping'] = buf.readFloatLE(pos); + pos += 4; + newObjAgentData['MetersTraveled'] = buf.readDoubleLE(pos); + pos += 8; + newObjAgentData['RegionsVisited'] = buf.readInt32LE(pos); + pos += 4; + newObjAgentData['SysRAM'] = buf.readUInt32LE(pos); + pos += 4; + varLength = buf.readUInt8(pos++); + newObjAgentData['SysOS'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjAgentData['SysCPU'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + varLength = buf.readUInt8(pos++); + newObjAgentData['SysGPU'] = buf.toString('utf8', pos, pos + (varLength - 1)); + pos += varLength; + this.AgentData = newObjAgentData; + const newObjDownloadTotals: { + World: number, + Objects: number, + Textures: number + } = { + World: 0, + Objects: 0, + Textures: 0 + }; + newObjDownloadTotals['World'] = buf.readUInt32LE(pos); + pos += 4; + newObjDownloadTotals['Objects'] = buf.readUInt32LE(pos); + pos += 4; + newObjDownloadTotals['Textures'] = buf.readUInt32LE(pos); + pos += 4; + this.DownloadTotals = newObjDownloadTotals; + let count = 2; + this.NetStats = []; for (let i = 0; i < count; i++) + { + const newObjNetStats: { + Bytes: number, + Packets: number, + Compressed: number, + Savings: number + } = { + Bytes: 0, + Packets: 0, + Compressed: 0, + Savings: 0 + }; + newObjNetStats['Bytes'] = buf.readUInt32LE(pos); + pos += 4; + newObjNetStats['Packets'] = buf.readUInt32LE(pos); + pos += 4; + newObjNetStats['Compressed'] = buf.readUInt32LE(pos); + pos += 4; + newObjNetStats['Savings'] = buf.readUInt32LE(pos); + pos += 4; + this.NetStats.push(newObjNetStats); + } + const newObjFailStats: { + SendPacket: number, + Dropped: number, + Resent: number, + FailedResends: number, + OffCircuit: number, + Invalid: number + } = { + SendPacket: 0, + Dropped: 0, + Resent: 0, + FailedResends: 0, + OffCircuit: 0, + Invalid: 0 + }; + newObjFailStats['SendPacket'] = buf.readUInt32LE(pos); + pos += 4; + newObjFailStats['Dropped'] = buf.readUInt32LE(pos); + pos += 4; + newObjFailStats['Resent'] = buf.readUInt32LE(pos); + pos += 4; + newObjFailStats['FailedResends'] = buf.readUInt32LE(pos); + pos += 4; + newObjFailStats['OffCircuit'] = buf.readUInt32LE(pos); + pos += 4; + newObjFailStats['Invalid'] = buf.readUInt32LE(pos); + pos += 4; + this.FailStats = newObjFailStats; + count = buf.readUInt8(pos++); + this.MiscStats = []; + for (let i = 0; i < count; i++) + { + const newObjMiscStats: { + Type: number, + Value: number + } = { + Type: 0, + Value: 0 + }; + newObjMiscStats['Type'] = buf.readUInt32LE(pos); + pos += 4; + newObjMiscStats['Value'] = buf.readDoubleLE(pos); + pos += 8; + this.MiscStats.push(newObjMiscStats); + } + return pos - startPos; + } +} + diff --git a/lib/classes/packets/AbortXfer.ts b/lib/classes/packets/AbortXfer.ts deleted file mode 100644 index 2c20ff7..0000000 --- a/lib/classes/packets/AbortXfer.ts +++ /dev/null @@ -1,53 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AbortXferPacket implements Packet -{ - name = 'AbortXfer'; - flags = MessageFlags.FrequencyLow; - id = 4294901917; - - XferID: { - ID: Long; - Result: number; - }; - - getSize(): number - { - return 12; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeInt32LE(this.XferID['ID'].low, pos); - pos += 4; - buf.writeInt32LE(this.XferID['ID'].high, pos); - pos += 4; - buf.writeInt32LE(this.XferID['Result'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjXferID: { - ID: Long, - Result: number - } = { - ID: Long.ZERO, - Result: 0 - }; - newObjXferID['ID'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjXferID['Result'] = buf.readInt32LE(pos); - pos += 4; - this.XferID = newObjXferID; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AcceptCallingCard.ts b/lib/classes/packets/AcceptCallingCard.ts deleted file mode 100644 index c04fe5a..0000000 --- a/lib/classes/packets/AcceptCallingCard.ts +++ /dev/null @@ -1,87 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AcceptCallingCardPacket implements Packet -{ - name = 'AcceptCallingCard'; - flags = MessageFlags.FrequencyLow; - id = 4294902062; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - TransactionBlock: { - TransactionID: UUID; - }; - FolderData: { - FolderID: UUID; - }[]; - - getSize(): number - { - return ((16) * this.FolderData.length) + 49; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.TransactionBlock['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.FolderData.length; - buf.writeUInt8(this.FolderData.length, pos++); - for (let i = 0; i < count; i++) - { - this.FolderData[i]['FolderID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjTransactionBlock: { - TransactionID: UUID - } = { - TransactionID: UUID.zero() - }; - newObjTransactionBlock['TransactionID'] = new UUID(buf, pos); - pos += 16; - this.TransactionBlock = newObjTransactionBlock; - const count = buf.readUInt8(pos++); - this.FolderData = []; - for (let i = 0; i < count; i++) - { - const newObjFolderData: { - FolderID: UUID - } = { - FolderID: UUID.zero() - }; - newObjFolderData['FolderID'] = new UUID(buf, pos); - pos += 16; - this.FolderData.push(newObjFolderData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AcceptFriendship.ts b/lib/classes/packets/AcceptFriendship.ts deleted file mode 100644 index 4cbd2e1..0000000 --- a/lib/classes/packets/AcceptFriendship.ts +++ /dev/null @@ -1,87 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AcceptFriendshipPacket implements Packet -{ - name = 'AcceptFriendship'; - flags = MessageFlags.FrequencyLow; - id = 4294902057; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - TransactionBlock: { - TransactionID: UUID; - }; - FolderData: { - FolderID: UUID; - }[]; - - getSize(): number - { - return ((16) * this.FolderData.length) + 49; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.TransactionBlock['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.FolderData.length; - buf.writeUInt8(this.FolderData.length, pos++); - for (let i = 0; i < count; i++) - { - this.FolderData[i]['FolderID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjTransactionBlock: { - TransactionID: UUID - } = { - TransactionID: UUID.zero() - }; - newObjTransactionBlock['TransactionID'] = new UUID(buf, pos); - pos += 16; - this.TransactionBlock = newObjTransactionBlock; - const count = buf.readUInt8(pos++); - this.FolderData = []; - for (let i = 0; i < count; i++) - { - const newObjFolderData: { - FolderID: UUID - } = { - FolderID: UUID.zero() - }; - newObjFolderData['FolderID'] = new UUID(buf, pos); - pos += 16; - this.FolderData.push(newObjFolderData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ActivateGestures.ts b/lib/classes/packets/ActivateGestures.ts deleted file mode 100644 index e88ee0f..0000000 --- a/lib/classes/packets/ActivateGestures.ts +++ /dev/null @@ -1,95 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ActivateGesturesPacket implements Packet -{ - name = 'ActivateGestures'; - flags = MessageFlags.FrequencyLow; - id = 4294902076; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - Flags: number; - }; - Data: { - ItemID: UUID; - AssetID: UUID; - GestureFlags: number; - }[]; - - getSize(): number - { - return ((36) * this.Data.length) + 37; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.AgentData['Flags'], pos); - pos += 4; - const count = this.Data.length; - buf.writeUInt8(this.Data.length, pos++); - for (let i = 0; i < count; i++) - { - this.Data[i]['ItemID'].writeToBuffer(buf, pos); - pos += 16; - this.Data[i]['AssetID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.Data[i]['GestureFlags'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - Flags: number - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - Flags: 0 - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.Data = []; - for (let i = 0; i < count; i++) - { - const newObjData: { - ItemID: UUID, - AssetID: UUID, - GestureFlags: number - } = { - ItemID: UUID.zero(), - AssetID: UUID.zero(), - GestureFlags: 0 - }; - newObjData['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjData['AssetID'] = new UUID(buf, pos); - pos += 16; - newObjData['GestureFlags'] = buf.readUInt32LE(pos); - pos += 4; - this.Data.push(newObjData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ActivateGroup.ts b/lib/classes/packets/ActivateGroup.ts deleted file mode 100644 index 2f3c76e..0000000 --- a/lib/classes/packets/ActivateGroup.ts +++ /dev/null @@ -1,58 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ActivateGroupPacket implements Packet -{ - name = 'ActivateGroup'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902128; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - GroupID: UUID; - }; - - getSize(): number - { - return 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - GroupID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - GroupID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AddCircuitCode.ts b/lib/classes/packets/AddCircuitCode.ts deleted file mode 100644 index 912132e..0000000 --- a/lib/classes/packets/AddCircuitCode.ts +++ /dev/null @@ -1,58 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AddCircuitCodePacket implements Packet -{ - name = 'AddCircuitCode'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901762; - - CircuitCode: { - Code: number; - SessionID: UUID; - AgentID: UUID; - }; - - getSize(): number - { - return 36; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeUInt32LE(this.CircuitCode['Code'], pos); - pos += 4; - this.CircuitCode['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.CircuitCode['AgentID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjCircuitCode: { - Code: number, - SessionID: UUID, - AgentID: UUID - } = { - Code: 0, - SessionID: UUID.zero(), - AgentID: UUID.zero() - }; - newObjCircuitCode['Code'] = buf.readUInt32LE(pos); - pos += 4; - newObjCircuitCode['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjCircuitCode['AgentID'] = new UUID(buf, pos); - pos += 16; - this.CircuitCode = newObjCircuitCode; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AgentAlertMessage.ts b/lib/classes/packets/AgentAlertMessage.ts deleted file mode 100644 index 8861a48..0000000 --- a/lib/classes/packets/AgentAlertMessage.ts +++ /dev/null @@ -1,62 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AgentAlertMessagePacket implements Packet -{ - name = 'AgentAlertMessage'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901895; - - AgentData: { - AgentID: UUID; - }; - AlertData: { - Modal: boolean; - Message: string; - }; - - getSize(): number - { - return (this.AlertData['Message'].length + 1) + 17; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.AlertData['Modal']) ? 1 : 0, pos++); - buf.write(this.AlertData['Message'], pos); - pos += this.AlertData['Message'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjAlertData: { - Modal: boolean, - Message: string - } = { - Modal: false, - Message: '' - }; - newObjAlertData['Modal'] = (buf.readUInt8(pos++) === 1); - newObjAlertData['Message'] = buf.toString('utf8', pos, length); - pos += length; - this.AlertData = newObjAlertData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AgentAnimation.ts b/lib/classes/packets/AgentAnimation.ts deleted file mode 100644 index 0a41d84..0000000 --- a/lib/classes/packets/AgentAnimation.ts +++ /dev/null @@ -1,112 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AgentAnimationPacket implements Packet -{ - name = 'AgentAnimation'; - flags = MessageFlags.FrequencyHigh; - id = 5; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - AnimationList: { - AnimID: UUID; - StartAnim: boolean; - }[]; - PhysicalAvatarEventList: { - TypeData: string; - }[]; - - getSize(): number - { - return ((17) * this.AnimationList.length) + ((this.calculateVarVarSize(this.PhysicalAvatarEventList, 'TypeData', 1)) * this.PhysicalAvatarEventList.length) + 34; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - let count = this.AnimationList.length; - buf.writeUInt8(this.AnimationList.length, pos++); - for (let i = 0; i < count; i++) - { - this.AnimationList[i]['AnimID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.AnimationList[i]['StartAnim']) ? 1 : 0, pos++); - } - count = this.PhysicalAvatarEventList.length; - buf.writeUInt8(this.PhysicalAvatarEventList.length, pos++); - for (let i = 0; i < count; i++) - { - buf.write(this.PhysicalAvatarEventList[i]['TypeData'], pos); - pos += this.PhysicalAvatarEventList[i]['TypeData'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - let count = buf.readUInt8(pos++); - this.AnimationList = []; - for (let i = 0; i < count; i++) - { - const newObjAnimationList: { - AnimID: UUID, - StartAnim: boolean - } = { - AnimID: UUID.zero(), - StartAnim: false - }; - newObjAnimationList['AnimID'] = new UUID(buf, pos); - pos += 16; - newObjAnimationList['StartAnim'] = (buf.readUInt8(pos++) === 1); - this.AnimationList.push(newObjAnimationList); - } - count = buf.readUInt8(pos++); - this.PhysicalAvatarEventList = []; - for (let i = 0; i < count; i++) - { - const newObjPhysicalAvatarEventList: { - TypeData: string - } = { - TypeData: '' - }; - newObjPhysicalAvatarEventList['TypeData'] = buf.toString('utf8', pos, length); - pos += length; - this.PhysicalAvatarEventList.push(newObjPhysicalAvatarEventList); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AgentCachedTexture.ts b/lib/classes/packets/AgentCachedTexture.ts deleted file mode 100644 index 7a6214e..0000000 --- a/lib/classes/packets/AgentCachedTexture.ts +++ /dev/null @@ -1,86 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AgentCachedTexturePacket implements Packet -{ - name = 'AgentCachedTexture'; - flags = MessageFlags.FrequencyLow; - id = 4294902144; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - SerialNum: number; - }; - WearableData: { - ID: UUID; - TextureIndex: number; - }[]; - - getSize(): number - { - return ((17) * this.WearableData.length) + 37; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.AgentData['SerialNum'], pos); - pos += 4; - const count = this.WearableData.length; - buf.writeUInt8(this.WearableData.length, pos++); - for (let i = 0; i < count; i++) - { - this.WearableData[i]['ID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.WearableData[i]['TextureIndex'], pos++); - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - SerialNum: number - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - SerialNum: 0 - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SerialNum'] = buf.readInt32LE(pos); - pos += 4; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.WearableData = []; - for (let i = 0; i < count; i++) - { - const newObjWearableData: { - ID: UUID, - TextureIndex: number - } = { - ID: UUID.zero(), - TextureIndex: 0 - }; - newObjWearableData['ID'] = new UUID(buf, pos); - pos += 16; - newObjWearableData['TextureIndex'] = buf.readUInt8(pos++); - this.WearableData.push(newObjWearableData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AgentCachedTextureResponse.ts b/lib/classes/packets/AgentCachedTextureResponse.ts deleted file mode 100644 index 7b5c90d..0000000 --- a/lib/classes/packets/AgentCachedTextureResponse.ts +++ /dev/null @@ -1,103 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AgentCachedTextureResponsePacket implements Packet -{ - name = 'AgentCachedTextureResponse'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902145; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - SerialNum: number; - }; - WearableData: { - TextureID: UUID; - TextureIndex: number; - HostName: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.WearableData, 'HostName', 1) + 17) * this.WearableData.length) + 37; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.AgentData['SerialNum'], pos); - pos += 4; - const count = this.WearableData.length; - buf.writeUInt8(this.WearableData.length, pos++); - for (let i = 0; i < count; i++) - { - this.WearableData[i]['TextureID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.WearableData[i]['TextureIndex'], pos++); - buf.write(this.WearableData[i]['HostName'], pos); - pos += this.WearableData[i]['HostName'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - SerialNum: number - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - SerialNum: 0 - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SerialNum'] = buf.readInt32LE(pos); - pos += 4; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.WearableData = []; - for (let i = 0; i < count; i++) - { - const newObjWearableData: { - TextureID: UUID, - TextureIndex: number, - HostName: string - } = { - TextureID: UUID.zero(), - TextureIndex: 0, - HostName: '' - }; - newObjWearableData['TextureID'] = new UUID(buf, pos); - pos += 16; - newObjWearableData['TextureIndex'] = buf.readUInt8(pos++); - newObjWearableData['HostName'] = buf.toString('utf8', pos, length); - pos += length; - this.WearableData.push(newObjWearableData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AgentDataUpdate.ts b/lib/classes/packets/AgentDataUpdate.ts deleted file mode 100644 index 266d37e..0000000 --- a/lib/classes/packets/AgentDataUpdate.ts +++ /dev/null @@ -1,89 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AgentDataUpdatePacket implements Packet -{ - name = 'AgentDataUpdate'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902147; - - AgentData: { - AgentID: UUID; - FirstName: string; - LastName: string; - GroupTitle: string; - ActiveGroupID: UUID; - GroupPowers: Long; - GroupName: string; - }; - - getSize(): number - { - return (this.AgentData['FirstName'].length + 1 + this.AgentData['LastName'].length + 1 + this.AgentData['GroupTitle'].length + 1 + this.AgentData['GroupName'].length + 1) + 40; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.AgentData['FirstName'], pos); - pos += this.AgentData['FirstName'].length; - buf.write(this.AgentData['LastName'], pos); - pos += this.AgentData['LastName'].length; - buf.write(this.AgentData['GroupTitle'], pos); - pos += this.AgentData['GroupTitle'].length; - this.AgentData['ActiveGroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.AgentData['GroupPowers'].low, pos); - pos += 4; - buf.writeInt32LE(this.AgentData['GroupPowers'].high, pos); - pos += 4; - buf.write(this.AgentData['GroupName'], pos); - pos += this.AgentData['GroupName'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - FirstName: string, - LastName: string, - GroupTitle: string, - ActiveGroupID: UUID, - GroupPowers: Long, - GroupName: string - } = { - AgentID: UUID.zero(), - FirstName: '', - LastName: '', - GroupTitle: '', - ActiveGroupID: UUID.zero(), - GroupPowers: Long.ZERO, - GroupName: '' - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['FirstName'] = buf.toString('utf8', pos, length); - pos += length; - newObjAgentData['LastName'] = buf.toString('utf8', pos, length); - pos += length; - newObjAgentData['GroupTitle'] = buf.toString('utf8', pos, length); - pos += length; - newObjAgentData['ActiveGroupID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupPowers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjAgentData['GroupName'] = buf.toString('utf8', pos, length); - pos += length; - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AgentDataUpdateRequest.ts b/lib/classes/packets/AgentDataUpdateRequest.ts deleted file mode 100644 index 1c4f702..0000000 --- a/lib/classes/packets/AgentDataUpdateRequest.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AgentDataUpdateRequestPacket implements Packet -{ - name = 'AgentDataUpdateRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294902146; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - - getSize(): number - { - return 32; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AgentDropGroup.ts b/lib/classes/packets/AgentDropGroup.ts deleted file mode 100644 index edf5688..0000000 --- a/lib/classes/packets/AgentDropGroup.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AgentDropGroupPacket implements Packet -{ - name = 'AgentDropGroup'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyLow; - id = 4294902150; - - AgentData: { - AgentID: UUID; - GroupID: UUID; - }; - - getSize(): number - { - return 32; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - GroupID: UUID - } = { - AgentID: UUID.zero(), - GroupID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AgentFOV.ts b/lib/classes/packets/AgentFOV.ts deleted file mode 100644 index 61071d4..0000000 --- a/lib/classes/packets/AgentFOV.ts +++ /dev/null @@ -1,78 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AgentFOVPacket implements Packet -{ - name = 'AgentFOV'; - flags = MessageFlags.FrequencyLow; - id = 4294901842; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - CircuitCode: number; - }; - FOVBlock: { - GenCounter: number; - VerticalAngle: number; - }; - - getSize(): number - { - return 44; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.AgentData['CircuitCode'], pos); - pos += 4; - buf.writeUInt32LE(this.FOVBlock['GenCounter'], pos); - pos += 4; - buf.writeFloatLE(this.FOVBlock['VerticalAngle'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - CircuitCode: number - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - CircuitCode: 0 - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['CircuitCode'] = buf.readUInt32LE(pos); - pos += 4; - this.AgentData = newObjAgentData; - const newObjFOVBlock: { - GenCounter: number, - VerticalAngle: number - } = { - GenCounter: 0, - VerticalAngle: 0 - }; - newObjFOVBlock['GenCounter'] = buf.readUInt32LE(pos); - pos += 4; - newObjFOVBlock['VerticalAngle'] = buf.readFloatLE(pos); - pos += 4; - this.FOVBlock = newObjFOVBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AgentGroupDataUpdate.ts b/lib/classes/packets/AgentGroupDataUpdate.ts deleted file mode 100644 index da064a1..0000000 --- a/lib/classes/packets/AgentGroupDataUpdate.ts +++ /dev/null @@ -1,113 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AgentGroupDataUpdatePacket implements Packet -{ - name = 'AgentGroupDataUpdate'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyLow; - id = 4294902149; - - AgentData: { - AgentID: UUID; - }; - GroupData: { - GroupID: UUID; - GroupPowers: Long; - AcceptNotices: boolean; - GroupInsigniaID: UUID; - Contribution: number; - GroupName: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.GroupData, 'GroupName', 1) + 45) * this.GroupData.length) + 17; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.GroupData.length; - buf.writeUInt8(this.GroupData.length, pos++); - for (let i = 0; i < count; i++) - { - this.GroupData[i]['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.GroupData[i]['GroupPowers'].low, pos); - pos += 4; - buf.writeInt32LE(this.GroupData[i]['GroupPowers'].high, pos); - pos += 4; - buf.writeUInt8((this.GroupData[i]['AcceptNotices']) ? 1 : 0, pos++); - this.GroupData[i]['GroupInsigniaID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.GroupData[i]['Contribution'], pos); - pos += 4; - buf.write(this.GroupData[i]['GroupName'], pos); - pos += this.GroupData[i]['GroupName'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.GroupData = []; - for (let i = 0; i < count; i++) - { - const newObjGroupData: { - GroupID: UUID, - GroupPowers: Long, - AcceptNotices: boolean, - GroupInsigniaID: UUID, - Contribution: number, - GroupName: string - } = { - GroupID: UUID.zero(), - GroupPowers: Long.ZERO, - AcceptNotices: false, - GroupInsigniaID: UUID.zero(), - Contribution: 0, - GroupName: '' - }; - newObjGroupData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjGroupData['GroupPowers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjGroupData['AcceptNotices'] = (buf.readUInt8(pos++) === 1); - newObjGroupData['GroupInsigniaID'] = new UUID(buf, pos); - pos += 16; - newObjGroupData['Contribution'] = buf.readInt32LE(pos); - pos += 4; - newObjGroupData['GroupName'] = buf.toString('utf8', pos, length); - pos += length; - this.GroupData.push(newObjGroupData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AgentHeightWidth.ts b/lib/classes/packets/AgentHeightWidth.ts deleted file mode 100644 index 83265e0..0000000 --- a/lib/classes/packets/AgentHeightWidth.ts +++ /dev/null @@ -1,85 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AgentHeightWidthPacket implements Packet -{ - name = 'AgentHeightWidth'; - flags = MessageFlags.FrequencyLow; - id = 4294901843; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - CircuitCode: number; - }; - HeightWidthBlock: { - GenCounter: number; - Height: number; - Width: number; - }; - - getSize(): number - { - return 44; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.AgentData['CircuitCode'], pos); - pos += 4; - buf.writeUInt32LE(this.HeightWidthBlock['GenCounter'], pos); - pos += 4; - buf.writeUInt16LE(this.HeightWidthBlock['Height'], pos); - pos += 2; - buf.writeUInt16LE(this.HeightWidthBlock['Width'], pos); - pos += 2; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - CircuitCode: number - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - CircuitCode: 0 - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['CircuitCode'] = buf.readUInt32LE(pos); - pos += 4; - this.AgentData = newObjAgentData; - const newObjHeightWidthBlock: { - GenCounter: number, - Height: number, - Width: number - } = { - GenCounter: 0, - Height: 0, - Width: 0 - }; - newObjHeightWidthBlock['GenCounter'] = buf.readUInt32LE(pos); - pos += 4; - newObjHeightWidthBlock['Height'] = buf.readUInt16LE(pos); - pos += 2; - newObjHeightWidthBlock['Width'] = buf.readUInt16LE(pos); - pos += 2; - this.HeightWidthBlock = newObjHeightWidthBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AgentIsNowWearing.ts b/lib/classes/packets/AgentIsNowWearing.ts deleted file mode 100644 index 41f8c4c..0000000 --- a/lib/classes/packets/AgentIsNowWearing.ts +++ /dev/null @@ -1,79 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AgentIsNowWearingPacket implements Packet -{ - name = 'AgentIsNowWearing'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902143; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - WearableData: { - ItemID: UUID; - WearableType: number; - }[]; - - getSize(): number - { - return ((17) * this.WearableData.length) + 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.WearableData.length; - buf.writeUInt8(this.WearableData.length, pos++); - for (let i = 0; i < count; i++) - { - this.WearableData[i]['ItemID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.WearableData[i]['WearableType'], pos++); - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.WearableData = []; - for (let i = 0; i < count; i++) - { - const newObjWearableData: { - ItemID: UUID, - WearableType: number - } = { - ItemID: UUID.zero(), - WearableType: 0 - }; - newObjWearableData['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjWearableData['WearableType'] = buf.readUInt8(pos++); - this.WearableData.push(newObjWearableData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AgentMovementComplete.ts b/lib/classes/packets/AgentMovementComplete.ts deleted file mode 100644 index 87cf2f4..0000000 --- a/lib/classes/packets/AgentMovementComplete.ts +++ /dev/null @@ -1,102 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AgentMovementCompletePacket implements Packet -{ - name = 'AgentMovementComplete'; - flags = MessageFlags.FrequencyLow; - id = 4294902010; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - Position: Vector3; - LookAt: Vector3; - RegionHandle: Long; - Timestamp: number; - }; - SimData: { - ChannelVersion: string; - }; - - getSize(): number - { - return (this.SimData['ChannelVersion'].length + 2) + 68; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['Position'].writeToBuffer(buf, pos, false); - pos += 12; - this.Data['LookAt'].writeToBuffer(buf, pos, false); - pos += 12; - buf.writeInt32LE(this.Data['RegionHandle'].low, pos); - pos += 4; - buf.writeInt32LE(this.Data['RegionHandle'].high, pos); - pos += 4; - buf.writeUInt32LE(this.Data['Timestamp'], pos); - pos += 4; - buf.write(this.SimData['ChannelVersion'], pos); - pos += this.SimData['ChannelVersion'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - Position: Vector3, - LookAt: Vector3, - RegionHandle: Long, - Timestamp: number - } = { - Position: Vector3.getZero(), - LookAt: Vector3.getZero(), - RegionHandle: Long.ZERO, - Timestamp: 0 - }; - newObjData['Position'] = new Vector3(buf, pos, false); - pos += 12; - newObjData['LookAt'] = new Vector3(buf, pos, false); - pos += 12; - newObjData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjData['Timestamp'] = buf.readUInt32LE(pos); - pos += 4; - this.Data = newObjData; - const newObjSimData: { - ChannelVersion: string - } = { - ChannelVersion: '' - }; - newObjSimData['ChannelVersion'] = buf.toString('utf8', pos, length); - pos += length; - this.SimData = newObjSimData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AgentPause.ts b/lib/classes/packets/AgentPause.ts deleted file mode 100644 index f54ef72..0000000 --- a/lib/classes/packets/AgentPause.ts +++ /dev/null @@ -1,58 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AgentPausePacket implements Packet -{ - name = 'AgentPause'; - flags = MessageFlags.FrequencyLow; - id = 4294901838; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - SerialNum: number; - }; - - getSize(): number - { - return 36; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.AgentData['SerialNum'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - SerialNum: number - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - SerialNum: 0 - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SerialNum'] = buf.readUInt32LE(pos); - pos += 4; - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AgentQuitCopy.ts b/lib/classes/packets/AgentQuitCopy.ts deleted file mode 100644 index db99618..0000000 --- a/lib/classes/packets/AgentQuitCopy.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AgentQuitCopyPacket implements Packet -{ - name = 'AgentQuitCopy'; - flags = MessageFlags.FrequencyLow; - id = 4294901845; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - FuseBlock: { - ViewerCircuitCode: number; - }; - - getSize(): number - { - return 36; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.FuseBlock['ViewerCircuitCode'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjFuseBlock: { - ViewerCircuitCode: number - } = { - ViewerCircuitCode: 0 - }; - newObjFuseBlock['ViewerCircuitCode'] = buf.readUInt32LE(pos); - pos += 4; - this.FuseBlock = newObjFuseBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AgentRequestSit.ts b/lib/classes/packets/AgentRequestSit.ts deleted file mode 100644 index 71f7a26..0000000 --- a/lib/classes/packets/AgentRequestSit.ts +++ /dev/null @@ -1,72 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AgentRequestSitPacket implements Packet -{ - name = 'AgentRequestSit'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyHigh; - id = 6; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - TargetObject: { - TargetID: UUID; - Offset: Vector3; - }; - - getSize(): number - { - return 60; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.TargetObject['TargetID'].writeToBuffer(buf, pos); - pos += 16; - this.TargetObject['Offset'].writeToBuffer(buf, pos, false); - pos += 12; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjTargetObject: { - TargetID: UUID, - Offset: Vector3 - } = { - TargetID: UUID.zero(), - Offset: Vector3.getZero() - }; - newObjTargetObject['TargetID'] = new UUID(buf, pos); - pos += 16; - newObjTargetObject['Offset'] = new Vector3(buf, pos, false); - pos += 12; - this.TargetObject = newObjTargetObject; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AgentResume.ts b/lib/classes/packets/AgentResume.ts deleted file mode 100644 index 066e91b..0000000 --- a/lib/classes/packets/AgentResume.ts +++ /dev/null @@ -1,58 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AgentResumePacket implements Packet -{ - name = 'AgentResume'; - flags = MessageFlags.FrequencyLow; - id = 4294901839; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - SerialNum: number; - }; - - getSize(): number - { - return 36; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.AgentData['SerialNum'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - SerialNum: number - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - SerialNum: 0 - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SerialNum'] = buf.readUInt32LE(pos); - pos += 4; - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AgentSetAppearance.ts b/lib/classes/packets/AgentSetAppearance.ts deleted file mode 100644 index d177b77..0000000 --- a/lib/classes/packets/AgentSetAppearance.ts +++ /dev/null @@ -1,128 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AgentSetAppearancePacket implements Packet -{ - name = 'AgentSetAppearance'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901844; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - SerialNum: number; - Size: Vector3; - }; - WearableData: { - CacheID: UUID; - TextureIndex: number; - }[]; - ObjectData: { - TextureEntry: string; - }; - VisualParam: { - ParamValue: number; - }[]; - - getSize(): number - { - return ((17) * this.WearableData.length) + (this.ObjectData['TextureEntry'].length + 2) + ((1) * this.VisualParam.length) + 50; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.AgentData['SerialNum'], pos); - pos += 4; - this.AgentData['Size'].writeToBuffer(buf, pos, false); - pos += 12; - let count = this.WearableData.length; - buf.writeUInt8(this.WearableData.length, pos++); - for (let i = 0; i < count; i++) - { - this.WearableData[i]['CacheID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.WearableData[i]['TextureIndex'], pos++); - } - buf.write(this.ObjectData['TextureEntry'], pos); - pos += this.ObjectData['TextureEntry'].length; - count = this.VisualParam.length; - buf.writeUInt8(this.VisualParam.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt8(this.VisualParam[i]['ParamValue'], pos++); - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - SerialNum: number, - Size: Vector3 - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - SerialNum: 0, - Size: Vector3.getZero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SerialNum'] = buf.readUInt32LE(pos); - pos += 4; - newObjAgentData['Size'] = new Vector3(buf, pos, false); - pos += 12; - this.AgentData = newObjAgentData; - let count = buf.readUInt8(pos++); - this.WearableData = []; - for (let i = 0; i < count; i++) - { - const newObjWearableData: { - CacheID: UUID, - TextureIndex: number - } = { - CacheID: UUID.zero(), - TextureIndex: 0 - }; - newObjWearableData['CacheID'] = new UUID(buf, pos); - pos += 16; - newObjWearableData['TextureIndex'] = buf.readUInt8(pos++); - this.WearableData.push(newObjWearableData); - } - const newObjObjectData: { - TextureEntry: string - } = { - TextureEntry: '' - }; - newObjObjectData['TextureEntry'] = buf.toString('utf8', pos, length); - pos += length; - this.ObjectData = newObjObjectData; - count = buf.readUInt8(pos++); - this.VisualParam = []; - for (let i = 0; i < count; i++) - { - const newObjVisualParam: { - ParamValue: number - } = { - ParamValue: 0 - }; - newObjVisualParam['ParamValue'] = buf.readUInt8(pos++); - this.VisualParam.push(newObjVisualParam); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AgentSit.ts b/lib/classes/packets/AgentSit.ts deleted file mode 100644 index 42cb0cc..0000000 --- a/lib/classes/packets/AgentSit.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AgentSitPacket implements Packet -{ - name = 'AgentSit'; - flags = MessageFlags.FrequencyHigh; - id = 7; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - - getSize(): number - { - return 32; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AgentThrottle.ts b/lib/classes/packets/AgentThrottle.ts deleted file mode 100644 index b3a2ca7..0000000 --- a/lib/classes/packets/AgentThrottle.ts +++ /dev/null @@ -1,78 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AgentThrottlePacket implements Packet -{ - name = 'AgentThrottle'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901841; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - CircuitCode: number; - }; - Throttle: { - GenCounter: number; - Throttles: string; - }; - - getSize(): number - { - return (this.Throttle['Throttles'].length + 1) + 40; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.AgentData['CircuitCode'], pos); - pos += 4; - buf.writeUInt32LE(this.Throttle['GenCounter'], pos); - pos += 4; - buf.write(this.Throttle['Throttles'], pos); - pos += this.Throttle['Throttles'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - CircuitCode: number - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - CircuitCode: 0 - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['CircuitCode'] = buf.readUInt32LE(pos); - pos += 4; - this.AgentData = newObjAgentData; - const newObjThrottle: { - GenCounter: number, - Throttles: string - } = { - GenCounter: 0, - Throttles: '' - }; - newObjThrottle['GenCounter'] = buf.readUInt32LE(pos); - pos += 4; - newObjThrottle['Throttles'] = buf.toString('utf8', pos, length); - pos += length; - this.Throttle = newObjThrottle; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AgentUpdate.ts b/lib/classes/packets/AgentUpdate.ts deleted file mode 100644 index 5d17192..0000000 --- a/lib/classes/packets/AgentUpdate.ts +++ /dev/null @@ -1,119 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {Quaternion} from '../Quaternion'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AgentUpdatePacket implements Packet -{ - name = 'AgentUpdate'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyHigh; - id = 4; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - BodyRotation: Quaternion; - HeadRotation: Quaternion; - State: number; - CameraCenter: Vector3; - CameraAtAxis: Vector3; - CameraLeftAxis: Vector3; - CameraUpAxis: Vector3; - Far: number; - ControlFlags: number; - Flags: number; - }; - - getSize(): number - { - return 114; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['BodyRotation'].writeToBuffer(buf, pos); - pos += 12; - this.AgentData['HeadRotation'].writeToBuffer(buf, pos); - pos += 12; - buf.writeUInt8(this.AgentData['State'], pos++); - this.AgentData['CameraCenter'].writeToBuffer(buf, pos, false); - pos += 12; - this.AgentData['CameraAtAxis'].writeToBuffer(buf, pos, false); - pos += 12; - this.AgentData['CameraLeftAxis'].writeToBuffer(buf, pos, false); - pos += 12; - this.AgentData['CameraUpAxis'].writeToBuffer(buf, pos, false); - pos += 12; - buf.writeFloatLE(this.AgentData['Far'], pos); - pos += 4; - buf.writeUInt32LE(this.AgentData['ControlFlags'], pos); - pos += 4; - buf.writeUInt8(this.AgentData['Flags'], pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - BodyRotation: Quaternion, - HeadRotation: Quaternion, - State: number, - CameraCenter: Vector3, - CameraAtAxis: Vector3, - CameraLeftAxis: Vector3, - CameraUpAxis: Vector3, - Far: number, - ControlFlags: number, - Flags: number - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - BodyRotation: Quaternion.getIdentity(), - HeadRotation: Quaternion.getIdentity(), - State: 0, - CameraCenter: Vector3.getZero(), - CameraAtAxis: Vector3.getZero(), - CameraLeftAxis: Vector3.getZero(), - CameraUpAxis: Vector3.getZero(), - Far: 0, - ControlFlags: 0, - Flags: 0 - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['BodyRotation'] = new Quaternion(buf, pos); - pos += 12; - newObjAgentData['HeadRotation'] = new Quaternion(buf, pos); - pos += 12; - newObjAgentData['State'] = buf.readUInt8(pos++); - newObjAgentData['CameraCenter'] = new Vector3(buf, pos, false); - pos += 12; - newObjAgentData['CameraAtAxis'] = new Vector3(buf, pos, false); - pos += 12; - newObjAgentData['CameraLeftAxis'] = new Vector3(buf, pos, false); - pos += 12; - newObjAgentData['CameraUpAxis'] = new Vector3(buf, pos, false); - pos += 12; - newObjAgentData['Far'] = buf.readFloatLE(pos); - pos += 4; - newObjAgentData['ControlFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjAgentData['Flags'] = buf.readUInt8(pos++); - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AgentWearablesRequest.ts b/lib/classes/packets/AgentWearablesRequest.ts deleted file mode 100644 index 01e7c43..0000000 --- a/lib/classes/packets/AgentWearablesRequest.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AgentWearablesRequestPacket implements Packet -{ - name = 'AgentWearablesRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294902141; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - - getSize(): number - { - return 32; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AgentWearablesUpdate.ts b/lib/classes/packets/AgentWearablesUpdate.ts deleted file mode 100644 index 3858aa3..0000000 --- a/lib/classes/packets/AgentWearablesUpdate.ts +++ /dev/null @@ -1,93 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AgentWearablesUpdatePacket implements Packet -{ - name = 'AgentWearablesUpdate'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902142; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - SerialNum: number; - }; - WearableData: { - ItemID: UUID; - AssetID: UUID; - WearableType: number; - }[]; - - getSize(): number - { - return ((33) * this.WearableData.length) + 37; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.AgentData['SerialNum'], pos); - pos += 4; - const count = this.WearableData.length; - buf.writeUInt8(this.WearableData.length, pos++); - for (let i = 0; i < count; i++) - { - this.WearableData[i]['ItemID'].writeToBuffer(buf, pos); - pos += 16; - this.WearableData[i]['AssetID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.WearableData[i]['WearableType'], pos++); - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - SerialNum: number - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - SerialNum: 0 - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SerialNum'] = buf.readUInt32LE(pos); - pos += 4; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.WearableData = []; - for (let i = 0; i < count; i++) - { - const newObjWearableData: { - ItemID: UUID, - AssetID: UUID, - WearableType: number - } = { - ItemID: UUID.zero(), - AssetID: UUID.zero(), - WearableType: 0 - }; - newObjWearableData['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjWearableData['AssetID'] = new UUID(buf, pos); - pos += 16; - newObjWearableData['WearableType'] = buf.readUInt8(pos++); - this.WearableData.push(newObjWearableData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AlertMessage.ts b/lib/classes/packets/AlertMessage.ts deleted file mode 100644 index 8422411..0000000 --- a/lib/classes/packets/AlertMessage.ts +++ /dev/null @@ -1,107 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AlertMessagePacket implements Packet -{ - name = 'AlertMessage'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901894; - - AlertData: { - Message: string; - }; - AlertInfo: { - Message: string; - ExtraParams: string; - }[]; - AgentInfo: { - AgentID: UUID; - }[]; - - getSize(): number - { - return (this.AlertData['Message'].length + 1) + ((this.calculateVarVarSize(this.AlertInfo, 'Message', 1) + this.calculateVarVarSize(this.AlertInfo, 'ExtraParams', 1)) * this.AlertInfo.length) + ((16) * this.AgentInfo.length) + 2; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.write(this.AlertData['Message'], pos); - pos += this.AlertData['Message'].length; - let count = this.AlertInfo.length; - buf.writeUInt8(this.AlertInfo.length, pos++); - for (let i = 0; i < count; i++) - { - buf.write(this.AlertInfo[i]['Message'], pos); - pos += this.AlertInfo[i]['Message'].length; - buf.write(this.AlertInfo[i]['ExtraParams'], pos); - pos += this.AlertInfo[i]['ExtraParams'].length; - } - count = this.AgentInfo.length; - buf.writeUInt8(this.AgentInfo.length, pos++); - for (let i = 0; i < count; i++) - { - this.AgentInfo[i]['AgentID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAlertData: { - Message: string - } = { - Message: '' - }; - newObjAlertData['Message'] = buf.toString('utf8', pos, length); - pos += length; - this.AlertData = newObjAlertData; - let count = buf.readUInt8(pos++); - this.AlertInfo = []; - for (let i = 0; i < count; i++) - { - const newObjAlertInfo: { - Message: string, - ExtraParams: string - } = { - Message: '', - ExtraParams: '' - }; - newObjAlertInfo['Message'] = buf.toString('utf8', pos, length); - pos += length; - newObjAlertInfo['ExtraParams'] = buf.toString('utf8', pos, length); - pos += length; - this.AlertInfo.push(newObjAlertInfo); - } - count = buf.readUInt8(pos++); - this.AgentInfo = []; - for (let i = 0; i < count; i++) - { - const newObjAgentInfo: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentInfo['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentInfo.push(newObjAgentInfo); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AssetUploadComplete.ts b/lib/classes/packets/AssetUploadComplete.ts deleted file mode 100644 index cef24c8..0000000 --- a/lib/classes/packets/AssetUploadComplete.ts +++ /dev/null @@ -1,54 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AssetUploadCompletePacket implements Packet -{ - name = 'AssetUploadComplete'; - flags = MessageFlags.FrequencyLow; - id = 4294902094; - - AssetBlock: { - UUID: UUID; - Type: number; - Success: boolean; - }; - - getSize(): number - { - return 18; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AssetBlock['UUID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt8(this.AssetBlock['Type'], pos++); - buf.writeUInt8((this.AssetBlock['Success']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAssetBlock: { - UUID: UUID, - Type: number, - Success: boolean - } = { - UUID: UUID.zero(), - Type: 0, - Success: false - }; - newObjAssetBlock['UUID'] = new UUID(buf, pos); - pos += 16; - newObjAssetBlock['Type'] = buf.readInt8(pos++); - newObjAssetBlock['Success'] = (buf.readUInt8(pos++) === 1); - this.AssetBlock = newObjAssetBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AssetUploadRequest.ts b/lib/classes/packets/AssetUploadRequest.ts deleted file mode 100644 index 5f7952e..0000000 --- a/lib/classes/packets/AssetUploadRequest.ts +++ /dev/null @@ -1,66 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AssetUploadRequestPacket implements Packet -{ - name = 'AssetUploadRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294902093; - - AssetBlock: { - TransactionID: UUID; - Type: number; - Tempfile: boolean; - StoreLocal: boolean; - AssetData: string; - }; - - getSize(): number - { - return (this.AssetBlock['AssetData'].length + 2) + 19; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AssetBlock['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt8(this.AssetBlock['Type'], pos++); - buf.writeUInt8((this.AssetBlock['Tempfile']) ? 1 : 0, pos++); - buf.writeUInt8((this.AssetBlock['StoreLocal']) ? 1 : 0, pos++); - buf.write(this.AssetBlock['AssetData'], pos); - pos += this.AssetBlock['AssetData'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAssetBlock: { - TransactionID: UUID, - Type: number, - Tempfile: boolean, - StoreLocal: boolean, - AssetData: string - } = { - TransactionID: UUID.zero(), - Type: 0, - Tempfile: false, - StoreLocal: false, - AssetData: '' - }; - newObjAssetBlock['TransactionID'] = new UUID(buf, pos); - pos += 16; - newObjAssetBlock['Type'] = buf.readInt8(pos++); - newObjAssetBlock['Tempfile'] = (buf.readUInt8(pos++) === 1); - newObjAssetBlock['StoreLocal'] = (buf.readUInt8(pos++) === 1); - newObjAssetBlock['AssetData'] = buf.toString('utf8', pos, length); - pos += length; - this.AssetBlock = newObjAssetBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AtomicPassObject.ts b/lib/classes/packets/AtomicPassObject.ts deleted file mode 100644 index f41de95..0000000 --- a/lib/classes/packets/AtomicPassObject.ts +++ /dev/null @@ -1,49 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AtomicPassObjectPacket implements Packet -{ - name = 'AtomicPassObject'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyHigh; - id = 28; - - TaskData: { - TaskID: UUID; - AttachmentNeedsSave: boolean; - }; - - getSize(): number - { - return 17; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.TaskData['TaskID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.TaskData['AttachmentNeedsSave']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjTaskData: { - TaskID: UUID, - AttachmentNeedsSave: boolean - } = { - TaskID: UUID.zero(), - AttachmentNeedsSave: false - }; - newObjTaskData['TaskID'] = new UUID(buf, pos); - pos += 16; - newObjTaskData['AttachmentNeedsSave'] = (buf.readUInt8(pos++) === 1); - this.TaskData = newObjTaskData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AttachedSound.ts b/lib/classes/packets/AttachedSound.ts deleted file mode 100644 index 1272818..0000000 --- a/lib/classes/packets/AttachedSound.ts +++ /dev/null @@ -1,70 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AttachedSoundPacket implements Packet -{ - name = 'AttachedSound'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyMedium; - id = 65293; - - DataBlock: { - SoundID: UUID; - ObjectID: UUID; - OwnerID: UUID; - Gain: number; - Flags: number; - }; - - getSize(): number - { - return 53; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.DataBlock['SoundID'].writeToBuffer(buf, pos); - pos += 16; - this.DataBlock['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - this.DataBlock['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeFloatLE(this.DataBlock['Gain'], pos); - pos += 4; - buf.writeUInt8(this.DataBlock['Flags'], pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjDataBlock: { - SoundID: UUID, - ObjectID: UUID, - OwnerID: UUID, - Gain: number, - Flags: number - } = { - SoundID: UUID.zero(), - ObjectID: UUID.zero(), - OwnerID: UUID.zero(), - Gain: 0, - Flags: 0 - }; - newObjDataBlock['SoundID'] = new UUID(buf, pos); - pos += 16; - newObjDataBlock['ObjectID'] = new UUID(buf, pos); - pos += 16; - newObjDataBlock['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjDataBlock['Gain'] = buf.readFloatLE(pos); - pos += 4; - newObjDataBlock['Flags'] = buf.readUInt8(pos++); - this.DataBlock = newObjDataBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AttachedSoundGainChange.ts b/lib/classes/packets/AttachedSoundGainChange.ts deleted file mode 100644 index dfd3b05..0000000 --- a/lib/classes/packets/AttachedSoundGainChange.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AttachedSoundGainChangePacket implements Packet -{ - name = 'AttachedSoundGainChange'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyMedium; - id = 65294; - - DataBlock: { - ObjectID: UUID; - Gain: number; - }; - - getSize(): number - { - return 20; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.DataBlock['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeFloatLE(this.DataBlock['Gain'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjDataBlock: { - ObjectID: UUID, - Gain: number - } = { - ObjectID: UUID.zero(), - Gain: 0 - }; - newObjDataBlock['ObjectID'] = new UUID(buf, pos); - pos += 16; - newObjDataBlock['Gain'] = buf.readFloatLE(pos); - pos += 4; - this.DataBlock = newObjDataBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AvatarAnimation.ts b/lib/classes/packets/AvatarAnimation.ts deleted file mode 100644 index a693090..0000000 --- a/lib/classes/packets/AvatarAnimation.ts +++ /dev/null @@ -1,130 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AvatarAnimationPacket implements Packet -{ - name = 'AvatarAnimation'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyHigh; - id = 20; - - Sender: { - ID: UUID; - }; - AnimationList: { - AnimID: UUID; - AnimSequenceID: number; - }[]; - AnimationSourceList: { - ObjectID: UUID; - }[]; - PhysicalAvatarEventList: { - TypeData: string; - }[]; - - getSize(): number - { - return ((20) * this.AnimationList.length) + ((16) * this.AnimationSourceList.length) + ((this.calculateVarVarSize(this.PhysicalAvatarEventList, 'TypeData', 1)) * this.PhysicalAvatarEventList.length) + 19; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.Sender['ID'].writeToBuffer(buf, pos); - pos += 16; - let count = this.AnimationList.length; - buf.writeUInt8(this.AnimationList.length, pos++); - for (let i = 0; i < count; i++) - { - this.AnimationList[i]['AnimID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.AnimationList[i]['AnimSequenceID'], pos); - pos += 4; - } - count = this.AnimationSourceList.length; - buf.writeUInt8(this.AnimationSourceList.length, pos++); - for (let i = 0; i < count; i++) - { - this.AnimationSourceList[i]['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - } - count = this.PhysicalAvatarEventList.length; - buf.writeUInt8(this.PhysicalAvatarEventList.length, pos++); - for (let i = 0; i < count; i++) - { - buf.write(this.PhysicalAvatarEventList[i]['TypeData'], pos); - pos += this.PhysicalAvatarEventList[i]['TypeData'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjSender: { - ID: UUID - } = { - ID: UUID.zero() - }; - newObjSender['ID'] = new UUID(buf, pos); - pos += 16; - this.Sender = newObjSender; - let count = buf.readUInt8(pos++); - this.AnimationList = []; - for (let i = 0; i < count; i++) - { - const newObjAnimationList: { - AnimID: UUID, - AnimSequenceID: number - } = { - AnimID: UUID.zero(), - AnimSequenceID: 0 - }; - newObjAnimationList['AnimID'] = new UUID(buf, pos); - pos += 16; - newObjAnimationList['AnimSequenceID'] = buf.readInt32LE(pos); - pos += 4; - this.AnimationList.push(newObjAnimationList); - } - count = buf.readUInt8(pos++); - this.AnimationSourceList = []; - for (let i = 0; i < count; i++) - { - const newObjAnimationSourceList: { - ObjectID: UUID - } = { - ObjectID: UUID.zero() - }; - newObjAnimationSourceList['ObjectID'] = new UUID(buf, pos); - pos += 16; - this.AnimationSourceList.push(newObjAnimationSourceList); - } - count = buf.readUInt8(pos++); - this.PhysicalAvatarEventList = []; - for (let i = 0; i < count; i++) - { - const newObjPhysicalAvatarEventList: { - TypeData: string - } = { - TypeData: '' - }; - newObjPhysicalAvatarEventList['TypeData'] = buf.toString('utf8', pos, length); - pos += length; - this.PhysicalAvatarEventList.push(newObjPhysicalAvatarEventList); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AvatarAppearance.ts b/lib/classes/packets/AvatarAppearance.ts deleted file mode 100644 index 5c53bd6..0000000 --- a/lib/classes/packets/AvatarAppearance.ts +++ /dev/null @@ -1,142 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AvatarAppearancePacket implements Packet -{ - name = 'AvatarAppearance'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901918; - - Sender: { - ID: UUID; - IsTrial: boolean; - }; - ObjectData: { - TextureEntry: string; - }; - VisualParam: { - ParamValue: number; - }[]; - AppearanceData: { - AppearanceVersion: number; - CofVersion: number; - Flags: number; - }[]; - AppearanceHover: { - HoverHeight: Vector3; - }[]; - - getSize(): number - { - return (this.ObjectData['TextureEntry'].length + 2) + ((1) * this.VisualParam.length) + ((9) * this.AppearanceData.length) + ((12) * this.AppearanceHover.length) + 20; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.Sender['ID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.Sender['IsTrial']) ? 1 : 0, pos++); - buf.write(this.ObjectData['TextureEntry'], pos); - pos += this.ObjectData['TextureEntry'].length; - let count = this.VisualParam.length; - buf.writeUInt8(this.VisualParam.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt8(this.VisualParam[i]['ParamValue'], pos++); - } - count = this.AppearanceData.length; - buf.writeUInt8(this.AppearanceData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt8(this.AppearanceData[i]['AppearanceVersion'], pos++); - buf.writeInt32LE(this.AppearanceData[i]['CofVersion'], pos); - pos += 4; - buf.writeUInt32LE(this.AppearanceData[i]['Flags'], pos); - pos += 4; - } - count = this.AppearanceHover.length; - buf.writeUInt8(this.AppearanceHover.length, pos++); - for (let i = 0; i < count; i++) - { - this.AppearanceHover[i]['HoverHeight'].writeToBuffer(buf, pos, false); - pos += 12; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjSender: { - ID: UUID, - IsTrial: boolean - } = { - ID: UUID.zero(), - IsTrial: false - }; - newObjSender['ID'] = new UUID(buf, pos); - pos += 16; - newObjSender['IsTrial'] = (buf.readUInt8(pos++) === 1); - this.Sender = newObjSender; - const newObjObjectData: { - TextureEntry: string - } = { - TextureEntry: '' - }; - newObjObjectData['TextureEntry'] = buf.toString('utf8', pos, length); - pos += length; - this.ObjectData = newObjObjectData; - let count = buf.readUInt8(pos++); - this.VisualParam = []; - for (let i = 0; i < count; i++) - { - const newObjVisualParam: { - ParamValue: number - } = { - ParamValue: 0 - }; - newObjVisualParam['ParamValue'] = buf.readUInt8(pos++); - this.VisualParam.push(newObjVisualParam); - } - count = buf.readUInt8(pos++); - this.AppearanceData = []; - for (let i = 0; i < count; i++) - { - const newObjAppearanceData: { - AppearanceVersion: number, - CofVersion: number, - Flags: number - } = { - AppearanceVersion: 0, - CofVersion: 0, - Flags: 0 - }; - newObjAppearanceData['AppearanceVersion'] = buf.readUInt8(pos++); - newObjAppearanceData['CofVersion'] = buf.readInt32LE(pos); - pos += 4; - newObjAppearanceData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - this.AppearanceData.push(newObjAppearanceData); - } - count = buf.readUInt8(pos++); - this.AppearanceHover = []; - for (let i = 0; i < count; i++) - { - const newObjAppearanceHover: { - HoverHeight: Vector3 - } = { - HoverHeight: Vector3.getZero() - }; - newObjAppearanceHover['HoverHeight'] = new Vector3(buf, pos, false); - pos += 12; - this.AppearanceHover.push(newObjAppearanceHover); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AvatarClassifiedReply.ts b/lib/classes/packets/AvatarClassifiedReply.ts deleted file mode 100644 index 188f035..0000000 --- a/lib/classes/packets/AvatarClassifiedReply.ts +++ /dev/null @@ -1,91 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AvatarClassifiedReplyPacket implements Packet -{ - name = 'AvatarClassifiedReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901802; - - AgentData: { - AgentID: UUID; - TargetID: UUID; - }; - Data: { - ClassifiedID: UUID; - Name: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.Data, 'Name', 1) + 16) * this.Data.length) + 33; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['TargetID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.Data.length; - buf.writeUInt8(this.Data.length, pos++); - for (let i = 0; i < count; i++) - { - this.Data[i]['ClassifiedID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.Data[i]['Name'], pos); - pos += this.Data[i]['Name'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - TargetID: UUID - } = { - AgentID: UUID.zero(), - TargetID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['TargetID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.Data = []; - for (let i = 0; i < count; i++) - { - const newObjData: { - ClassifiedID: UUID, - Name: string - } = { - ClassifiedID: UUID.zero(), - Name: '' - }; - newObjData['ClassifiedID'] = new UUID(buf, pos); - pos += 16; - newObjData['Name'] = buf.toString('utf8', pos, length); - pos += length; - this.Data.push(newObjData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AvatarGroupsReply.ts b/lib/classes/packets/AvatarGroupsReply.ts deleted file mode 100644 index 51bf6a5..0000000 --- a/lib/classes/packets/AvatarGroupsReply.ts +++ /dev/null @@ -1,131 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AvatarGroupsReplyPacket implements Packet -{ - name = 'AvatarGroupsReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901933; - - AgentData: { - AgentID: UUID; - AvatarID: UUID; - }; - GroupData: { - GroupPowers: Long; - AcceptNotices: boolean; - GroupTitle: string; - GroupID: UUID; - GroupName: string; - GroupInsigniaID: UUID; - }[]; - NewGroupData: { - ListInProfile: boolean; - }; - - getSize(): number - { - return ((this.calculateVarVarSize(this.GroupData, 'GroupTitle', 1) + this.calculateVarVarSize(this.GroupData, 'GroupName', 1) + 41) * this.GroupData.length) + 34; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['AvatarID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.GroupData.length; - buf.writeUInt8(this.GroupData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeInt32LE(this.GroupData[i]['GroupPowers'].low, pos); - pos += 4; - buf.writeInt32LE(this.GroupData[i]['GroupPowers'].high, pos); - pos += 4; - buf.writeUInt8((this.GroupData[i]['AcceptNotices']) ? 1 : 0, pos++); - buf.write(this.GroupData[i]['GroupTitle'], pos); - pos += this.GroupData[i]['GroupTitle'].length; - this.GroupData[i]['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.GroupData[i]['GroupName'], pos); - pos += this.GroupData[i]['GroupName'].length; - this.GroupData[i]['GroupInsigniaID'].writeToBuffer(buf, pos); - pos += 16; - } - buf.writeUInt8((this.NewGroupData['ListInProfile']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - AvatarID: UUID - } = { - AgentID: UUID.zero(), - AvatarID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['AvatarID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.GroupData = []; - for (let i = 0; i < count; i++) - { - const newObjGroupData: { - GroupPowers: Long, - AcceptNotices: boolean, - GroupTitle: string, - GroupID: UUID, - GroupName: string, - GroupInsigniaID: UUID - } = { - GroupPowers: Long.ZERO, - AcceptNotices: false, - GroupTitle: '', - GroupID: UUID.zero(), - GroupName: '', - GroupInsigniaID: UUID.zero() - }; - newObjGroupData['GroupPowers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjGroupData['AcceptNotices'] = (buf.readUInt8(pos++) === 1); - newObjGroupData['GroupTitle'] = buf.toString('utf8', pos, length); - pos += length; - newObjGroupData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjGroupData['GroupName'] = buf.toString('utf8', pos, length); - pos += length; - newObjGroupData['GroupInsigniaID'] = new UUID(buf, pos); - pos += 16; - this.GroupData.push(newObjGroupData); - } - const newObjNewGroupData: { - ListInProfile: boolean - } = { - ListInProfile: false - }; - newObjNewGroupData['ListInProfile'] = (buf.readUInt8(pos++) === 1); - this.NewGroupData = newObjNewGroupData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AvatarInterestsReply.ts b/lib/classes/packets/AvatarInterestsReply.ts deleted file mode 100644 index fcc1609..0000000 --- a/lib/classes/packets/AvatarInterestsReply.ts +++ /dev/null @@ -1,92 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AvatarInterestsReplyPacket implements Packet -{ - name = 'AvatarInterestsReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901932; - - AgentData: { - AgentID: UUID; - AvatarID: UUID; - }; - PropertiesData: { - WantToMask: number; - WantToText: string; - SkillsMask: number; - SkillsText: string; - LanguagesText: string; - }; - - getSize(): number - { - return (this.PropertiesData['WantToText'].length + 1 + this.PropertiesData['SkillsText'].length + 1 + this.PropertiesData['LanguagesText'].length + 1) + 40; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['AvatarID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.PropertiesData['WantToMask'], pos); - pos += 4; - buf.write(this.PropertiesData['WantToText'], pos); - pos += this.PropertiesData['WantToText'].length; - buf.writeUInt32LE(this.PropertiesData['SkillsMask'], pos); - pos += 4; - buf.write(this.PropertiesData['SkillsText'], pos); - pos += this.PropertiesData['SkillsText'].length; - buf.write(this.PropertiesData['LanguagesText'], pos); - pos += this.PropertiesData['LanguagesText'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - AvatarID: UUID - } = { - AgentID: UUID.zero(), - AvatarID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['AvatarID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjPropertiesData: { - WantToMask: number, - WantToText: string, - SkillsMask: number, - SkillsText: string, - LanguagesText: string - } = { - WantToMask: 0, - WantToText: '', - SkillsMask: 0, - SkillsText: '', - LanguagesText: '' - }; - newObjPropertiesData['WantToMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjPropertiesData['WantToText'] = buf.toString('utf8', pos, length); - pos += length; - newObjPropertiesData['SkillsMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjPropertiesData['SkillsText'] = buf.toString('utf8', pos, length); - pos += length; - newObjPropertiesData['LanguagesText'] = buf.toString('utf8', pos, length); - pos += length; - this.PropertiesData = newObjPropertiesData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AvatarInterestsUpdate.ts b/lib/classes/packets/AvatarInterestsUpdate.ts deleted file mode 100644 index 3beed50..0000000 --- a/lib/classes/packets/AvatarInterestsUpdate.ts +++ /dev/null @@ -1,92 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AvatarInterestsUpdatePacket implements Packet -{ - name = 'AvatarInterestsUpdate'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901935; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - PropertiesData: { - WantToMask: number; - WantToText: string; - SkillsMask: number; - SkillsText: string; - LanguagesText: string; - }; - - getSize(): number - { - return (this.PropertiesData['WantToText'].length + 1 + this.PropertiesData['SkillsText'].length + 1 + this.PropertiesData['LanguagesText'].length + 1) + 40; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.PropertiesData['WantToMask'], pos); - pos += 4; - buf.write(this.PropertiesData['WantToText'], pos); - pos += this.PropertiesData['WantToText'].length; - buf.writeUInt32LE(this.PropertiesData['SkillsMask'], pos); - pos += 4; - buf.write(this.PropertiesData['SkillsText'], pos); - pos += this.PropertiesData['SkillsText'].length; - buf.write(this.PropertiesData['LanguagesText'], pos); - pos += this.PropertiesData['LanguagesText'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjPropertiesData: { - WantToMask: number, - WantToText: string, - SkillsMask: number, - SkillsText: string, - LanguagesText: string - } = { - WantToMask: 0, - WantToText: '', - SkillsMask: 0, - SkillsText: '', - LanguagesText: '' - }; - newObjPropertiesData['WantToMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjPropertiesData['WantToText'] = buf.toString('utf8', pos, length); - pos += length; - newObjPropertiesData['SkillsMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjPropertiesData['SkillsText'] = buf.toString('utf8', pos, length); - pos += length; - newObjPropertiesData['LanguagesText'] = buf.toString('utf8', pos, length); - pos += length; - this.PropertiesData = newObjPropertiesData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AvatarNotesReply.ts b/lib/classes/packets/AvatarNotesReply.ts deleted file mode 100644 index a5c726f..0000000 --- a/lib/classes/packets/AvatarNotesReply.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AvatarNotesReplyPacket implements Packet -{ - name = 'AvatarNotesReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901936; - - AgentData: { - AgentID: UUID; - }; - Data: { - TargetID: UUID; - Notes: string; - }; - - getSize(): number - { - return (this.Data['Notes'].length + 2) + 32; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['TargetID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.Data['Notes'], pos); - pos += this.Data['Notes'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - TargetID: UUID, - Notes: string - } = { - TargetID: UUID.zero(), - Notes: '' - }; - newObjData['TargetID'] = new UUID(buf, pos); - pos += 16; - newObjData['Notes'] = buf.toString('utf8', pos, length); - pos += length; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AvatarNotesUpdate.ts b/lib/classes/packets/AvatarNotesUpdate.ts deleted file mode 100644 index 9ea79b8..0000000 --- a/lib/classes/packets/AvatarNotesUpdate.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AvatarNotesUpdatePacket implements Packet -{ - name = 'AvatarNotesUpdate'; - flags = MessageFlags.FrequencyLow; - id = 4294901937; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - TargetID: UUID; - Notes: string; - }; - - getSize(): number - { - return (this.Data['Notes'].length + 2) + 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['TargetID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.Data['Notes'], pos); - pos += this.Data['Notes'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - TargetID: UUID, - Notes: string - } = { - TargetID: UUID.zero(), - Notes: '' - }; - newObjData['TargetID'] = new UUID(buf, pos); - pos += 16; - newObjData['Notes'] = buf.toString('utf8', pos, length); - pos += length; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AvatarPickerReply.ts b/lib/classes/packets/AvatarPickerReply.ts deleted file mode 100644 index 2436cbb..0000000 --- a/lib/classes/packets/AvatarPickerReply.ts +++ /dev/null @@ -1,98 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AvatarPickerReplyPacket implements Packet -{ - name = 'AvatarPickerReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901788; - - AgentData: { - AgentID: UUID; - QueryID: UUID; - }; - Data: { - AvatarID: UUID; - FirstName: string; - LastName: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.Data, 'FirstName', 1) + this.calculateVarVarSize(this.Data, 'LastName', 1) + 16) * this.Data.length) + 33; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['QueryID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.Data.length; - buf.writeUInt8(this.Data.length, pos++); - for (let i = 0; i < count; i++) - { - this.Data[i]['AvatarID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.Data[i]['FirstName'], pos); - pos += this.Data[i]['FirstName'].length; - buf.write(this.Data[i]['LastName'], pos); - pos += this.Data[i]['LastName'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - QueryID: UUID - } = { - AgentID: UUID.zero(), - QueryID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['QueryID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.Data = []; - for (let i = 0; i < count; i++) - { - const newObjData: { - AvatarID: UUID, - FirstName: string, - LastName: string - } = { - AvatarID: UUID.zero(), - FirstName: '', - LastName: '' - }; - newObjData['AvatarID'] = new UUID(buf, pos); - pos += 16; - newObjData['FirstName'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['LastName'] = buf.toString('utf8', pos, length); - pos += length; - this.Data.push(newObjData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AvatarPickerRequest.ts b/lib/classes/packets/AvatarPickerRequest.ts deleted file mode 100644 index 566e11d..0000000 --- a/lib/classes/packets/AvatarPickerRequest.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AvatarPickerRequestPacket implements Packet -{ - name = 'AvatarPickerRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294901786; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - QueryID: UUID; - }; - Data: { - Name: string; - }; - - getSize(): number - { - return (this.Data['Name'].length + 1) + 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['QueryID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.Data['Name'], pos); - pos += this.Data['Name'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - QueryID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - QueryID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['QueryID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - Name: string - } = { - Name: '' - }; - newObjData['Name'] = buf.toString('utf8', pos, length); - pos += length; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AvatarPickerRequestBackend.ts b/lib/classes/packets/AvatarPickerRequestBackend.ts deleted file mode 100644 index 82703b8..0000000 --- a/lib/classes/packets/AvatarPickerRequestBackend.ts +++ /dev/null @@ -1,76 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AvatarPickerRequestBackendPacket implements Packet -{ - name = 'AvatarPickerRequestBackend'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901787; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - QueryID: UUID; - GodLevel: number; - }; - Data: { - Name: string; - }; - - getSize(): number - { - return (this.Data['Name'].length + 1) + 49; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['QueryID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.AgentData['GodLevel'], pos++); - buf.write(this.Data['Name'], pos); - pos += this.Data['Name'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - QueryID: UUID, - GodLevel: number - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - QueryID: UUID.zero(), - GodLevel: 0 - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['QueryID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GodLevel'] = buf.readUInt8(pos++); - this.AgentData = newObjAgentData; - const newObjData: { - Name: string - } = { - Name: '' - }; - newObjData['Name'] = buf.toString('utf8', pos, length); - pos += length; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AvatarPicksReply.ts b/lib/classes/packets/AvatarPicksReply.ts deleted file mode 100644 index 956755d..0000000 --- a/lib/classes/packets/AvatarPicksReply.ts +++ /dev/null @@ -1,91 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AvatarPicksReplyPacket implements Packet -{ - name = 'AvatarPicksReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901938; - - AgentData: { - AgentID: UUID; - TargetID: UUID; - }; - Data: { - PickID: UUID; - PickName: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.Data, 'PickName', 1) + 16) * this.Data.length) + 33; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['TargetID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.Data.length; - buf.writeUInt8(this.Data.length, pos++); - for (let i = 0; i < count; i++) - { - this.Data[i]['PickID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.Data[i]['PickName'], pos); - pos += this.Data[i]['PickName'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - TargetID: UUID - } = { - AgentID: UUID.zero(), - TargetID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['TargetID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.Data = []; - for (let i = 0; i < count; i++) - { - const newObjData: { - PickID: UUID, - PickName: string - } = { - PickID: UUID.zero(), - PickName: '' - }; - newObjData['PickID'] = new UUID(buf, pos); - pos += 16; - newObjData['PickName'] = buf.toString('utf8', pos, length); - pos += length; - this.Data.push(newObjData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AvatarPropertiesReply.ts b/lib/classes/packets/AvatarPropertiesReply.ts deleted file mode 100644 index 2faf819..0000000 --- a/lib/classes/packets/AvatarPropertiesReply.ts +++ /dev/null @@ -1,120 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AvatarPropertiesReplyPacket implements Packet -{ - name = 'AvatarPropertiesReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901931; - - AgentData: { - AgentID: UUID; - AvatarID: UUID; - }; - PropertiesData: { - ImageID: UUID; - FLImageID: UUID; - PartnerID: UUID; - AboutText: string; - FLAboutText: string; - BornOn: string; - ProfileURL: string; - CharterMember: string; - Flags: number; - }; - - getSize(): number - { - return (this.PropertiesData['AboutText'].length + 2 + this.PropertiesData['FLAboutText'].length + 1 + this.PropertiesData['BornOn'].length + 1 + this.PropertiesData['ProfileURL'].length + 1 + this.PropertiesData['CharterMember'].length + 1) + 84; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['AvatarID'].writeToBuffer(buf, pos); - pos += 16; - this.PropertiesData['ImageID'].writeToBuffer(buf, pos); - pos += 16; - this.PropertiesData['FLImageID'].writeToBuffer(buf, pos); - pos += 16; - this.PropertiesData['PartnerID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.PropertiesData['AboutText'], pos); - pos += this.PropertiesData['AboutText'].length; - buf.write(this.PropertiesData['FLAboutText'], pos); - pos += this.PropertiesData['FLAboutText'].length; - buf.write(this.PropertiesData['BornOn'], pos); - pos += this.PropertiesData['BornOn'].length; - buf.write(this.PropertiesData['ProfileURL'], pos); - pos += this.PropertiesData['ProfileURL'].length; - buf.write(this.PropertiesData['CharterMember'], pos); - pos += this.PropertiesData['CharterMember'].length; - buf.writeUInt32LE(this.PropertiesData['Flags'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - AvatarID: UUID - } = { - AgentID: UUID.zero(), - AvatarID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['AvatarID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjPropertiesData: { - ImageID: UUID, - FLImageID: UUID, - PartnerID: UUID, - AboutText: string, - FLAboutText: string, - BornOn: string, - ProfileURL: string, - CharterMember: string, - Flags: number - } = { - ImageID: UUID.zero(), - FLImageID: UUID.zero(), - PartnerID: UUID.zero(), - AboutText: '', - FLAboutText: '', - BornOn: '', - ProfileURL: '', - CharterMember: '', - Flags: 0 - }; - newObjPropertiesData['ImageID'] = new UUID(buf, pos); - pos += 16; - newObjPropertiesData['FLImageID'] = new UUID(buf, pos); - pos += 16; - newObjPropertiesData['PartnerID'] = new UUID(buf, pos); - pos += 16; - newObjPropertiesData['AboutText'] = buf.toString('utf8', pos, length); - pos += length; - newObjPropertiesData['FLAboutText'] = buf.toString('utf8', pos, length); - pos += length; - newObjPropertiesData['BornOn'] = buf.toString('utf8', pos, length); - pos += length; - newObjPropertiesData['ProfileURL'] = buf.toString('utf8', pos, length); - pos += length; - newObjPropertiesData['CharterMember'] = buf.toString('utf8', pos, length); - pos += length; - newObjPropertiesData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - this.PropertiesData = newObjPropertiesData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AvatarPropertiesRequest.ts b/lib/classes/packets/AvatarPropertiesRequest.ts deleted file mode 100644 index 656f9ea..0000000 --- a/lib/classes/packets/AvatarPropertiesRequest.ts +++ /dev/null @@ -1,58 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AvatarPropertiesRequestPacket implements Packet -{ - name = 'AvatarPropertiesRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294901929; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - AvatarID: UUID; - }; - - getSize(): number - { - return 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['AvatarID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - AvatarID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - AvatarID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['AvatarID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AvatarPropertiesRequestBackend.ts b/lib/classes/packets/AvatarPropertiesRequestBackend.ts deleted file mode 100644 index a68d3b7..0000000 --- a/lib/classes/packets/AvatarPropertiesRequestBackend.ts +++ /dev/null @@ -1,61 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AvatarPropertiesRequestBackendPacket implements Packet -{ - name = 'AvatarPropertiesRequestBackend'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901930; - - AgentData: { - AgentID: UUID; - AvatarID: UUID; - GodLevel: number; - WebProfilesDisabled: boolean; - }; - - getSize(): number - { - return 34; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['AvatarID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.AgentData['GodLevel'], pos++); - buf.writeUInt8((this.AgentData['WebProfilesDisabled']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - AvatarID: UUID, - GodLevel: number, - WebProfilesDisabled: boolean - } = { - AgentID: UUID.zero(), - AvatarID: UUID.zero(), - GodLevel: 0, - WebProfilesDisabled: false - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['AvatarID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GodLevel'] = buf.readUInt8(pos++); - newObjAgentData['WebProfilesDisabled'] = (buf.readUInt8(pos++) === 1); - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AvatarPropertiesUpdate.ts b/lib/classes/packets/AvatarPropertiesUpdate.ts deleted file mode 100644 index 5406d22..0000000 --- a/lib/classes/packets/AvatarPropertiesUpdate.ts +++ /dev/null @@ -1,102 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AvatarPropertiesUpdatePacket implements Packet -{ - name = 'AvatarPropertiesUpdate'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901934; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - PropertiesData: { - ImageID: UUID; - FLImageID: UUID; - AboutText: string; - FLAboutText: string; - AllowPublish: boolean; - MaturePublish: boolean; - ProfileURL: string; - }; - - getSize(): number - { - return (this.PropertiesData['AboutText'].length + 2 + this.PropertiesData['FLAboutText'].length + 1 + this.PropertiesData['ProfileURL'].length + 1) + 66; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.PropertiesData['ImageID'].writeToBuffer(buf, pos); - pos += 16; - this.PropertiesData['FLImageID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.PropertiesData['AboutText'], pos); - pos += this.PropertiesData['AboutText'].length; - buf.write(this.PropertiesData['FLAboutText'], pos); - pos += this.PropertiesData['FLAboutText'].length; - buf.writeUInt8((this.PropertiesData['AllowPublish']) ? 1 : 0, pos++); - buf.writeUInt8((this.PropertiesData['MaturePublish']) ? 1 : 0, pos++); - buf.write(this.PropertiesData['ProfileURL'], pos); - pos += this.PropertiesData['ProfileURL'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjPropertiesData: { - ImageID: UUID, - FLImageID: UUID, - AboutText: string, - FLAboutText: string, - AllowPublish: boolean, - MaturePublish: boolean, - ProfileURL: string - } = { - ImageID: UUID.zero(), - FLImageID: UUID.zero(), - AboutText: '', - FLAboutText: '', - AllowPublish: false, - MaturePublish: false, - ProfileURL: '' - }; - newObjPropertiesData['ImageID'] = new UUID(buf, pos); - pos += 16; - newObjPropertiesData['FLImageID'] = new UUID(buf, pos); - pos += 16; - newObjPropertiesData['AboutText'] = buf.toString('utf8', pos, length); - pos += length; - newObjPropertiesData['FLAboutText'] = buf.toString('utf8', pos, length); - pos += length; - newObjPropertiesData['AllowPublish'] = (buf.readUInt8(pos++) === 1); - newObjPropertiesData['MaturePublish'] = (buf.readUInt8(pos++) === 1); - newObjPropertiesData['ProfileURL'] = buf.toString('utf8', pos, length); - pos += length; - this.PropertiesData = newObjPropertiesData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AvatarSitResponse.ts b/lib/classes/packets/AvatarSitResponse.ts deleted file mode 100644 index 46e2d33..0000000 --- a/lib/classes/packets/AvatarSitResponse.ts +++ /dev/null @@ -1,90 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {Quaternion} from '../Quaternion'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AvatarSitResponsePacket implements Packet -{ - name = 'AvatarSitResponse'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyHigh; - id = 21; - - SitObject: { - ID: UUID; - }; - SitTransform: { - AutoPilot: boolean; - SitPosition: Vector3; - SitRotation: Quaternion; - CameraEyeOffset: Vector3; - CameraAtOffset: Vector3; - ForceMouselook: boolean; - }; - - getSize(): number - { - return 66; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.SitObject['ID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.SitTransform['AutoPilot']) ? 1 : 0, pos++); - this.SitTransform['SitPosition'].writeToBuffer(buf, pos, false); - pos += 12; - this.SitTransform['SitRotation'].writeToBuffer(buf, pos); - pos += 12; - this.SitTransform['CameraEyeOffset'].writeToBuffer(buf, pos, false); - pos += 12; - this.SitTransform['CameraAtOffset'].writeToBuffer(buf, pos, false); - pos += 12; - buf.writeUInt8((this.SitTransform['ForceMouselook']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjSitObject: { - ID: UUID - } = { - ID: UUID.zero() - }; - newObjSitObject['ID'] = new UUID(buf, pos); - pos += 16; - this.SitObject = newObjSitObject; - const newObjSitTransform: { - AutoPilot: boolean, - SitPosition: Vector3, - SitRotation: Quaternion, - CameraEyeOffset: Vector3, - CameraAtOffset: Vector3, - ForceMouselook: boolean - } = { - AutoPilot: false, - SitPosition: Vector3.getZero(), - SitRotation: Quaternion.getIdentity(), - CameraEyeOffset: Vector3.getZero(), - CameraAtOffset: Vector3.getZero(), - ForceMouselook: false - }; - newObjSitTransform['AutoPilot'] = (buf.readUInt8(pos++) === 1); - newObjSitTransform['SitPosition'] = new Vector3(buf, pos, false); - pos += 12; - newObjSitTransform['SitRotation'] = new Quaternion(buf, pos); - pos += 12; - newObjSitTransform['CameraEyeOffset'] = new Vector3(buf, pos, false); - pos += 12; - newObjSitTransform['CameraAtOffset'] = new Vector3(buf, pos, false); - pos += 12; - newObjSitTransform['ForceMouselook'] = (buf.readUInt8(pos++) === 1); - this.SitTransform = newObjSitTransform; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/AvatarTextureUpdate.ts b/lib/classes/packets/AvatarTextureUpdate.ts deleted file mode 100644 index 982873d..0000000 --- a/lib/classes/packets/AvatarTextureUpdate.ts +++ /dev/null @@ -1,117 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class AvatarTextureUpdatePacket implements Packet -{ - name = 'AvatarTextureUpdate'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901764; - - AgentData: { - AgentID: UUID; - TexturesChanged: boolean; - }; - WearableData: { - CacheID: UUID; - TextureIndex: number; - HostName: string; - }[]; - TextureData: { - TextureID: UUID; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.WearableData, 'HostName', 1) + 17) * this.WearableData.length) + ((16) * this.TextureData.length) + 19; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.AgentData['TexturesChanged']) ? 1 : 0, pos++); - let count = this.WearableData.length; - buf.writeUInt8(this.WearableData.length, pos++); - for (let i = 0; i < count; i++) - { - this.WearableData[i]['CacheID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.WearableData[i]['TextureIndex'], pos++); - buf.write(this.WearableData[i]['HostName'], pos); - pos += this.WearableData[i]['HostName'].length; - } - count = this.TextureData.length; - buf.writeUInt8(this.TextureData.length, pos++); - for (let i = 0; i < count; i++) - { - this.TextureData[i]['TextureID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - TexturesChanged: boolean - } = { - AgentID: UUID.zero(), - TexturesChanged: false - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['TexturesChanged'] = (buf.readUInt8(pos++) === 1); - this.AgentData = newObjAgentData; - let count = buf.readUInt8(pos++); - this.WearableData = []; - for (let i = 0; i < count; i++) - { - const newObjWearableData: { - CacheID: UUID, - TextureIndex: number, - HostName: string - } = { - CacheID: UUID.zero(), - TextureIndex: 0, - HostName: '' - }; - newObjWearableData['CacheID'] = new UUID(buf, pos); - pos += 16; - newObjWearableData['TextureIndex'] = buf.readUInt8(pos++); - newObjWearableData['HostName'] = buf.toString('utf8', pos, length); - pos += length; - this.WearableData.push(newObjWearableData); - } - count = buf.readUInt8(pos++); - this.TextureData = []; - for (let i = 0; i < count; i++) - { - const newObjTextureData: { - TextureID: UUID - } = { - TextureID: UUID.zero() - }; - newObjTextureData['TextureID'] = new UUID(buf, pos); - pos += 16; - this.TextureData.push(newObjTextureData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/BulkUpdateInventory.ts b/lib/classes/packets/BulkUpdateInventory.ts deleted file mode 100644 index eee0031..0000000 --- a/lib/classes/packets/BulkUpdateInventory.ts +++ /dev/null @@ -1,265 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class BulkUpdateInventoryPacket implements Packet -{ - name = 'BulkUpdateInventory'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902041; - - AgentData: { - AgentID: UUID; - TransactionID: UUID; - }; - FolderData: { - FolderID: UUID; - ParentID: UUID; - Type: number; - Name: string; - }[]; - ItemData: { - ItemID: UUID; - CallbackID: number; - FolderID: UUID; - CreatorID: UUID; - OwnerID: UUID; - GroupID: UUID; - BaseMask: number; - OwnerMask: number; - GroupMask: number; - EveryoneMask: number; - NextOwnerMask: number; - GroupOwned: boolean; - AssetID: UUID; - Type: number; - InvType: number; - Flags: number; - SaleType: number; - SalePrice: number; - Name: string; - Description: string; - CreationDate: number; - CRC: number; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.FolderData, 'Name', 1) + 33) * this.FolderData.length) + ((this.calculateVarVarSize(this.ItemData, 'Name', 1) + this.calculateVarVarSize(this.ItemData, 'Description', 1) + 140) * this.ItemData.length) + 34; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - let count = this.FolderData.length; - buf.writeUInt8(this.FolderData.length, pos++); - for (let i = 0; i < count; i++) - { - this.FolderData[i]['FolderID'].writeToBuffer(buf, pos); - pos += 16; - this.FolderData[i]['ParentID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt8(this.FolderData[i]['Type'], pos++); - buf.write(this.FolderData[i]['Name'], pos); - pos += this.FolderData[i]['Name'].length; - } - count = this.ItemData.length; - buf.writeUInt8(this.ItemData.length, pos++); - for (let i = 0; i < count; i++) - { - this.ItemData[i]['ItemID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.ItemData[i]['CallbackID'], pos); - pos += 4; - this.ItemData[i]['FolderID'].writeToBuffer(buf, pos); - pos += 16; - this.ItemData[i]['CreatorID'].writeToBuffer(buf, pos); - pos += 16; - this.ItemData[i]['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - this.ItemData[i]['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.ItemData[i]['BaseMask'], pos); - pos += 4; - buf.writeUInt32LE(this.ItemData[i]['OwnerMask'], pos); - pos += 4; - buf.writeUInt32LE(this.ItemData[i]['GroupMask'], pos); - pos += 4; - buf.writeUInt32LE(this.ItemData[i]['EveryoneMask'], pos); - pos += 4; - buf.writeUInt32LE(this.ItemData[i]['NextOwnerMask'], pos); - pos += 4; - buf.writeUInt8((this.ItemData[i]['GroupOwned']) ? 1 : 0, pos++); - this.ItemData[i]['AssetID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt8(this.ItemData[i]['Type'], pos++); - buf.writeInt8(this.ItemData[i]['InvType'], pos++); - buf.writeUInt32LE(this.ItemData[i]['Flags'], pos); - pos += 4; - buf.writeUInt8(this.ItemData[i]['SaleType'], pos++); - buf.writeInt32LE(this.ItemData[i]['SalePrice'], pos); - pos += 4; - buf.write(this.ItemData[i]['Name'], pos); - pos += this.ItemData[i]['Name'].length; - buf.write(this.ItemData[i]['Description'], pos); - pos += this.ItemData[i]['Description'].length; - buf.writeInt32LE(this.ItemData[i]['CreationDate'], pos); - pos += 4; - buf.writeUInt32LE(this.ItemData[i]['CRC'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - TransactionID: UUID - } = { - AgentID: UUID.zero(), - TransactionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['TransactionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - let count = buf.readUInt8(pos++); - this.FolderData = []; - for (let i = 0; i < count; i++) - { - const newObjFolderData: { - FolderID: UUID, - ParentID: UUID, - Type: number, - Name: string - } = { - FolderID: UUID.zero(), - ParentID: UUID.zero(), - Type: 0, - Name: '' - }; - newObjFolderData['FolderID'] = new UUID(buf, pos); - pos += 16; - newObjFolderData['ParentID'] = new UUID(buf, pos); - pos += 16; - newObjFolderData['Type'] = buf.readInt8(pos++); - newObjFolderData['Name'] = buf.toString('utf8', pos, length); - pos += length; - this.FolderData.push(newObjFolderData); - } - count = buf.readUInt8(pos++); - this.ItemData = []; - for (let i = 0; i < count; i++) - { - const newObjItemData: { - ItemID: UUID, - CallbackID: number, - FolderID: UUID, - CreatorID: UUID, - OwnerID: UUID, - GroupID: UUID, - BaseMask: number, - OwnerMask: number, - GroupMask: number, - EveryoneMask: number, - NextOwnerMask: number, - GroupOwned: boolean, - AssetID: UUID, - Type: number, - InvType: number, - Flags: number, - SaleType: number, - SalePrice: number, - Name: string, - Description: string, - CreationDate: number, - CRC: number - } = { - ItemID: UUID.zero(), - CallbackID: 0, - FolderID: UUID.zero(), - CreatorID: UUID.zero(), - OwnerID: UUID.zero(), - GroupID: UUID.zero(), - BaseMask: 0, - OwnerMask: 0, - GroupMask: 0, - EveryoneMask: 0, - NextOwnerMask: 0, - GroupOwned: false, - AssetID: UUID.zero(), - Type: 0, - InvType: 0, - Flags: 0, - SaleType: 0, - SalePrice: 0, - Name: '', - Description: '', - CreationDate: 0, - CRC: 0 - }; - newObjItemData['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjItemData['CallbackID'] = buf.readUInt32LE(pos); - pos += 4; - newObjItemData['FolderID'] = new UUID(buf, pos); - pos += 16; - newObjItemData['CreatorID'] = new UUID(buf, pos); - pos += 16; - newObjItemData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjItemData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjItemData['BaseMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjItemData['OwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjItemData['GroupMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjItemData['EveryoneMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjItemData['NextOwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjItemData['GroupOwned'] = (buf.readUInt8(pos++) === 1); - newObjItemData['AssetID'] = new UUID(buf, pos); - pos += 16; - newObjItemData['Type'] = buf.readInt8(pos++); - newObjItemData['InvType'] = buf.readInt8(pos++); - newObjItemData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - newObjItemData['SaleType'] = buf.readUInt8(pos++); - newObjItemData['SalePrice'] = buf.readInt32LE(pos); - pos += 4; - newObjItemData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjItemData['Description'] = buf.toString('utf8', pos, length); - pos += length; - newObjItemData['CreationDate'] = buf.readInt32LE(pos); - pos += 4; - newObjItemData['CRC'] = buf.readUInt32LE(pos); - pos += 4; - this.ItemData.push(newObjItemData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/BuyObjectInventory.ts b/lib/classes/packets/BuyObjectInventory.ts deleted file mode 100644 index 42dfeac..0000000 --- a/lib/classes/packets/BuyObjectInventory.ts +++ /dev/null @@ -1,78 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class BuyObjectInventoryPacket implements Packet -{ - name = 'BuyObjectInventory'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901863; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - ObjectID: UUID; - ItemID: UUID; - FolderID: UUID; - }; - - getSize(): number - { - return 80; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['ItemID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['FolderID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - ObjectID: UUID, - ItemID: UUID, - FolderID: UUID - } = { - ObjectID: UUID.zero(), - ItemID: UUID.zero(), - FolderID: UUID.zero() - }; - newObjData['ObjectID'] = new UUID(buf, pos); - pos += 16; - newObjData['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjData['FolderID'] = new UUID(buf, pos); - pos += 16; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/CameraConstraint.ts b/lib/classes/packets/CameraConstraint.ts deleted file mode 100644 index 5dc88d8..0000000 --- a/lib/classes/packets/CameraConstraint.ts +++ /dev/null @@ -1,44 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {Vector4} from '../Vector4'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class CameraConstraintPacket implements Packet -{ - name = 'CameraConstraint'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyHigh; - id = 22; - - CameraCollidePlane: { - Plane: Vector4; - }; - - getSize(): number - { - return 16; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.CameraCollidePlane['Plane'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjCameraCollidePlane: { - Plane: Vector4 - } = { - Plane: Vector4.getZero() - }; - newObjCameraCollidePlane['Plane'] = new Vector4(buf, pos); - pos += 16; - this.CameraCollidePlane = newObjCameraCollidePlane; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/CancelAuction.ts b/lib/classes/packets/CancelAuction.ts deleted file mode 100644 index ae62ab4..0000000 --- a/lib/classes/packets/CancelAuction.ts +++ /dev/null @@ -1,54 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class CancelAuctionPacket implements Packet -{ - name = 'CancelAuction'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901992; - - ParcelData: { - ParcelID: UUID; - }[]; - - getSize(): number - { - return ((16) * this.ParcelData.length) + 1; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.ParcelData.length; - buf.writeUInt8(this.ParcelData.length, pos++); - for (let i = 0; i < count; i++) - { - this.ParcelData[i]['ParcelID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.ParcelData = []; - for (let i = 0; i < count; i++) - { - const newObjParcelData: { - ParcelID: UUID - } = { - ParcelID: UUID.zero() - }; - newObjParcelData['ParcelID'] = new UUID(buf, pos); - pos += 16; - this.ParcelData.push(newObjParcelData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ChangeInventoryItemFlags.ts b/lib/classes/packets/ChangeInventoryItemFlags.ts deleted file mode 100644 index 2edf877..0000000 --- a/lib/classes/packets/ChangeInventoryItemFlags.ts +++ /dev/null @@ -1,81 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ChangeInventoryItemFlagsPacket implements Packet -{ - name = 'ChangeInventoryItemFlags'; - flags = MessageFlags.FrequencyLow; - id = 4294902031; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - InventoryData: { - ItemID: UUID; - Flags: number; - }[]; - - getSize(): number - { - return ((20) * this.InventoryData.length) + 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.InventoryData.length; - buf.writeUInt8(this.InventoryData.length, pos++); - for (let i = 0; i < count; i++) - { - this.InventoryData[i]['ItemID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.InventoryData[i]['Flags'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.InventoryData = []; - for (let i = 0; i < count; i++) - { - const newObjInventoryData: { - ItemID: UUID, - Flags: number - } = { - ItemID: UUID.zero(), - Flags: 0 - }; - newObjInventoryData['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - this.InventoryData.push(newObjInventoryData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ChangeUserRights.ts b/lib/classes/packets/ChangeUserRights.ts deleted file mode 100644 index 6f6fd55..0000000 --- a/lib/classes/packets/ChangeUserRights.ts +++ /dev/null @@ -1,74 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ChangeUserRightsPacket implements Packet -{ - name = 'ChangeUserRights'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902081; - - AgentData: { - AgentID: UUID; - }; - Rights: { - AgentRelated: UUID; - RelatedRights: number; - }[]; - - getSize(): number - { - return ((20) * this.Rights.length) + 17; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.Rights.length; - buf.writeUInt8(this.Rights.length, pos++); - for (let i = 0; i < count; i++) - { - this.Rights[i]['AgentRelated'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.Rights[i]['RelatedRights'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.Rights = []; - for (let i = 0; i < count; i++) - { - const newObjRights: { - AgentRelated: UUID, - RelatedRights: number - } = { - AgentRelated: UUID.zero(), - RelatedRights: 0 - }; - newObjRights['AgentRelated'] = new UUID(buf, pos); - pos += 16; - newObjRights['RelatedRights'] = buf.readInt32LE(pos); - pos += 4; - this.Rights.push(newObjRights); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ChatFromSimulator.ts b/lib/classes/packets/ChatFromSimulator.ts deleted file mode 100644 index 0bca31d..0000000 --- a/lib/classes/packets/ChatFromSimulator.ts +++ /dev/null @@ -1,88 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ChatFromSimulatorPacket implements Packet -{ - name = 'ChatFromSimulator'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901899; - - ChatData: { - FromName: string; - SourceID: UUID; - OwnerID: UUID; - SourceType: number; - ChatType: number; - Audible: number; - Position: Vector3; - Message: string; - }; - - getSize(): number - { - return (this.ChatData['FromName'].length + 1 + this.ChatData['Message'].length + 2) + 47; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.write(this.ChatData['FromName'], pos); - pos += this.ChatData['FromName'].length; - this.ChatData['SourceID'].writeToBuffer(buf, pos); - pos += 16; - this.ChatData['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.ChatData['SourceType'], pos++); - buf.writeUInt8(this.ChatData['ChatType'], pos++); - buf.writeUInt8(this.ChatData['Audible'], pos++); - this.ChatData['Position'].writeToBuffer(buf, pos, false); - pos += 12; - buf.write(this.ChatData['Message'], pos); - pos += this.ChatData['Message'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjChatData: { - FromName: string, - SourceID: UUID, - OwnerID: UUID, - SourceType: number, - ChatType: number, - Audible: number, - Position: Vector3, - Message: string - } = { - FromName: '', - SourceID: UUID.zero(), - OwnerID: UUID.zero(), - SourceType: 0, - ChatType: 0, - Audible: 0, - Position: Vector3.getZero(), - Message: '' - }; - newObjChatData['FromName'] = buf.toString('utf8', pos, length); - pos += length; - newObjChatData['SourceID'] = new UUID(buf, pos); - pos += 16; - newObjChatData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjChatData['SourceType'] = buf.readUInt8(pos++); - newObjChatData['ChatType'] = buf.readUInt8(pos++); - newObjChatData['Audible'] = buf.readUInt8(pos++); - newObjChatData['Position'] = new Vector3(buf, pos, false); - pos += 12; - newObjChatData['Message'] = buf.toString('utf8', pos, length); - pos += length; - this.ChatData = newObjChatData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ChatFromViewer.ts b/lib/classes/packets/ChatFromViewer.ts deleted file mode 100644 index 1232e5c..0000000 --- a/lib/classes/packets/ChatFromViewer.ts +++ /dev/null @@ -1,76 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ChatFromViewerPacket implements Packet -{ - name = 'ChatFromViewer'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901840; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ChatData: { - Message: string; - Type: number; - Channel: number; - }; - - getSize(): number - { - return (this.ChatData['Message'].length + 2) + 37; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.ChatData['Message'], pos); - pos += this.ChatData['Message'].length; - buf.writeUInt8(this.ChatData['Type'], pos++); - buf.writeInt32LE(this.ChatData['Channel'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjChatData: { - Message: string, - Type: number, - Channel: number - } = { - Message: '', - Type: 0, - Channel: 0 - }; - newObjChatData['Message'] = buf.toString('utf8', pos, length); - pos += length; - newObjChatData['Type'] = buf.readUInt8(pos++); - newObjChatData['Channel'] = buf.readInt32LE(pos); - pos += 4; - this.ChatData = newObjChatData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ChatPass.ts b/lib/classes/packets/ChatPass.ts deleted file mode 100644 index f139f5f..0000000 --- a/lib/classes/packets/ChatPass.ts +++ /dev/null @@ -1,102 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ChatPassPacket implements Packet -{ - name = 'ChatPass'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901999; - - ChatData: { - Channel: number; - Position: Vector3; - ID: UUID; - OwnerID: UUID; - Name: string; - SourceType: number; - Type: number; - Radius: number; - SimAccess: number; - Message: string; - }; - - getSize(): number - { - return (this.ChatData['Name'].length + 1 + this.ChatData['Message'].length + 2) + 55; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeInt32LE(this.ChatData['Channel'], pos); - pos += 4; - this.ChatData['Position'].writeToBuffer(buf, pos, false); - pos += 12; - this.ChatData['ID'].writeToBuffer(buf, pos); - pos += 16; - this.ChatData['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.ChatData['Name'], pos); - pos += this.ChatData['Name'].length; - buf.writeUInt8(this.ChatData['SourceType'], pos++); - buf.writeUInt8(this.ChatData['Type'], pos++); - buf.writeFloatLE(this.ChatData['Radius'], pos); - pos += 4; - buf.writeUInt8(this.ChatData['SimAccess'], pos++); - buf.write(this.ChatData['Message'], pos); - pos += this.ChatData['Message'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjChatData: { - Channel: number, - Position: Vector3, - ID: UUID, - OwnerID: UUID, - Name: string, - SourceType: number, - Type: number, - Radius: number, - SimAccess: number, - Message: string - } = { - Channel: 0, - Position: Vector3.getZero(), - ID: UUID.zero(), - OwnerID: UUID.zero(), - Name: '', - SourceType: 0, - Type: 0, - Radius: 0, - SimAccess: 0, - Message: '' - }; - newObjChatData['Channel'] = buf.readInt32LE(pos); - pos += 4; - newObjChatData['Position'] = new Vector3(buf, pos, false); - pos += 12; - newObjChatData['ID'] = new UUID(buf, pos); - pos += 16; - newObjChatData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjChatData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjChatData['SourceType'] = buf.readUInt8(pos++); - newObjChatData['Type'] = buf.readUInt8(pos++); - newObjChatData['Radius'] = buf.readFloatLE(pos); - pos += 4; - newObjChatData['SimAccess'] = buf.readUInt8(pos++); - newObjChatData['Message'] = buf.toString('utf8', pos, length); - pos += length; - this.ChatData = newObjChatData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/CheckParcelAuctions.ts b/lib/classes/packets/CheckParcelAuctions.ts deleted file mode 100644 index a86bd10..0000000 --- a/lib/classes/packets/CheckParcelAuctions.ts +++ /dev/null @@ -1,56 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class CheckParcelAuctionsPacket implements Packet -{ - name = 'CheckParcelAuctions'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901993; - - RegionData: { - RegionHandle: Long; - }[]; - - getSize(): number - { - return ((8) * this.RegionData.length) + 1; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.RegionData.length; - buf.writeUInt8(this.RegionData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeInt32LE(this.RegionData[i]['RegionHandle'].low, pos); - pos += 4; - buf.writeInt32LE(this.RegionData[i]['RegionHandle'].high, pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.RegionData = []; - for (let i = 0; i < count; i++) - { - const newObjRegionData: { - RegionHandle: Long - } = { - RegionHandle: Long.ZERO - }; - newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - this.RegionData.push(newObjRegionData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/CheckParcelSales.ts b/lib/classes/packets/CheckParcelSales.ts deleted file mode 100644 index 8933461..0000000 --- a/lib/classes/packets/CheckParcelSales.ts +++ /dev/null @@ -1,56 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class CheckParcelSalesPacket implements Packet -{ - name = 'CheckParcelSales'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901985; - - RegionData: { - RegionHandle: Long; - }[]; - - getSize(): number - { - return ((8) * this.RegionData.length) + 1; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.RegionData.length; - buf.writeUInt8(this.RegionData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeInt32LE(this.RegionData[i]['RegionHandle'].low, pos); - pos += 4; - buf.writeInt32LE(this.RegionData[i]['RegionHandle'].high, pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.RegionData = []; - for (let i = 0; i < count; i++) - { - const newObjRegionData: { - RegionHandle: Long - } = { - RegionHandle: Long.ZERO - }; - newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - this.RegionData.push(newObjRegionData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ChildAgentAlive.ts b/lib/classes/packets/ChildAgentAlive.ts deleted file mode 100644 index 2958cb5..0000000 --- a/lib/classes/packets/ChildAgentAlive.ts +++ /dev/null @@ -1,68 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ChildAgentAlivePacket implements Packet -{ - name = 'ChildAgentAlive'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyHigh; - id = 26; - - AgentData: { - RegionHandle: Long; - ViewerCircuitCode: number; - AgentID: UUID; - SessionID: UUID; - }; - - getSize(): number - { - return 44; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeInt32LE(this.AgentData['RegionHandle'].low, pos); - pos += 4; - buf.writeInt32LE(this.AgentData['RegionHandle'].high, pos); - pos += 4; - buf.writeUInt32LE(this.AgentData['ViewerCircuitCode'], pos); - pos += 4; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - RegionHandle: Long, - ViewerCircuitCode: number, - AgentID: UUID, - SessionID: UUID - } = { - RegionHandle: Long.ZERO, - ViewerCircuitCode: 0, - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjAgentData['ViewerCircuitCode'] = buf.readUInt32LE(pos); - pos += 4; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ChildAgentDying.ts b/lib/classes/packets/ChildAgentDying.ts deleted file mode 100644 index 6c72dac..0000000 --- a/lib/classes/packets/ChildAgentDying.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ChildAgentDyingPacket implements Packet -{ - name = 'ChildAgentDying'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902000; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - - getSize(): number - { - return 32; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ChildAgentPositionUpdate.ts b/lib/classes/packets/ChildAgentPositionUpdate.ts deleted file mode 100644 index cbae2e2..0000000 --- a/lib/classes/packets/ChildAgentPositionUpdate.ts +++ /dev/null @@ -1,123 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ChildAgentPositionUpdatePacket implements Packet -{ - name = 'ChildAgentPositionUpdate'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyHigh; - id = 27; - - AgentData: { - RegionHandle: Long; - ViewerCircuitCode: number; - AgentID: UUID; - SessionID: UUID; - AgentPos: Vector3; - AgentVel: Vector3; - Center: Vector3; - Size: Vector3; - AtAxis: Vector3; - LeftAxis: Vector3; - UpAxis: Vector3; - ChangedGrid: boolean; - }; - - getSize(): number - { - return 129; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeInt32LE(this.AgentData['RegionHandle'].low, pos); - pos += 4; - buf.writeInt32LE(this.AgentData['RegionHandle'].high, pos); - pos += 4; - buf.writeUInt32LE(this.AgentData['ViewerCircuitCode'], pos); - pos += 4; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['AgentPos'].writeToBuffer(buf, pos, false); - pos += 12; - this.AgentData['AgentVel'].writeToBuffer(buf, pos, false); - pos += 12; - this.AgentData['Center'].writeToBuffer(buf, pos, false); - pos += 12; - this.AgentData['Size'].writeToBuffer(buf, pos, false); - pos += 12; - this.AgentData['AtAxis'].writeToBuffer(buf, pos, false); - pos += 12; - this.AgentData['LeftAxis'].writeToBuffer(buf, pos, false); - pos += 12; - this.AgentData['UpAxis'].writeToBuffer(buf, pos, false); - pos += 12; - buf.writeUInt8((this.AgentData['ChangedGrid']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - RegionHandle: Long, - ViewerCircuitCode: number, - AgentID: UUID, - SessionID: UUID, - AgentPos: Vector3, - AgentVel: Vector3, - Center: Vector3, - Size: Vector3, - AtAxis: Vector3, - LeftAxis: Vector3, - UpAxis: Vector3, - ChangedGrid: boolean - } = { - RegionHandle: Long.ZERO, - ViewerCircuitCode: 0, - AgentID: UUID.zero(), - SessionID: UUID.zero(), - AgentPos: Vector3.getZero(), - AgentVel: Vector3.getZero(), - Center: Vector3.getZero(), - Size: Vector3.getZero(), - AtAxis: Vector3.getZero(), - LeftAxis: Vector3.getZero(), - UpAxis: Vector3.getZero(), - ChangedGrid: false - }; - newObjAgentData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjAgentData['ViewerCircuitCode'] = buf.readUInt32LE(pos); - pos += 4; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['AgentPos'] = new Vector3(buf, pos, false); - pos += 12; - newObjAgentData['AgentVel'] = new Vector3(buf, pos, false); - pos += 12; - newObjAgentData['Center'] = new Vector3(buf, pos, false); - pos += 12; - newObjAgentData['Size'] = new Vector3(buf, pos, false); - pos += 12; - newObjAgentData['AtAxis'] = new Vector3(buf, pos, false); - pos += 12; - newObjAgentData['LeftAxis'] = new Vector3(buf, pos, false); - pos += 12; - newObjAgentData['UpAxis'] = new Vector3(buf, pos, false); - pos += 12; - newObjAgentData['ChangedGrid'] = (buf.readUInt8(pos++) === 1); - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ChildAgentUnknown.ts b/lib/classes/packets/ChildAgentUnknown.ts deleted file mode 100644 index 8b51aab..0000000 --- a/lib/classes/packets/ChildAgentUnknown.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ChildAgentUnknownPacket implements Packet -{ - name = 'ChildAgentUnknown'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902001; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - - getSize(): number - { - return 32; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ChildAgentUpdate.ts b/lib/classes/packets/ChildAgentUpdate.ts deleted file mode 100644 index cfb0fcc..0000000 --- a/lib/classes/packets/ChildAgentUpdate.ts +++ /dev/null @@ -1,432 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import Long = require('long'); -import {Quaternion} from '../Quaternion'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ChildAgentUpdatePacket implements Packet -{ - name = 'ChildAgentUpdate'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyHigh; - id = 25; - - AgentData: { - RegionHandle: Long; - ViewerCircuitCode: number; - AgentID: UUID; - SessionID: UUID; - AgentPos: Vector3; - AgentVel: Vector3; - Center: Vector3; - Size: Vector3; - AtAxis: Vector3; - LeftAxis: Vector3; - UpAxis: Vector3; - ChangedGrid: boolean; - Far: number; - Aspect: number; - Throttles: string; - LocomotionState: number; - HeadRotation: Quaternion; - BodyRotation: Quaternion; - ControlFlags: number; - EnergyLevel: number; - GodLevel: number; - AlwaysRun: boolean; - PreyAgent: UUID; - AgentAccess: number; - AgentTextures: string; - ActiveGroupID: UUID; - }; - GroupData: { - GroupID: UUID; - GroupPowers: Long; - AcceptNotices: boolean; - }[]; - AnimationData: { - Animation: UUID; - ObjectID: UUID; - }[]; - GranterBlock: { - GranterID: UUID; - }[]; - NVPairData: { - NVPairs: string; - }[]; - VisualParam: { - ParamValue: number; - }[]; - AgentAccess: { - AgentLegacyAccess: number; - AgentMaxAccess: number; - }[]; - AgentInfo: { - Flags: number; - }[]; - AgentInventoryHost: { - InventoryHost: string; - }[]; - - getSize(): number - { - return (this.AgentData['Throttles'].length + 1 + this.AgentData['AgentTextures'].length + 2) + ((25) * this.GroupData.length) + ((32) * this.AnimationData.length) + ((16) * this.GranterBlock.length) + ((this.calculateVarVarSize(this.NVPairData, 'NVPairs', 2)) * this.NVPairData.length) + ((1) * this.VisualParam.length) + ((2) * this.AgentAccess.length) + ((4) * this.AgentInfo.length) + ((this.calculateVarVarSize(this.AgentInventoryHost, 'InventoryHost', 1)) * this.AgentInventoryHost.length) + 216; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeInt32LE(this.AgentData['RegionHandle'].low, pos); - pos += 4; - buf.writeInt32LE(this.AgentData['RegionHandle'].high, pos); - pos += 4; - buf.writeUInt32LE(this.AgentData['ViewerCircuitCode'], pos); - pos += 4; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['AgentPos'].writeToBuffer(buf, pos, false); - pos += 12; - this.AgentData['AgentVel'].writeToBuffer(buf, pos, false); - pos += 12; - this.AgentData['Center'].writeToBuffer(buf, pos, false); - pos += 12; - this.AgentData['Size'].writeToBuffer(buf, pos, false); - pos += 12; - this.AgentData['AtAxis'].writeToBuffer(buf, pos, false); - pos += 12; - this.AgentData['LeftAxis'].writeToBuffer(buf, pos, false); - pos += 12; - this.AgentData['UpAxis'].writeToBuffer(buf, pos, false); - pos += 12; - buf.writeUInt8((this.AgentData['ChangedGrid']) ? 1 : 0, pos++); - buf.writeFloatLE(this.AgentData['Far'], pos); - pos += 4; - buf.writeFloatLE(this.AgentData['Aspect'], pos); - pos += 4; - buf.write(this.AgentData['Throttles'], pos); - pos += this.AgentData['Throttles'].length; - buf.writeUInt32LE(this.AgentData['LocomotionState'], pos); - pos += 4; - this.AgentData['HeadRotation'].writeToBuffer(buf, pos); - pos += 12; - this.AgentData['BodyRotation'].writeToBuffer(buf, pos); - pos += 12; - buf.writeUInt32LE(this.AgentData['ControlFlags'], pos); - pos += 4; - buf.writeFloatLE(this.AgentData['EnergyLevel'], pos); - pos += 4; - buf.writeUInt8(this.AgentData['GodLevel'], pos++); - buf.writeUInt8((this.AgentData['AlwaysRun']) ? 1 : 0, pos++); - this.AgentData['PreyAgent'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.AgentData['AgentAccess'], pos++); - buf.write(this.AgentData['AgentTextures'], pos); - pos += this.AgentData['AgentTextures'].length; - this.AgentData['ActiveGroupID'].writeToBuffer(buf, pos); - pos += 16; - let count = this.GroupData.length; - buf.writeUInt8(this.GroupData.length, pos++); - for (let i = 0; i < count; i++) - { - this.GroupData[i]['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.GroupData[i]['GroupPowers'].low, pos); - pos += 4; - buf.writeInt32LE(this.GroupData[i]['GroupPowers'].high, pos); - pos += 4; - buf.writeUInt8((this.GroupData[i]['AcceptNotices']) ? 1 : 0, pos++); - } - count = this.AnimationData.length; - buf.writeUInt8(this.AnimationData.length, pos++); - for (let i = 0; i < count; i++) - { - this.AnimationData[i]['Animation'].writeToBuffer(buf, pos); - pos += 16; - this.AnimationData[i]['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - } - count = this.GranterBlock.length; - buf.writeUInt8(this.GranterBlock.length, pos++); - for (let i = 0; i < count; i++) - { - this.GranterBlock[i]['GranterID'].writeToBuffer(buf, pos); - pos += 16; - } - count = this.NVPairData.length; - buf.writeUInt8(this.NVPairData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.write(this.NVPairData[i]['NVPairs'], pos); - pos += this.NVPairData[i]['NVPairs'].length; - } - count = this.VisualParam.length; - buf.writeUInt8(this.VisualParam.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt8(this.VisualParam[i]['ParamValue'], pos++); - } - count = this.AgentAccess.length; - buf.writeUInt8(this.AgentAccess.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt8(this.AgentAccess[i]['AgentLegacyAccess'], pos++); - buf.writeUInt8(this.AgentAccess[i]['AgentMaxAccess'], pos++); - } - count = this.AgentInfo.length; - buf.writeUInt8(this.AgentInfo.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.AgentInfo[i]['Flags'], pos); - pos += 4; - } - count = this.AgentInventoryHost.length; - buf.writeUInt8(this.AgentInventoryHost.length, pos++); - for (let i = 0; i < count; i++) - { - buf.write(this.AgentInventoryHost[i]['InventoryHost'], pos); - pos += this.AgentInventoryHost[i]['InventoryHost'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - RegionHandle: Long, - ViewerCircuitCode: number, - AgentID: UUID, - SessionID: UUID, - AgentPos: Vector3, - AgentVel: Vector3, - Center: Vector3, - Size: Vector3, - AtAxis: Vector3, - LeftAxis: Vector3, - UpAxis: Vector3, - ChangedGrid: boolean, - Far: number, - Aspect: number, - Throttles: string, - LocomotionState: number, - HeadRotation: Quaternion, - BodyRotation: Quaternion, - ControlFlags: number, - EnergyLevel: number, - GodLevel: number, - AlwaysRun: boolean, - PreyAgent: UUID, - AgentAccess: number, - AgentTextures: string, - ActiveGroupID: UUID - } = { - RegionHandle: Long.ZERO, - ViewerCircuitCode: 0, - AgentID: UUID.zero(), - SessionID: UUID.zero(), - AgentPos: Vector3.getZero(), - AgentVel: Vector3.getZero(), - Center: Vector3.getZero(), - Size: Vector3.getZero(), - AtAxis: Vector3.getZero(), - LeftAxis: Vector3.getZero(), - UpAxis: Vector3.getZero(), - ChangedGrid: false, - Far: 0, - Aspect: 0, - Throttles: '', - LocomotionState: 0, - HeadRotation: Quaternion.getIdentity(), - BodyRotation: Quaternion.getIdentity(), - ControlFlags: 0, - EnergyLevel: 0, - GodLevel: 0, - AlwaysRun: false, - PreyAgent: UUID.zero(), - AgentAccess: 0, - AgentTextures: '', - ActiveGroupID: UUID.zero() - }; - newObjAgentData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjAgentData['ViewerCircuitCode'] = buf.readUInt32LE(pos); - pos += 4; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['AgentPos'] = new Vector3(buf, pos, false); - pos += 12; - newObjAgentData['AgentVel'] = new Vector3(buf, pos, false); - pos += 12; - newObjAgentData['Center'] = new Vector3(buf, pos, false); - pos += 12; - newObjAgentData['Size'] = new Vector3(buf, pos, false); - pos += 12; - newObjAgentData['AtAxis'] = new Vector3(buf, pos, false); - pos += 12; - newObjAgentData['LeftAxis'] = new Vector3(buf, pos, false); - pos += 12; - newObjAgentData['UpAxis'] = new Vector3(buf, pos, false); - pos += 12; - newObjAgentData['ChangedGrid'] = (buf.readUInt8(pos++) === 1); - newObjAgentData['Far'] = buf.readFloatLE(pos); - pos += 4; - newObjAgentData['Aspect'] = buf.readFloatLE(pos); - pos += 4; - newObjAgentData['Throttles'] = buf.toString('utf8', pos, length); - pos += length; - newObjAgentData['LocomotionState'] = buf.readUInt32LE(pos); - pos += 4; - newObjAgentData['HeadRotation'] = new Quaternion(buf, pos); - pos += 12; - newObjAgentData['BodyRotation'] = new Quaternion(buf, pos); - pos += 12; - newObjAgentData['ControlFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjAgentData['EnergyLevel'] = buf.readFloatLE(pos); - pos += 4; - newObjAgentData['GodLevel'] = buf.readUInt8(pos++); - newObjAgentData['AlwaysRun'] = (buf.readUInt8(pos++) === 1); - newObjAgentData['PreyAgent'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['AgentAccess'] = buf.readUInt8(pos++); - newObjAgentData['AgentTextures'] = buf.toString('utf8', pos, length); - pos += length; - newObjAgentData['ActiveGroupID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - let count = buf.readUInt8(pos++); - this.GroupData = []; - for (let i = 0; i < count; i++) - { - const newObjGroupData: { - GroupID: UUID, - GroupPowers: Long, - AcceptNotices: boolean - } = { - GroupID: UUID.zero(), - GroupPowers: Long.ZERO, - AcceptNotices: false - }; - newObjGroupData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjGroupData['GroupPowers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjGroupData['AcceptNotices'] = (buf.readUInt8(pos++) === 1); - this.GroupData.push(newObjGroupData); - } - count = buf.readUInt8(pos++); - this.AnimationData = []; - for (let i = 0; i < count; i++) - { - const newObjAnimationData: { - Animation: UUID, - ObjectID: UUID - } = { - Animation: UUID.zero(), - ObjectID: UUID.zero() - }; - newObjAnimationData['Animation'] = new UUID(buf, pos); - pos += 16; - newObjAnimationData['ObjectID'] = new UUID(buf, pos); - pos += 16; - this.AnimationData.push(newObjAnimationData); - } - count = buf.readUInt8(pos++); - this.GranterBlock = []; - for (let i = 0; i < count; i++) - { - const newObjGranterBlock: { - GranterID: UUID - } = { - GranterID: UUID.zero() - }; - newObjGranterBlock['GranterID'] = new UUID(buf, pos); - pos += 16; - this.GranterBlock.push(newObjGranterBlock); - } - count = buf.readUInt8(pos++); - this.NVPairData = []; - for (let i = 0; i < count; i++) - { - const newObjNVPairData: { - NVPairs: string - } = { - NVPairs: '' - }; - newObjNVPairData['NVPairs'] = buf.toString('utf8', pos, length); - pos += length; - this.NVPairData.push(newObjNVPairData); - } - count = buf.readUInt8(pos++); - this.VisualParam = []; - for (let i = 0; i < count; i++) - { - const newObjVisualParam: { - ParamValue: number - } = { - ParamValue: 0 - }; - newObjVisualParam['ParamValue'] = buf.readUInt8(pos++); - this.VisualParam.push(newObjVisualParam); - } - count = buf.readUInt8(pos++); - this.AgentAccess = []; - for (let i = 0; i < count; i++) - { - const newObjAgentAccess: { - AgentLegacyAccess: number, - AgentMaxAccess: number - } = { - AgentLegacyAccess: 0, - AgentMaxAccess: 0 - }; - newObjAgentAccess['AgentLegacyAccess'] = buf.readUInt8(pos++); - newObjAgentAccess['AgentMaxAccess'] = buf.readUInt8(pos++); - this.AgentAccess.push(newObjAgentAccess); - } - count = buf.readUInt8(pos++); - this.AgentInfo = []; - for (let i = 0; i < count; i++) - { - const newObjAgentInfo: { - Flags: number - } = { - Flags: 0 - }; - newObjAgentInfo['Flags'] = buf.readUInt32LE(pos); - pos += 4; - this.AgentInfo.push(newObjAgentInfo); - } - count = buf.readUInt8(pos++); - this.AgentInventoryHost = []; - for (let i = 0; i < count; i++) - { - const newObjAgentInventoryHost: { - InventoryHost: string - } = { - InventoryHost: '' - }; - newObjAgentInventoryHost['InventoryHost'] = buf.toString('utf8', pos, length); - pos += length; - this.AgentInventoryHost.push(newObjAgentInventoryHost); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ClassifiedDelete.ts b/lib/classes/packets/ClassifiedDelete.ts deleted file mode 100644 index f03821e..0000000 --- a/lib/classes/packets/ClassifiedDelete.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ClassifiedDeletePacket implements Packet -{ - name = 'ClassifiedDelete'; - flags = MessageFlags.FrequencyLow; - id = 4294901806; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - ClassifiedID: UUID; - }; - - getSize(): number - { - return 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['ClassifiedID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - ClassifiedID: UUID - } = { - ClassifiedID: UUID.zero() - }; - newObjData['ClassifiedID'] = new UUID(buf, pos); - pos += 16; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ClassifiedGodDelete.ts b/lib/classes/packets/ClassifiedGodDelete.ts deleted file mode 100644 index 82196f2..0000000 --- a/lib/classes/packets/ClassifiedGodDelete.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ClassifiedGodDeletePacket implements Packet -{ - name = 'ClassifiedGodDelete'; - flags = MessageFlags.FrequencyLow; - id = 4294901807; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - ClassifiedID: UUID; - QueryID: UUID; - }; - - getSize(): number - { - return 64; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['ClassifiedID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['QueryID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - ClassifiedID: UUID, - QueryID: UUID - } = { - ClassifiedID: UUID.zero(), - QueryID: UUID.zero() - }; - newObjData['ClassifiedID'] = new UUID(buf, pos); - pos += 16; - newObjData['QueryID'] = new UUID(buf, pos); - pos += 16; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ClassifiedInfoReply.ts b/lib/classes/packets/ClassifiedInfoReply.ts deleted file mode 100644 index 9700812..0000000 --- a/lib/classes/packets/ClassifiedInfoReply.ts +++ /dev/null @@ -1,154 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ClassifiedInfoReplyPacket implements Packet -{ - name = 'ClassifiedInfoReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901804; - - AgentData: { - AgentID: UUID; - }; - Data: { - ClassifiedID: UUID; - CreatorID: UUID; - CreationDate: number; - ExpirationDate: number; - Category: number; - Name: string; - Desc: string; - ParcelID: UUID; - ParentEstate: number; - SnapshotID: UUID; - SimName: string; - PosGlobal: Vector3; - ParcelName: string; - ClassifiedFlags: number; - PriceForListing: number; - }; - - getSize(): number - { - return (this.Data['Name'].length + 1 + this.Data['Desc'].length + 2 + this.Data['SimName'].length + 1 + this.Data['ParcelName'].length + 1) + 125; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['ClassifiedID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['CreatorID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.Data['CreationDate'], pos); - pos += 4; - buf.writeUInt32LE(this.Data['ExpirationDate'], pos); - pos += 4; - buf.writeUInt32LE(this.Data['Category'], pos); - pos += 4; - buf.write(this.Data['Name'], pos); - pos += this.Data['Name'].length; - buf.write(this.Data['Desc'], pos); - pos += this.Data['Desc'].length; - this.Data['ParcelID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.Data['ParentEstate'], pos); - pos += 4; - this.Data['SnapshotID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.Data['SimName'], pos); - pos += this.Data['SimName'].length; - this.Data['PosGlobal'].writeToBuffer(buf, pos, true); - pos += 24; - buf.write(this.Data['ParcelName'], pos); - pos += this.Data['ParcelName'].length; - buf.writeUInt8(this.Data['ClassifiedFlags'], pos++); - buf.writeInt32LE(this.Data['PriceForListing'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - ClassifiedID: UUID, - CreatorID: UUID, - CreationDate: number, - ExpirationDate: number, - Category: number, - Name: string, - Desc: string, - ParcelID: UUID, - ParentEstate: number, - SnapshotID: UUID, - SimName: string, - PosGlobal: Vector3, - ParcelName: string, - ClassifiedFlags: number, - PriceForListing: number - } = { - ClassifiedID: UUID.zero(), - CreatorID: UUID.zero(), - CreationDate: 0, - ExpirationDate: 0, - Category: 0, - Name: '', - Desc: '', - ParcelID: UUID.zero(), - ParentEstate: 0, - SnapshotID: UUID.zero(), - SimName: '', - PosGlobal: Vector3.getZero(), - ParcelName: '', - ClassifiedFlags: 0, - PriceForListing: 0 - }; - newObjData['ClassifiedID'] = new UUID(buf, pos); - pos += 16; - newObjData['CreatorID'] = new UUID(buf, pos); - pos += 16; - newObjData['CreationDate'] = buf.readUInt32LE(pos); - pos += 4; - newObjData['ExpirationDate'] = buf.readUInt32LE(pos); - pos += 4; - newObjData['Category'] = buf.readUInt32LE(pos); - pos += 4; - newObjData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['Desc'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['ParcelID'] = new UUID(buf, pos); - pos += 16; - newObjData['ParentEstate'] = buf.readUInt32LE(pos); - pos += 4; - newObjData['SnapshotID'] = new UUID(buf, pos); - pos += 16; - newObjData['SimName'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['PosGlobal'] = new Vector3(buf, pos, true); - pos += 24; - newObjData['ParcelName'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['ClassifiedFlags'] = buf.readUInt8(pos++); - newObjData['PriceForListing'] = buf.readInt32LE(pos); - pos += 4; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ClassifiedInfoRequest.ts b/lib/classes/packets/ClassifiedInfoRequest.ts deleted file mode 100644 index 350feaa..0000000 --- a/lib/classes/packets/ClassifiedInfoRequest.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ClassifiedInfoRequestPacket implements Packet -{ - name = 'ClassifiedInfoRequest'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901803; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - ClassifiedID: UUID; - }; - - getSize(): number - { - return 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['ClassifiedID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - ClassifiedID: UUID - } = { - ClassifiedID: UUID.zero() - }; - newObjData['ClassifiedID'] = new UUID(buf, pos); - pos += 16; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ClassifiedInfoUpdate.ts b/lib/classes/packets/ClassifiedInfoUpdate.ts deleted file mode 100644 index 6a491c2..0000000 --- a/lib/classes/packets/ClassifiedInfoUpdate.ts +++ /dev/null @@ -1,126 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ClassifiedInfoUpdatePacket implements Packet -{ - name = 'ClassifiedInfoUpdate'; - flags = MessageFlags.FrequencyLow; - id = 4294901805; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - ClassifiedID: UUID; - Category: number; - Name: string; - Desc: string; - ParcelID: UUID; - ParentEstate: number; - SnapshotID: UUID; - PosGlobal: Vector3; - ClassifiedFlags: number; - PriceForListing: number; - }; - - getSize(): number - { - return (this.Data['Name'].length + 1 + this.Data['Desc'].length + 2) + 117; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['ClassifiedID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.Data['Category'], pos); - pos += 4; - buf.write(this.Data['Name'], pos); - pos += this.Data['Name'].length; - buf.write(this.Data['Desc'], pos); - pos += this.Data['Desc'].length; - this.Data['ParcelID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.Data['ParentEstate'], pos); - pos += 4; - this.Data['SnapshotID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['PosGlobal'].writeToBuffer(buf, pos, true); - pos += 24; - buf.writeUInt8(this.Data['ClassifiedFlags'], pos++); - buf.writeInt32LE(this.Data['PriceForListing'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - ClassifiedID: UUID, - Category: number, - Name: string, - Desc: string, - ParcelID: UUID, - ParentEstate: number, - SnapshotID: UUID, - PosGlobal: Vector3, - ClassifiedFlags: number, - PriceForListing: number - } = { - ClassifiedID: UUID.zero(), - Category: 0, - Name: '', - Desc: '', - ParcelID: UUID.zero(), - ParentEstate: 0, - SnapshotID: UUID.zero(), - PosGlobal: Vector3.getZero(), - ClassifiedFlags: 0, - PriceForListing: 0 - }; - newObjData['ClassifiedID'] = new UUID(buf, pos); - pos += 16; - newObjData['Category'] = buf.readUInt32LE(pos); - pos += 4; - newObjData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['Desc'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['ParcelID'] = new UUID(buf, pos); - pos += 16; - newObjData['ParentEstate'] = buf.readUInt32LE(pos); - pos += 4; - newObjData['SnapshotID'] = new UUID(buf, pos); - pos += 16; - newObjData['PosGlobal'] = new Vector3(buf, pos, true); - pos += 24; - newObjData['ClassifiedFlags'] = buf.readUInt8(pos++); - newObjData['PriceForListing'] = buf.readInt32LE(pos); - pos += 4; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ClearFollowCamProperties.ts b/lib/classes/packets/ClearFollowCamProperties.ts deleted file mode 100644 index d12ac78..0000000 --- a/lib/classes/packets/ClearFollowCamProperties.ts +++ /dev/null @@ -1,44 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ClearFollowCamPropertiesPacket implements Packet -{ - name = 'ClearFollowCamProperties'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901920; - - ObjectData: { - ObjectID: UUID; - }; - - getSize(): number - { - return 16; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.ObjectData['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjObjectData: { - ObjectID: UUID - } = { - ObjectID: UUID.zero() - }; - newObjObjectData['ObjectID'] = new UUID(buf, pos); - pos += 16; - this.ObjectData = newObjObjectData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/CloseCircuit.ts b/lib/classes/packets/CloseCircuit.ts deleted file mode 100644 index a1a61b5..0000000 --- a/lib/classes/packets/CloseCircuit.ts +++ /dev/null @@ -1,28 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class CloseCircuitPacket implements Packet -{ - name = 'CloseCircuit'; - flags = MessageFlags.FrequencyFixed; - id = 4294967293; - - - getSize(): number - { - return 0; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - return 0; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - return 0; - } -} - diff --git a/lib/classes/packets/CoarseLocationUpdate.ts b/lib/classes/packets/CoarseLocationUpdate.ts deleted file mode 100644 index acb913c..0000000 --- a/lib/classes/packets/CoarseLocationUpdate.ts +++ /dev/null @@ -1,105 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class CoarseLocationUpdatePacket implements Packet -{ - name = 'CoarseLocationUpdate'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyMedium; - id = 65286; - - Location: { - X: number; - Y: number; - Z: number; - }[]; - Index: { - You: number; - Prey: number; - }; - AgentData: { - AgentID: UUID; - }[]; - - getSize(): number - { - return ((3) * this.Location.length) + ((16) * this.AgentData.length) + 6; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - let count = this.Location.length; - buf.writeUInt8(this.Location.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt8(this.Location[i]['X'], pos++); - buf.writeUInt8(this.Location[i]['Y'], pos++); - buf.writeUInt8(this.Location[i]['Z'], pos++); - } - buf.writeInt16LE(this.Index['You'], pos); - pos += 2; - buf.writeInt16LE(this.Index['Prey'], pos); - pos += 2; - count = this.AgentData.length; - buf.writeUInt8(this.AgentData.length, pos++); - for (let i = 0; i < count; i++) - { - this.AgentData[i]['AgentID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - let count = buf.readUInt8(pos++); - this.Location = []; - for (let i = 0; i < count; i++) - { - const newObjLocation: { - X: number, - Y: number, - Z: number - } = { - X: 0, - Y: 0, - Z: 0 - }; - newObjLocation['X'] = buf.readUInt8(pos++); - newObjLocation['Y'] = buf.readUInt8(pos++); - newObjLocation['Z'] = buf.readUInt8(pos++); - this.Location.push(newObjLocation); - } - const newObjIndex: { - You: number, - Prey: number - } = { - You: 0, - Prey: 0 - }; - newObjIndex['You'] = buf.readInt16LE(pos); - pos += 2; - newObjIndex['Prey'] = buf.readInt16LE(pos); - pos += 2; - this.Index = newObjIndex; - count = buf.readUInt8(pos++); - this.AgentData = []; - for (let i = 0; i < count; i++) - { - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData.push(newObjAgentData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/CompleteAgentMovement.ts b/lib/classes/packets/CompleteAgentMovement.ts deleted file mode 100644 index 8470f42..0000000 --- a/lib/classes/packets/CompleteAgentMovement.ts +++ /dev/null @@ -1,58 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class CompleteAgentMovementPacket implements Packet -{ - name = 'CompleteAgentMovement'; - flags = MessageFlags.FrequencyLow; - id = 4294902009; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - CircuitCode: number; - }; - - getSize(): number - { - return 36; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.AgentData['CircuitCode'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - CircuitCode: number - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - CircuitCode: 0 - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['CircuitCode'] = buf.readUInt32LE(pos); - pos += 4; - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/CompleteAuction.ts b/lib/classes/packets/CompleteAuction.ts deleted file mode 100644 index 6db6f80..0000000 --- a/lib/classes/packets/CompleteAuction.ts +++ /dev/null @@ -1,54 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class CompleteAuctionPacket implements Packet -{ - name = 'CompleteAuction'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901991; - - ParcelData: { - ParcelID: UUID; - }[]; - - getSize(): number - { - return ((16) * this.ParcelData.length) + 1; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.ParcelData.length; - buf.writeUInt8(this.ParcelData.length, pos++); - for (let i = 0; i < count; i++) - { - this.ParcelData[i]['ParcelID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.ParcelData = []; - for (let i = 0; i < count; i++) - { - const newObjParcelData: { - ParcelID: UUID - } = { - ParcelID: UUID.zero() - }; - newObjParcelData['ParcelID'] = new UUID(buf, pos); - pos += 16; - this.ParcelData.push(newObjParcelData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/CompletePingCheck.ts b/lib/classes/packets/CompletePingCheck.ts deleted file mode 100644 index 0463881..0000000 --- a/lib/classes/packets/CompletePingCheck.ts +++ /dev/null @@ -1,41 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class CompletePingCheckPacket implements Packet -{ - name = 'CompletePingCheck'; - flags = MessageFlags.FrequencyHigh; - id = 2; - - PingID: { - PingID: number; - }; - - getSize(): number - { - return 1; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeUInt8(this.PingID['PingID'], pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjPingID: { - PingID: number - } = { - PingID: 0 - }; - newObjPingID['PingID'] = buf.readUInt8(pos++); - this.PingID = newObjPingID; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ConfirmAuctionStart.ts b/lib/classes/packets/ConfirmAuctionStart.ts deleted file mode 100644 index 42805a6..0000000 --- a/lib/classes/packets/ConfirmAuctionStart.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ConfirmAuctionStartPacket implements Packet -{ - name = 'ConfirmAuctionStart'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901990; - - AuctionData: { - ParcelID: UUID; - AuctionID: number; - }; - - getSize(): number - { - return 20; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AuctionData['ParcelID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.AuctionData['AuctionID'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAuctionData: { - ParcelID: UUID, - AuctionID: number - } = { - ParcelID: UUID.zero(), - AuctionID: 0 - }; - newObjAuctionData['ParcelID'] = new UUID(buf, pos); - pos += 16; - newObjAuctionData['AuctionID'] = buf.readUInt32LE(pos); - pos += 4; - this.AuctionData = newObjAuctionData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ConfirmEnableSimulator.ts b/lib/classes/packets/ConfirmEnableSimulator.ts deleted file mode 100644 index 62b42f9..0000000 --- a/lib/classes/packets/ConfirmEnableSimulator.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ConfirmEnableSimulatorPacket implements Packet -{ - name = 'ConfirmEnableSimulator'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyMedium; - id = 65288; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - - getSize(): number - { - return 32; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ConfirmXferPacket.ts b/lib/classes/packets/ConfirmXferPacket.ts deleted file mode 100644 index c75b88e..0000000 --- a/lib/classes/packets/ConfirmXferPacket.ts +++ /dev/null @@ -1,53 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ConfirmXferPacketPacket implements Packet -{ - name = 'ConfirmXferPacket'; - flags = MessageFlags.FrequencyHigh; - id = 19; - - XferID: { - ID: Long; - Packet: number; - }; - - getSize(): number - { - return 12; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeInt32LE(this.XferID['ID'].low, pos); - pos += 4; - buf.writeInt32LE(this.XferID['ID'].high, pos); - pos += 4; - buf.writeUInt32LE(this.XferID['Packet'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjXferID: { - ID: Long, - Packet: number - } = { - ID: Long.ZERO, - Packet: 0 - }; - newObjXferID['ID'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjXferID['Packet'] = buf.readUInt32LE(pos); - pos += 4; - this.XferID = newObjXferID; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/CopyInventoryFromNotecard.ts b/lib/classes/packets/CopyInventoryFromNotecard.ts deleted file mode 100644 index e0d72c4..0000000 --- a/lib/classes/packets/CopyInventoryFromNotecard.ts +++ /dev/null @@ -1,101 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class CopyInventoryFromNotecardPacket implements Packet -{ - name = 'CopyInventoryFromNotecard'; - flags = MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyLow; - id = 4294902025; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - NotecardData: { - NotecardItemID: UUID; - ObjectID: UUID; - }; - InventoryData: { - ItemID: UUID; - FolderID: UUID; - }[]; - - getSize(): number - { - return ((32) * this.InventoryData.length) + 65; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.NotecardData['NotecardItemID'].writeToBuffer(buf, pos); - pos += 16; - this.NotecardData['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.InventoryData.length; - buf.writeUInt8(this.InventoryData.length, pos++); - for (let i = 0; i < count; i++) - { - this.InventoryData[i]['ItemID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData[i]['FolderID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjNotecardData: { - NotecardItemID: UUID, - ObjectID: UUID - } = { - NotecardItemID: UUID.zero(), - ObjectID: UUID.zero() - }; - newObjNotecardData['NotecardItemID'] = new UUID(buf, pos); - pos += 16; - newObjNotecardData['ObjectID'] = new UUID(buf, pos); - pos += 16; - this.NotecardData = newObjNotecardData; - const count = buf.readUInt8(pos++); - this.InventoryData = []; - for (let i = 0; i < count; i++) - { - const newObjInventoryData: { - ItemID: UUID, - FolderID: UUID - } = { - ItemID: UUID.zero(), - FolderID: UUID.zero() - }; - newObjInventoryData['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['FolderID'] = new UUID(buf, pos); - pos += 16; - this.InventoryData.push(newObjInventoryData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/CopyInventoryItem.ts b/lib/classes/packets/CopyInventoryItem.ts deleted file mode 100644 index 1577c49..0000000 --- a/lib/classes/packets/CopyInventoryItem.ts +++ /dev/null @@ -1,112 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class CopyInventoryItemPacket implements Packet -{ - name = 'CopyInventoryItem'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902029; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - InventoryData: { - CallbackID: number; - OldAgentID: UUID; - OldItemID: UUID; - NewFolderID: UUID; - NewName: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.InventoryData, 'NewName', 1) + 52) * this.InventoryData.length) + 33; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.InventoryData.length; - buf.writeUInt8(this.InventoryData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.InventoryData[i]['CallbackID'], pos); - pos += 4; - this.InventoryData[i]['OldAgentID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData[i]['OldItemID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData[i]['NewFolderID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.InventoryData[i]['NewName'], pos); - pos += this.InventoryData[i]['NewName'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.InventoryData = []; - for (let i = 0; i < count; i++) - { - const newObjInventoryData: { - CallbackID: number, - OldAgentID: UUID, - OldItemID: UUID, - NewFolderID: UUID, - NewName: string - } = { - CallbackID: 0, - OldAgentID: UUID.zero(), - OldItemID: UUID.zero(), - NewFolderID: UUID.zero(), - NewName: '' - }; - newObjInventoryData['CallbackID'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['OldAgentID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['OldItemID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['NewFolderID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['NewName'] = buf.toString('utf8', pos, length); - pos += length; - this.InventoryData.push(newObjInventoryData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/CreateGroupReply.ts b/lib/classes/packets/CreateGroupReply.ts deleted file mode 100644 index 303f60e..0000000 --- a/lib/classes/packets/CreateGroupReply.ts +++ /dev/null @@ -1,69 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class CreateGroupReplyPacket implements Packet -{ - name = 'CreateGroupReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902100; - - AgentData: { - AgentID: UUID; - }; - ReplyData: { - GroupID: UUID; - Success: boolean; - Message: string; - }; - - getSize(): number - { - return (this.ReplyData['Message'].length + 1) + 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.ReplyData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.ReplyData['Success']) ? 1 : 0, pos++); - buf.write(this.ReplyData['Message'], pos); - pos += this.ReplyData['Message'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjReplyData: { - GroupID: UUID, - Success: boolean, - Message: string - } = { - GroupID: UUID.zero(), - Success: false, - Message: '' - }; - newObjReplyData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjReplyData['Success'] = (buf.readUInt8(pos++) === 1); - newObjReplyData['Message'] = buf.toString('utf8', pos, length); - pos += length; - this.ReplyData = newObjReplyData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/CreateGroupRequest.ts b/lib/classes/packets/CreateGroupRequest.ts deleted file mode 100644 index 1976880..0000000 --- a/lib/classes/packets/CreateGroupRequest.ts +++ /dev/null @@ -1,105 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class CreateGroupRequestPacket implements Packet -{ - name = 'CreateGroupRequest'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902099; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - GroupData: { - Name: string; - Charter: string; - ShowInList: boolean; - InsigniaID: UUID; - MembershipFee: number; - OpenEnrollment: boolean; - AllowPublish: boolean; - MaturePublish: boolean; - }; - - getSize(): number - { - return (this.GroupData['Name'].length + 1 + this.GroupData['Charter'].length + 2) + 56; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.GroupData['Name'], pos); - pos += this.GroupData['Name'].length; - buf.write(this.GroupData['Charter'], pos); - pos += this.GroupData['Charter'].length; - buf.writeUInt8((this.GroupData['ShowInList']) ? 1 : 0, pos++); - this.GroupData['InsigniaID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.GroupData['MembershipFee'], pos); - pos += 4; - buf.writeUInt8((this.GroupData['OpenEnrollment']) ? 1 : 0, pos++); - buf.writeUInt8((this.GroupData['AllowPublish']) ? 1 : 0, pos++); - buf.writeUInt8((this.GroupData['MaturePublish']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjGroupData: { - Name: string, - Charter: string, - ShowInList: boolean, - InsigniaID: UUID, - MembershipFee: number, - OpenEnrollment: boolean, - AllowPublish: boolean, - MaturePublish: boolean - } = { - Name: '', - Charter: '', - ShowInList: false, - InsigniaID: UUID.zero(), - MembershipFee: 0, - OpenEnrollment: false, - AllowPublish: false, - MaturePublish: false - }; - newObjGroupData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjGroupData['Charter'] = buf.toString('utf8', pos, length); - pos += length; - newObjGroupData['ShowInList'] = (buf.readUInt8(pos++) === 1); - newObjGroupData['InsigniaID'] = new UUID(buf, pos); - pos += 16; - newObjGroupData['MembershipFee'] = buf.readInt32LE(pos); - pos += 4; - newObjGroupData['OpenEnrollment'] = (buf.readUInt8(pos++) === 1); - newObjGroupData['AllowPublish'] = (buf.readUInt8(pos++) === 1); - newObjGroupData['MaturePublish'] = (buf.readUInt8(pos++) === 1); - this.GroupData = newObjGroupData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/CreateGroupRequestExtended.ts b/lib/classes/packets/CreateGroupRequestExtended.ts deleted file mode 100644 index 1818081..0000000 --- a/lib/classes/packets/CreateGroupRequestExtended.ts +++ /dev/null @@ -1,112 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class CreateGroupRequestExtendedPacket implements Packet -{ - name = 'CreateGroupRequestExtended'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902189; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - GroupLimit: number; - }; - GroupData: { - Name: string; - Charter: string; - ShowInList: boolean; - InsigniaID: UUID; - MembershipFee: number; - OpenEnrollment: boolean; - AllowPublish: boolean; - MaturePublish: boolean; - }; - - getSize(): number - { - return (this.GroupData['Name'].length + 1 + this.GroupData['Charter'].length + 2) + 60; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.AgentData['GroupLimit'], pos); - pos += 4; - buf.write(this.GroupData['Name'], pos); - pos += this.GroupData['Name'].length; - buf.write(this.GroupData['Charter'], pos); - pos += this.GroupData['Charter'].length; - buf.writeUInt8((this.GroupData['ShowInList']) ? 1 : 0, pos++); - this.GroupData['InsigniaID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.GroupData['MembershipFee'], pos); - pos += 4; - buf.writeUInt8((this.GroupData['OpenEnrollment']) ? 1 : 0, pos++); - buf.writeUInt8((this.GroupData['AllowPublish']) ? 1 : 0, pos++); - buf.writeUInt8((this.GroupData['MaturePublish']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - GroupLimit: number - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - GroupLimit: 0 - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupLimit'] = buf.readInt32LE(pos); - pos += 4; - this.AgentData = newObjAgentData; - const newObjGroupData: { - Name: string, - Charter: string, - ShowInList: boolean, - InsigniaID: UUID, - MembershipFee: number, - OpenEnrollment: boolean, - AllowPublish: boolean, - MaturePublish: boolean - } = { - Name: '', - Charter: '', - ShowInList: false, - InsigniaID: UUID.zero(), - MembershipFee: 0, - OpenEnrollment: false, - AllowPublish: false, - MaturePublish: false - }; - newObjGroupData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjGroupData['Charter'] = buf.toString('utf8', pos, length); - pos += length; - newObjGroupData['ShowInList'] = (buf.readUInt8(pos++) === 1); - newObjGroupData['InsigniaID'] = new UUID(buf, pos); - pos += 16; - newObjGroupData['MembershipFee'] = buf.readInt32LE(pos); - pos += 4; - newObjGroupData['OpenEnrollment'] = (buf.readUInt8(pos++) === 1); - newObjGroupData['AllowPublish'] = (buf.readUInt8(pos++) === 1); - newObjGroupData['MaturePublish'] = (buf.readUInt8(pos++) === 1); - this.GroupData = newObjGroupData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/CreateInventoryFolder.ts b/lib/classes/packets/CreateInventoryFolder.ts deleted file mode 100644 index 73f6fad..0000000 --- a/lib/classes/packets/CreateInventoryFolder.ts +++ /dev/null @@ -1,83 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class CreateInventoryFolderPacket implements Packet -{ - name = 'CreateInventoryFolder'; - flags = MessageFlags.FrequencyLow; - id = 4294902033; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - FolderData: { - FolderID: UUID; - ParentID: UUID; - Type: number; - Name: string; - }; - - getSize(): number - { - return (this.FolderData['Name'].length + 1) + 65; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.FolderData['FolderID'].writeToBuffer(buf, pos); - pos += 16; - this.FolderData['ParentID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt8(this.FolderData['Type'], pos++); - buf.write(this.FolderData['Name'], pos); - pos += this.FolderData['Name'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjFolderData: { - FolderID: UUID, - ParentID: UUID, - Type: number, - Name: string - } = { - FolderID: UUID.zero(), - ParentID: UUID.zero(), - Type: 0, - Name: '' - }; - newObjFolderData['FolderID'] = new UUID(buf, pos); - pos += 16; - newObjFolderData['ParentID'] = new UUID(buf, pos); - pos += 16; - newObjFolderData['Type'] = buf.readInt8(pos++); - newObjFolderData['Name'] = buf.toString('utf8', pos, length); - pos += length; - this.FolderData = newObjFolderData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/CreateInventoryItem.ts b/lib/classes/packets/CreateInventoryItem.ts deleted file mode 100644 index 27ff9c5..0000000 --- a/lib/classes/packets/CreateInventoryItem.ts +++ /dev/null @@ -1,114 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class CreateInventoryItemPacket implements Packet -{ - name = 'CreateInventoryItem'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902065; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - InventoryBlock: { - CallbackID: number; - FolderID: UUID; - TransactionID: UUID; - NextOwnerMask: number; - Type: number; - InvType: number; - WearableType: number; - Name: string; - Description: string; - }; - - getSize(): number - { - return (this.InventoryBlock['Name'].length + 1 + this.InventoryBlock['Description'].length + 1) + 75; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.InventoryBlock['CallbackID'], pos); - pos += 4; - this.InventoryBlock['FolderID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryBlock['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.InventoryBlock['NextOwnerMask'], pos); - pos += 4; - buf.writeInt8(this.InventoryBlock['Type'], pos++); - buf.writeInt8(this.InventoryBlock['InvType'], pos++); - buf.writeUInt8(this.InventoryBlock['WearableType'], pos++); - buf.write(this.InventoryBlock['Name'], pos); - pos += this.InventoryBlock['Name'].length; - buf.write(this.InventoryBlock['Description'], pos); - pos += this.InventoryBlock['Description'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjInventoryBlock: { - CallbackID: number, - FolderID: UUID, - TransactionID: UUID, - NextOwnerMask: number, - Type: number, - InvType: number, - WearableType: number, - Name: string, - Description: string - } = { - CallbackID: 0, - FolderID: UUID.zero(), - TransactionID: UUID.zero(), - NextOwnerMask: 0, - Type: 0, - InvType: 0, - WearableType: 0, - Name: '', - Description: '' - }; - newObjInventoryBlock['CallbackID'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryBlock['FolderID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryBlock['TransactionID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryBlock['NextOwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryBlock['Type'] = buf.readInt8(pos++); - newObjInventoryBlock['InvType'] = buf.readInt8(pos++); - newObjInventoryBlock['WearableType'] = buf.readUInt8(pos++); - newObjInventoryBlock['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjInventoryBlock['Description'] = buf.toString('utf8', pos, length); - pos += length; - this.InventoryBlock = newObjInventoryBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/CreateLandmarkForEvent.ts b/lib/classes/packets/CreateLandmarkForEvent.ts deleted file mode 100644 index 0e05fc4..0000000 --- a/lib/classes/packets/CreateLandmarkForEvent.ts +++ /dev/null @@ -1,84 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class CreateLandmarkForEventPacket implements Packet -{ - name = 'CreateLandmarkForEvent'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902066; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - EventData: { - EventID: number; - }; - InventoryBlock: { - FolderID: UUID; - Name: string; - }; - - getSize(): number - { - return (this.InventoryBlock['Name'].length + 1) + 52; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.EventData['EventID'], pos); - pos += 4; - this.InventoryBlock['FolderID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.InventoryBlock['Name'], pos); - pos += this.InventoryBlock['Name'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjEventData: { - EventID: number - } = { - EventID: 0 - }; - newObjEventData['EventID'] = buf.readUInt32LE(pos); - pos += 4; - this.EventData = newObjEventData; - const newObjInventoryBlock: { - FolderID: UUID, - Name: string - } = { - FolderID: UUID.zero(), - Name: '' - }; - newObjInventoryBlock['FolderID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryBlock['Name'] = buf.toString('utf8', pos, length); - pos += length; - this.InventoryBlock = newObjInventoryBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/CreateNewOutfitAttachments.ts b/lib/classes/packets/CreateNewOutfitAttachments.ts deleted file mode 100644 index 835b7a9..0000000 --- a/lib/classes/packets/CreateNewOutfitAttachments.ts +++ /dev/null @@ -1,94 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class CreateNewOutfitAttachmentsPacket implements Packet -{ - name = 'CreateNewOutfitAttachments'; - flags = MessageFlags.FrequencyLow; - id = 4294902158; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - HeaderData: { - NewFolderID: UUID; - }; - ObjectData: { - OldItemID: UUID; - OldFolderID: UUID; - }[]; - - getSize(): number - { - return ((32) * this.ObjectData.length) + 49; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.HeaderData['NewFolderID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - this.ObjectData[i]['OldItemID'].writeToBuffer(buf, pos); - pos += 16; - this.ObjectData[i]['OldFolderID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjHeaderData: { - NewFolderID: UUID - } = { - NewFolderID: UUID.zero() - }; - newObjHeaderData['NewFolderID'] = new UUID(buf, pos); - pos += 16; - this.HeaderData = newObjHeaderData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - OldItemID: UUID, - OldFolderID: UUID - } = { - OldItemID: UUID.zero(), - OldFolderID: UUID.zero() - }; - newObjObjectData['OldItemID'] = new UUID(buf, pos); - pos += 16; - newObjObjectData['OldFolderID'] = new UUID(buf, pos); - pos += 16; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/CreateTrustedCircuit.ts b/lib/classes/packets/CreateTrustedCircuit.ts deleted file mode 100644 index b559358..0000000 --- a/lib/classes/packets/CreateTrustedCircuit.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class CreateTrustedCircuitPacket implements Packet -{ - name = 'CreateTrustedCircuit'; - flags = MessageFlags.FrequencyLow; - id = 4294902152; - - DataBlock: { - EndPointID: UUID; - Digest: Buffer; - }; - - getSize(): number - { - return 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.DataBlock['EndPointID'].writeToBuffer(buf, pos); - pos += 16; - this.DataBlock['Digest'].copy(buf, pos); - pos += 32; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjDataBlock: { - EndPointID: UUID, - Digest: Buffer - } = { - EndPointID: UUID.zero(), - Digest: Buffer.allocUnsafe(0) - }; - newObjDataBlock['EndPointID'] = new UUID(buf, pos); - pos += 16; - newObjDataBlock['Digest'] = buf.slice(pos, pos + 32); - pos += 32; - this.DataBlock = newObjDataBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/CrossedRegion.ts b/lib/classes/packets/CrossedRegion.ts deleted file mode 100644 index 648151a..0000000 --- a/lib/classes/packets/CrossedRegion.ts +++ /dev/null @@ -1,110 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {IPAddress} from '../IPAddress'; -import {Vector3} from '../Vector3'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class CrossedRegionPacket implements Packet -{ - name = 'CrossedRegion'; - flags = MessageFlags.Trusted | MessageFlags.Blacklisted | MessageFlags.FrequencyMedium; - id = 65287; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - RegionData: { - SimIP: IPAddress; - SimPort: number; - RegionHandle: Long; - SeedCapability: string; - }; - Info: { - Position: Vector3; - LookAt: Vector3; - }; - - getSize(): number - { - return (this.RegionData['SeedCapability'].length + 2) + 70; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.RegionData['SimIP'].writeToBuffer(buf, pos); - pos += 4; - buf.writeUInt16LE(this.RegionData['SimPort'], pos); - pos += 2; - buf.writeInt32LE(this.RegionData['RegionHandle'].low, pos); - pos += 4; - buf.writeInt32LE(this.RegionData['RegionHandle'].high, pos); - pos += 4; - buf.write(this.RegionData['SeedCapability'], pos); - pos += this.RegionData['SeedCapability'].length; - this.Info['Position'].writeToBuffer(buf, pos, false); - pos += 12; - this.Info['LookAt'].writeToBuffer(buf, pos, false); - pos += 12; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjRegionData: { - SimIP: IPAddress, - SimPort: number, - RegionHandle: Long, - SeedCapability: string - } = { - SimIP: IPAddress.zero(), - SimPort: 0, - RegionHandle: Long.ZERO, - SeedCapability: '' - }; - newObjRegionData['SimIP'] = new IPAddress(buf, pos); - pos += 4; - newObjRegionData['SimPort'] = buf.readUInt16LE(pos); - pos += 2; - newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjRegionData['SeedCapability'] = buf.toString('utf8', pos, length); - pos += length; - this.RegionData = newObjRegionData; - const newObjInfo: { - Position: Vector3, - LookAt: Vector3 - } = { - Position: Vector3.getZero(), - LookAt: Vector3.getZero() - }; - newObjInfo['Position'] = new Vector3(buf, pos, false); - pos += 12; - newObjInfo['LookAt'] = new Vector3(buf, pos, false); - pos += 12; - this.Info = newObjInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DataHomeLocationReply.ts b/lib/classes/packets/DataHomeLocationReply.ts deleted file mode 100644 index 5aa86de..0000000 --- a/lib/classes/packets/DataHomeLocationReply.ts +++ /dev/null @@ -1,69 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DataHomeLocationReplyPacket implements Packet -{ - name = 'DataHomeLocationReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901828; - - Info: { - AgentID: UUID; - RegionHandle: Long; - Position: Vector3; - LookAt: Vector3; - }; - - getSize(): number - { - return 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.Info['AgentID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.Info['RegionHandle'].low, pos); - pos += 4; - buf.writeInt32LE(this.Info['RegionHandle'].high, pos); - pos += 4; - this.Info['Position'].writeToBuffer(buf, pos, false); - pos += 12; - this.Info['LookAt'].writeToBuffer(buf, pos, false); - pos += 12; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjInfo: { - AgentID: UUID, - RegionHandle: Long, - Position: Vector3, - LookAt: Vector3 - } = { - AgentID: UUID.zero(), - RegionHandle: Long.ZERO, - Position: Vector3.getZero(), - LookAt: Vector3.getZero() - }; - newObjInfo['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjInfo['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjInfo['Position'] = new Vector3(buf, pos, false); - pos += 12; - newObjInfo['LookAt'] = new Vector3(buf, pos, false); - pos += 12; - this.Info = newObjInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DataHomeLocationRequest.ts b/lib/classes/packets/DataHomeLocationRequest.ts deleted file mode 100644 index 970bbc2..0000000 --- a/lib/classes/packets/DataHomeLocationRequest.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DataHomeLocationRequestPacket implements Packet -{ - name = 'DataHomeLocationRequest'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901827; - - Info: { - AgentID: UUID; - KickedFromEstateID: number; - }; - AgentInfo: { - AgentEffectiveMaturity: number; - }; - - getSize(): number - { - return 24; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.Info['AgentID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.Info['KickedFromEstateID'], pos); - pos += 4; - buf.writeUInt32LE(this.AgentInfo['AgentEffectiveMaturity'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjInfo: { - AgentID: UUID, - KickedFromEstateID: number - } = { - AgentID: UUID.zero(), - KickedFromEstateID: 0 - }; - newObjInfo['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjInfo['KickedFromEstateID'] = buf.readUInt32LE(pos); - pos += 4; - this.Info = newObjInfo; - const newObjAgentInfo: { - AgentEffectiveMaturity: number - } = { - AgentEffectiveMaturity: 0 - }; - newObjAgentInfo['AgentEffectiveMaturity'] = buf.readUInt32LE(pos); - pos += 4; - this.AgentInfo = newObjAgentInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DataServerLogout.ts b/lib/classes/packets/DataServerLogout.ts deleted file mode 100644 index 064ead9..0000000 --- a/lib/classes/packets/DataServerLogout.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {IPAddress} from '../IPAddress'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DataServerLogoutPacket implements Packet -{ - name = 'DataServerLogout'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902011; - - UserData: { - AgentID: UUID; - ViewerIP: IPAddress; - Disconnect: boolean; - SessionID: UUID; - }; - - getSize(): number - { - return 37; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.UserData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.UserData['ViewerIP'].writeToBuffer(buf, pos); - pos += 4; - buf.writeUInt8((this.UserData['Disconnect']) ? 1 : 0, pos++); - this.UserData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjUserData: { - AgentID: UUID, - ViewerIP: IPAddress, - Disconnect: boolean, - SessionID: UUID - } = { - AgentID: UUID.zero(), - ViewerIP: IPAddress.zero(), - Disconnect: false, - SessionID: UUID.zero() - }; - newObjUserData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjUserData['ViewerIP'] = new IPAddress(buf, pos); - pos += 4; - newObjUserData['Disconnect'] = (buf.readUInt8(pos++) === 1); - newObjUserData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.UserData = newObjUserData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DeRezAck.ts b/lib/classes/packets/DeRezAck.ts deleted file mode 100644 index 2b98afb..0000000 --- a/lib/classes/packets/DeRezAck.ts +++ /dev/null @@ -1,49 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DeRezAckPacket implements Packet -{ - name = 'DeRezAck'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902052; - - TransactionData: { - TransactionID: UUID; - Success: boolean; - }; - - getSize(): number - { - return 17; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.TransactionData['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.TransactionData['Success']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjTransactionData: { - TransactionID: UUID, - Success: boolean - } = { - TransactionID: UUID.zero(), - Success: false - }; - newObjTransactionData['TransactionID'] = new UUID(buf, pos); - pos += 16; - newObjTransactionData['Success'] = (buf.readUInt8(pos++) === 1); - this.TransactionData = newObjTransactionData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DeRezObject.ts b/lib/classes/packets/DeRezObject.ts deleted file mode 100644 index 8b962f5..0000000 --- a/lib/classes/packets/DeRezObject.ts +++ /dev/null @@ -1,116 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DeRezObjectPacket implements Packet -{ - name = 'DeRezObject'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902051; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - AgentBlock: { - GroupID: UUID; - Destination: number; - DestinationID: UUID; - TransactionID: UUID; - PacketCount: number; - PacketNumber: number; - }; - ObjectData: { - ObjectLocalID: number; - }[]; - - getSize(): number - { - return ((4) * this.ObjectData.length) + 84; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentBlock['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.AgentBlock['Destination'], pos++); - this.AgentBlock['DestinationID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentBlock['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.AgentBlock['PacketCount'], pos++); - buf.writeUInt8(this.AgentBlock['PacketNumber'], pos++); - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjAgentBlock: { - GroupID: UUID, - Destination: number, - DestinationID: UUID, - TransactionID: UUID, - PacketCount: number, - PacketNumber: number - } = { - GroupID: UUID.zero(), - Destination: 0, - DestinationID: UUID.zero(), - TransactionID: UUID.zero(), - PacketCount: 0, - PacketNumber: 0 - }; - newObjAgentBlock['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjAgentBlock['Destination'] = buf.readUInt8(pos++); - newObjAgentBlock['DestinationID'] = new UUID(buf, pos); - pos += 16; - newObjAgentBlock['TransactionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentBlock['PacketCount'] = buf.readUInt8(pos++); - newObjAgentBlock['PacketNumber'] = buf.readUInt8(pos++); - this.AgentBlock = newObjAgentBlock; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectLocalID: number - } = { - ObjectLocalID: 0 - }; - newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); - pos += 4; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DeactivateGestures.ts b/lib/classes/packets/DeactivateGestures.ts deleted file mode 100644 index 5c7309e..0000000 --- a/lib/classes/packets/DeactivateGestures.ts +++ /dev/null @@ -1,88 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DeactivateGesturesPacket implements Packet -{ - name = 'DeactivateGestures'; - flags = MessageFlags.FrequencyLow; - id = 4294902077; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - Flags: number; - }; - Data: { - ItemID: UUID; - GestureFlags: number; - }[]; - - getSize(): number - { - return ((20) * this.Data.length) + 37; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.AgentData['Flags'], pos); - pos += 4; - const count = this.Data.length; - buf.writeUInt8(this.Data.length, pos++); - for (let i = 0; i < count; i++) - { - this.Data[i]['ItemID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.Data[i]['GestureFlags'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - Flags: number - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - Flags: 0 - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.Data = []; - for (let i = 0; i < count; i++) - { - const newObjData: { - ItemID: UUID, - GestureFlags: number - } = { - ItemID: UUID.zero(), - GestureFlags: 0 - }; - newObjData['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjData['GestureFlags'] = buf.readUInt32LE(pos); - pos += 4; - this.Data.push(newObjData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DeclineCallingCard.ts b/lib/classes/packets/DeclineCallingCard.ts deleted file mode 100644 index 8e3b314..0000000 --- a/lib/classes/packets/DeclineCallingCard.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DeclineCallingCardPacket implements Packet -{ - name = 'DeclineCallingCard'; - flags = MessageFlags.FrequencyLow; - id = 4294902063; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - TransactionBlock: { - TransactionID: UUID; - }; - - getSize(): number - { - return 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.TransactionBlock['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjTransactionBlock: { - TransactionID: UUID - } = { - TransactionID: UUID.zero() - }; - newObjTransactionBlock['TransactionID'] = new UUID(buf, pos); - pos += 16; - this.TransactionBlock = newObjTransactionBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DeclineFriendship.ts b/lib/classes/packets/DeclineFriendship.ts deleted file mode 100644 index d606f40..0000000 --- a/lib/classes/packets/DeclineFriendship.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DeclineFriendshipPacket implements Packet -{ - name = 'DeclineFriendship'; - flags = MessageFlags.FrequencyLow; - id = 4294902058; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - TransactionBlock: { - TransactionID: UUID; - }; - - getSize(): number - { - return 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.TransactionBlock['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjTransactionBlock: { - TransactionID: UUID - } = { - TransactionID: UUID.zero() - }; - newObjTransactionBlock['TransactionID'] = new UUID(buf, pos); - pos += 16; - this.TransactionBlock = newObjTransactionBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DenyTrustedCircuit.ts b/lib/classes/packets/DenyTrustedCircuit.ts deleted file mode 100644 index 47a1e8a..0000000 --- a/lib/classes/packets/DenyTrustedCircuit.ts +++ /dev/null @@ -1,44 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DenyTrustedCircuitPacket implements Packet -{ - name = 'DenyTrustedCircuit'; - flags = MessageFlags.FrequencyLow; - id = 4294902153; - - DataBlock: { - EndPointID: UUID; - }; - - getSize(): number - { - return 16; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.DataBlock['EndPointID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjDataBlock: { - EndPointID: UUID - } = { - EndPointID: UUID.zero() - }; - newObjDataBlock['EndPointID'] = new UUID(buf, pos); - pos += 16; - this.DataBlock = newObjDataBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DerezContainer.ts b/lib/classes/packets/DerezContainer.ts deleted file mode 100644 index 473ab3a..0000000 --- a/lib/classes/packets/DerezContainer.ts +++ /dev/null @@ -1,49 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DerezContainerPacket implements Packet -{ - name = 'DerezContainer'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901864; - - Data: { - ObjectID: UUID; - Delete: boolean; - }; - - getSize(): number - { - return 17; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.Data['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.Data['Delete']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjData: { - ObjectID: UUID, - Delete: boolean - } = { - ObjectID: UUID.zero(), - Delete: false - }; - newObjData['ObjectID'] = new UUID(buf, pos); - pos += 16; - newObjData['Delete'] = (buf.readUInt8(pos++) === 1); - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DetachAttachmentIntoInv.ts b/lib/classes/packets/DetachAttachmentIntoInv.ts deleted file mode 100644 index d634510..0000000 --- a/lib/classes/packets/DetachAttachmentIntoInv.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DetachAttachmentIntoInvPacket implements Packet -{ - name = 'DetachAttachmentIntoInv'; - flags = MessageFlags.FrequencyLow; - id = 4294902157; - - ObjectData: { - AgentID: UUID; - ItemID: UUID; - }; - - getSize(): number - { - return 32; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.ObjectData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.ObjectData['ItemID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjObjectData: { - AgentID: UUID, - ItemID: UUID - } = { - AgentID: UUID.zero(), - ItemID: UUID.zero() - }; - newObjObjectData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjObjectData['ItemID'] = new UUID(buf, pos); - pos += 16; - this.ObjectData = newObjObjectData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DirClassifiedQuery.ts b/lib/classes/packets/DirClassifiedQuery.ts deleted file mode 100644 index 3e64b33..0000000 --- a/lib/classes/packets/DirClassifiedQuery.ts +++ /dev/null @@ -1,92 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DirClassifiedQueryPacket implements Packet -{ - name = 'DirClassifiedQuery'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901799; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - QueryData: { - QueryID: UUID; - QueryText: string; - QueryFlags: number; - Category: number; - QueryStart: number; - }; - - getSize(): number - { - return (this.QueryData['QueryText'].length + 1) + 60; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.QueryData['QueryID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.QueryData['QueryText'], pos); - pos += this.QueryData['QueryText'].length; - buf.writeUInt32LE(this.QueryData['QueryFlags'], pos); - pos += 4; - buf.writeUInt32LE(this.QueryData['Category'], pos); - pos += 4; - buf.writeInt32LE(this.QueryData['QueryStart'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjQueryData: { - QueryID: UUID, - QueryText: string, - QueryFlags: number, - Category: number, - QueryStart: number - } = { - QueryID: UUID.zero(), - QueryText: '', - QueryFlags: 0, - Category: 0, - QueryStart: 0 - }; - newObjQueryData['QueryID'] = new UUID(buf, pos); - pos += 16; - newObjQueryData['QueryText'] = buf.toString('utf8', pos, length); - pos += length; - newObjQueryData['QueryFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjQueryData['Category'] = buf.readUInt32LE(pos); - pos += 4; - newObjQueryData['QueryStart'] = buf.readInt32LE(pos); - pos += 4; - this.QueryData = newObjQueryData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DirClassifiedQueryBackend.ts b/lib/classes/packets/DirClassifiedQueryBackend.ts deleted file mode 100644 index b8d9007..0000000 --- a/lib/classes/packets/DirClassifiedQueryBackend.ts +++ /dev/null @@ -1,97 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DirClassifiedQueryBackendPacket implements Packet -{ - name = 'DirClassifiedQueryBackend'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901800; - - AgentData: { - AgentID: UUID; - }; - QueryData: { - QueryID: UUID; - QueryText: string; - QueryFlags: number; - Category: number; - EstateID: number; - Godlike: boolean; - QueryStart: number; - }; - - getSize(): number - { - return (this.QueryData['QueryText'].length + 1) + 49; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.QueryData['QueryID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.QueryData['QueryText'], pos); - pos += this.QueryData['QueryText'].length; - buf.writeUInt32LE(this.QueryData['QueryFlags'], pos); - pos += 4; - buf.writeUInt32LE(this.QueryData['Category'], pos); - pos += 4; - buf.writeUInt32LE(this.QueryData['EstateID'], pos); - pos += 4; - buf.writeUInt8((this.QueryData['Godlike']) ? 1 : 0, pos++); - buf.writeInt32LE(this.QueryData['QueryStart'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjQueryData: { - QueryID: UUID, - QueryText: string, - QueryFlags: number, - Category: number, - EstateID: number, - Godlike: boolean, - QueryStart: number - } = { - QueryID: UUID.zero(), - QueryText: '', - QueryFlags: 0, - Category: 0, - EstateID: 0, - Godlike: false, - QueryStart: 0 - }; - newObjQueryData['QueryID'] = new UUID(buf, pos); - pos += 16; - newObjQueryData['QueryText'] = buf.toString('utf8', pos, length); - pos += length; - newObjQueryData['QueryFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjQueryData['Category'] = buf.readUInt32LE(pos); - pos += 4; - newObjQueryData['EstateID'] = buf.readUInt32LE(pos); - pos += 4; - newObjQueryData['Godlike'] = (buf.readUInt8(pos++) === 1); - newObjQueryData['QueryStart'] = buf.readInt32LE(pos); - pos += 4; - this.QueryData = newObjQueryData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DirClassifiedReply.ts b/lib/classes/packets/DirClassifiedReply.ts deleted file mode 100644 index 30d99f9..0000000 --- a/lib/classes/packets/DirClassifiedReply.ts +++ /dev/null @@ -1,146 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DirClassifiedReplyPacket implements Packet -{ - name = 'DirClassifiedReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901801; - - AgentData: { - AgentID: UUID; - }; - QueryData: { - QueryID: UUID; - }; - QueryReplies: { - ClassifiedID: UUID; - Name: string; - ClassifiedFlags: number; - CreationDate: number; - ExpirationDate: number; - PriceForListing: number; - }[]; - StatusData: { - Status: number; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.QueryReplies, 'Name', 1) + 29) * this.QueryReplies.length) + ((4) * this.StatusData.length) + 34; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.QueryData['QueryID'].writeToBuffer(buf, pos); - pos += 16; - let count = this.QueryReplies.length; - buf.writeUInt8(this.QueryReplies.length, pos++); - for (let i = 0; i < count; i++) - { - this.QueryReplies[i]['ClassifiedID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.QueryReplies[i]['Name'], pos); - pos += this.QueryReplies[i]['Name'].length; - buf.writeUInt8(this.QueryReplies[i]['ClassifiedFlags'], pos++); - buf.writeUInt32LE(this.QueryReplies[i]['CreationDate'], pos); - pos += 4; - buf.writeUInt32LE(this.QueryReplies[i]['ExpirationDate'], pos); - pos += 4; - buf.writeInt32LE(this.QueryReplies[i]['PriceForListing'], pos); - pos += 4; - } - count = this.StatusData.length; - buf.writeUInt8(this.StatusData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.StatusData[i]['Status'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjQueryData: { - QueryID: UUID - } = { - QueryID: UUID.zero() - }; - newObjQueryData['QueryID'] = new UUID(buf, pos); - pos += 16; - this.QueryData = newObjQueryData; - let count = buf.readUInt8(pos++); - this.QueryReplies = []; - for (let i = 0; i < count; i++) - { - const newObjQueryReplies: { - ClassifiedID: UUID, - Name: string, - ClassifiedFlags: number, - CreationDate: number, - ExpirationDate: number, - PriceForListing: number - } = { - ClassifiedID: UUID.zero(), - Name: '', - ClassifiedFlags: 0, - CreationDate: 0, - ExpirationDate: 0, - PriceForListing: 0 - }; - newObjQueryReplies['ClassifiedID'] = new UUID(buf, pos); - pos += 16; - newObjQueryReplies['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjQueryReplies['ClassifiedFlags'] = buf.readUInt8(pos++); - newObjQueryReplies['CreationDate'] = buf.readUInt32LE(pos); - pos += 4; - newObjQueryReplies['ExpirationDate'] = buf.readUInt32LE(pos); - pos += 4; - newObjQueryReplies['PriceForListing'] = buf.readInt32LE(pos); - pos += 4; - this.QueryReplies.push(newObjQueryReplies); - } - count = buf.readUInt8(pos++); - this.StatusData = []; - for (let i = 0; i < count; i++) - { - const newObjStatusData: { - Status: number - } = { - Status: 0 - }; - newObjStatusData['Status'] = buf.readUInt32LE(pos); - pos += 4; - this.StatusData.push(newObjStatusData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DirEventsReply.ts b/lib/classes/packets/DirEventsReply.ts deleted file mode 100644 index 698d2b4..0000000 --- a/lib/classes/packets/DirEventsReply.ts +++ /dev/null @@ -1,148 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DirEventsReplyPacket implements Packet -{ - name = 'DirEventsReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901797; - - AgentData: { - AgentID: UUID; - }; - QueryData: { - QueryID: UUID; - }; - QueryReplies: { - OwnerID: UUID; - Name: string; - EventID: number; - Date: string; - UnixTime: number; - EventFlags: number; - }[]; - StatusData: { - Status: number; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.QueryReplies, 'Name', 1) + this.calculateVarVarSize(this.QueryReplies, 'Date', 1) + 28) * this.QueryReplies.length) + ((4) * this.StatusData.length) + 34; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.QueryData['QueryID'].writeToBuffer(buf, pos); - pos += 16; - let count = this.QueryReplies.length; - buf.writeUInt8(this.QueryReplies.length, pos++); - for (let i = 0; i < count; i++) - { - this.QueryReplies[i]['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.QueryReplies[i]['Name'], pos); - pos += this.QueryReplies[i]['Name'].length; - buf.writeUInt32LE(this.QueryReplies[i]['EventID'], pos); - pos += 4; - buf.write(this.QueryReplies[i]['Date'], pos); - pos += this.QueryReplies[i]['Date'].length; - buf.writeUInt32LE(this.QueryReplies[i]['UnixTime'], pos); - pos += 4; - buf.writeUInt32LE(this.QueryReplies[i]['EventFlags'], pos); - pos += 4; - } - count = this.StatusData.length; - buf.writeUInt8(this.StatusData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.StatusData[i]['Status'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjQueryData: { - QueryID: UUID - } = { - QueryID: UUID.zero() - }; - newObjQueryData['QueryID'] = new UUID(buf, pos); - pos += 16; - this.QueryData = newObjQueryData; - let count = buf.readUInt8(pos++); - this.QueryReplies = []; - for (let i = 0; i < count; i++) - { - const newObjQueryReplies: { - OwnerID: UUID, - Name: string, - EventID: number, - Date: string, - UnixTime: number, - EventFlags: number - } = { - OwnerID: UUID.zero(), - Name: '', - EventID: 0, - Date: '', - UnixTime: 0, - EventFlags: 0 - }; - newObjQueryReplies['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjQueryReplies['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjQueryReplies['EventID'] = buf.readUInt32LE(pos); - pos += 4; - newObjQueryReplies['Date'] = buf.toString('utf8', pos, length); - pos += length; - newObjQueryReplies['UnixTime'] = buf.readUInt32LE(pos); - pos += 4; - newObjQueryReplies['EventFlags'] = buf.readUInt32LE(pos); - pos += 4; - this.QueryReplies.push(newObjQueryReplies); - } - count = buf.readUInt8(pos++); - this.StatusData = []; - for (let i = 0; i < count; i++) - { - const newObjStatusData: { - Status: number - } = { - Status: 0 - }; - newObjStatusData['Status'] = buf.readUInt32LE(pos); - pos += 4; - this.StatusData.push(newObjStatusData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DirFindQuery.ts b/lib/classes/packets/DirFindQuery.ts deleted file mode 100644 index 6c383ff..0000000 --- a/lib/classes/packets/DirFindQuery.ts +++ /dev/null @@ -1,85 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DirFindQueryPacket implements Packet -{ - name = 'DirFindQuery'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901791; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - QueryData: { - QueryID: UUID; - QueryText: string; - QueryFlags: number; - QueryStart: number; - }; - - getSize(): number - { - return (this.QueryData['QueryText'].length + 1) + 56; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.QueryData['QueryID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.QueryData['QueryText'], pos); - pos += this.QueryData['QueryText'].length; - buf.writeUInt32LE(this.QueryData['QueryFlags'], pos); - pos += 4; - buf.writeInt32LE(this.QueryData['QueryStart'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjQueryData: { - QueryID: UUID, - QueryText: string, - QueryFlags: number, - QueryStart: number - } = { - QueryID: UUID.zero(), - QueryText: '', - QueryFlags: 0, - QueryStart: 0 - }; - newObjQueryData['QueryID'] = new UUID(buf, pos); - pos += 16; - newObjQueryData['QueryText'] = buf.toString('utf8', pos, length); - pos += length; - newObjQueryData['QueryFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjQueryData['QueryStart'] = buf.readInt32LE(pos); - pos += 4; - this.QueryData = newObjQueryData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DirFindQueryBackend.ts b/lib/classes/packets/DirFindQueryBackend.ts deleted file mode 100644 index 69e9151..0000000 --- a/lib/classes/packets/DirFindQueryBackend.ts +++ /dev/null @@ -1,90 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DirFindQueryBackendPacket implements Packet -{ - name = 'DirFindQueryBackend'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901792; - - AgentData: { - AgentID: UUID; - }; - QueryData: { - QueryID: UUID; - QueryText: string; - QueryFlags: number; - QueryStart: number; - EstateID: number; - Godlike: boolean; - }; - - getSize(): number - { - return (this.QueryData['QueryText'].length + 1) + 45; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.QueryData['QueryID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.QueryData['QueryText'], pos); - pos += this.QueryData['QueryText'].length; - buf.writeUInt32LE(this.QueryData['QueryFlags'], pos); - pos += 4; - buf.writeInt32LE(this.QueryData['QueryStart'], pos); - pos += 4; - buf.writeUInt32LE(this.QueryData['EstateID'], pos); - pos += 4; - buf.writeUInt8((this.QueryData['Godlike']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjQueryData: { - QueryID: UUID, - QueryText: string, - QueryFlags: number, - QueryStart: number, - EstateID: number, - Godlike: boolean - } = { - QueryID: UUID.zero(), - QueryText: '', - QueryFlags: 0, - QueryStart: 0, - EstateID: 0, - Godlike: false - }; - newObjQueryData['QueryID'] = new UUID(buf, pos); - pos += 16; - newObjQueryData['QueryText'] = buf.toString('utf8', pos, length); - pos += length; - newObjQueryData['QueryFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjQueryData['QueryStart'] = buf.readInt32LE(pos); - pos += 4; - newObjQueryData['EstateID'] = buf.readUInt32LE(pos); - pos += 4; - newObjQueryData['Godlike'] = (buf.readUInt8(pos++) === 1); - this.QueryData = newObjQueryData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DirGroupsReply.ts b/lib/classes/packets/DirGroupsReply.ts deleted file mode 100644 index a8165c8..0000000 --- a/lib/classes/packets/DirGroupsReply.ts +++ /dev/null @@ -1,111 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DirGroupsReplyPacket implements Packet -{ - name = 'DirGroupsReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901798; - - AgentData: { - AgentID: UUID; - }; - QueryData: { - QueryID: UUID; - }; - QueryReplies: { - GroupID: UUID; - GroupName: string; - Members: number; - SearchOrder: number; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.QueryReplies, 'GroupName', 1) + 24) * this.QueryReplies.length) + 33; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.QueryData['QueryID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.QueryReplies.length; - buf.writeUInt8(this.QueryReplies.length, pos++); - for (let i = 0; i < count; i++) - { - this.QueryReplies[i]['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.QueryReplies[i]['GroupName'], pos); - pos += this.QueryReplies[i]['GroupName'].length; - buf.writeInt32LE(this.QueryReplies[i]['Members'], pos); - pos += 4; - buf.writeFloatLE(this.QueryReplies[i]['SearchOrder'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjQueryData: { - QueryID: UUID - } = { - QueryID: UUID.zero() - }; - newObjQueryData['QueryID'] = new UUID(buf, pos); - pos += 16; - this.QueryData = newObjQueryData; - const count = buf.readUInt8(pos++); - this.QueryReplies = []; - for (let i = 0; i < count; i++) - { - const newObjQueryReplies: { - GroupID: UUID, - GroupName: string, - Members: number, - SearchOrder: number - } = { - GroupID: UUID.zero(), - GroupName: '', - Members: 0, - SearchOrder: 0 - }; - newObjQueryReplies['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjQueryReplies['GroupName'] = buf.toString('utf8', pos, length); - pos += length; - newObjQueryReplies['Members'] = buf.readInt32LE(pos); - pos += 4; - newObjQueryReplies['SearchOrder'] = buf.readFloatLE(pos); - pos += 4; - this.QueryReplies.push(newObjQueryReplies); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DirLandQuery.ts b/lib/classes/packets/DirLandQuery.ts deleted file mode 100644 index c80660c..0000000 --- a/lib/classes/packets/DirLandQuery.ts +++ /dev/null @@ -1,99 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DirLandQueryPacket implements Packet -{ - name = 'DirLandQuery'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901808; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - QueryData: { - QueryID: UUID; - QueryFlags: number; - SearchType: number; - Price: number; - Area: number; - QueryStart: number; - }; - - getSize(): number - { - return 68; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.QueryData['QueryID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.QueryData['QueryFlags'], pos); - pos += 4; - buf.writeUInt32LE(this.QueryData['SearchType'], pos); - pos += 4; - buf.writeInt32LE(this.QueryData['Price'], pos); - pos += 4; - buf.writeInt32LE(this.QueryData['Area'], pos); - pos += 4; - buf.writeInt32LE(this.QueryData['QueryStart'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjQueryData: { - QueryID: UUID, - QueryFlags: number, - SearchType: number, - Price: number, - Area: number, - QueryStart: number - } = { - QueryID: UUID.zero(), - QueryFlags: 0, - SearchType: 0, - Price: 0, - Area: 0, - QueryStart: 0 - }; - newObjQueryData['QueryID'] = new UUID(buf, pos); - pos += 16; - newObjQueryData['QueryFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjQueryData['SearchType'] = buf.readUInt32LE(pos); - pos += 4; - newObjQueryData['Price'] = buf.readInt32LE(pos); - pos += 4; - newObjQueryData['Area'] = buf.readInt32LE(pos); - pos += 4; - newObjQueryData['QueryStart'] = buf.readInt32LE(pos); - pos += 4; - this.QueryData = newObjQueryData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DirLandQueryBackend.ts b/lib/classes/packets/DirLandQueryBackend.ts deleted file mode 100644 index e6f0a92..0000000 --- a/lib/classes/packets/DirLandQueryBackend.ts +++ /dev/null @@ -1,104 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DirLandQueryBackendPacket implements Packet -{ - name = 'DirLandQueryBackend'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901809; - - AgentData: { - AgentID: UUID; - }; - QueryData: { - QueryID: UUID; - QueryFlags: number; - SearchType: number; - Price: number; - Area: number; - QueryStart: number; - EstateID: number; - Godlike: boolean; - }; - - getSize(): number - { - return 57; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.QueryData['QueryID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.QueryData['QueryFlags'], pos); - pos += 4; - buf.writeUInt32LE(this.QueryData['SearchType'], pos); - pos += 4; - buf.writeInt32LE(this.QueryData['Price'], pos); - pos += 4; - buf.writeInt32LE(this.QueryData['Area'], pos); - pos += 4; - buf.writeInt32LE(this.QueryData['QueryStart'], pos); - pos += 4; - buf.writeUInt32LE(this.QueryData['EstateID'], pos); - pos += 4; - buf.writeUInt8((this.QueryData['Godlike']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjQueryData: { - QueryID: UUID, - QueryFlags: number, - SearchType: number, - Price: number, - Area: number, - QueryStart: number, - EstateID: number, - Godlike: boolean - } = { - QueryID: UUID.zero(), - QueryFlags: 0, - SearchType: 0, - Price: 0, - Area: 0, - QueryStart: 0, - EstateID: 0, - Godlike: false - }; - newObjQueryData['QueryID'] = new UUID(buf, pos); - pos += 16; - newObjQueryData['QueryFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjQueryData['SearchType'] = buf.readUInt32LE(pos); - pos += 4; - newObjQueryData['Price'] = buf.readInt32LE(pos); - pos += 4; - newObjQueryData['Area'] = buf.readInt32LE(pos); - pos += 4; - newObjQueryData['QueryStart'] = buf.readInt32LE(pos); - pos += 4; - newObjQueryData['EstateID'] = buf.readUInt32LE(pos); - pos += 4; - newObjQueryData['Godlike'] = (buf.readUInt8(pos++) === 1); - this.QueryData = newObjQueryData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DirLandReply.ts b/lib/classes/packets/DirLandReply.ts deleted file mode 100644 index 7bed8b9..0000000 --- a/lib/classes/packets/DirLandReply.ts +++ /dev/null @@ -1,121 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DirLandReplyPacket implements Packet -{ - name = 'DirLandReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyLow; - id = 4294901810; - - AgentData: { - AgentID: UUID; - }; - QueryData: { - QueryID: UUID; - }; - QueryReplies: { - ParcelID: UUID; - Name: string; - Auction: boolean; - ForSale: boolean; - SalePrice: number; - ActualArea: number; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.QueryReplies, 'Name', 1) + 26) * this.QueryReplies.length) + 33; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.QueryData['QueryID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.QueryReplies.length; - buf.writeUInt8(this.QueryReplies.length, pos++); - for (let i = 0; i < count; i++) - { - this.QueryReplies[i]['ParcelID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.QueryReplies[i]['Name'], pos); - pos += this.QueryReplies[i]['Name'].length; - buf.writeUInt8((this.QueryReplies[i]['Auction']) ? 1 : 0, pos++); - buf.writeUInt8((this.QueryReplies[i]['ForSale']) ? 1 : 0, pos++); - buf.writeInt32LE(this.QueryReplies[i]['SalePrice'], pos); - pos += 4; - buf.writeInt32LE(this.QueryReplies[i]['ActualArea'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjQueryData: { - QueryID: UUID - } = { - QueryID: UUID.zero() - }; - newObjQueryData['QueryID'] = new UUID(buf, pos); - pos += 16; - this.QueryData = newObjQueryData; - const count = buf.readUInt8(pos++); - this.QueryReplies = []; - for (let i = 0; i < count; i++) - { - const newObjQueryReplies: { - ParcelID: UUID, - Name: string, - Auction: boolean, - ForSale: boolean, - SalePrice: number, - ActualArea: number - } = { - ParcelID: UUID.zero(), - Name: '', - Auction: false, - ForSale: false, - SalePrice: 0, - ActualArea: 0 - }; - newObjQueryReplies['ParcelID'] = new UUID(buf, pos); - pos += 16; - newObjQueryReplies['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjQueryReplies['Auction'] = (buf.readUInt8(pos++) === 1); - newObjQueryReplies['ForSale'] = (buf.readUInt8(pos++) === 1); - newObjQueryReplies['SalePrice'] = buf.readInt32LE(pos); - pos += 4; - newObjQueryReplies['ActualArea'] = buf.readInt32LE(pos); - pos += 4; - this.QueryReplies.push(newObjQueryReplies); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DirPeopleReply.ts b/lib/classes/packets/DirPeopleReply.ts deleted file mode 100644 index e71e33b..0000000 --- a/lib/classes/packets/DirPeopleReply.ts +++ /dev/null @@ -1,123 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DirPeopleReplyPacket implements Packet -{ - name = 'DirPeopleReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901796; - - AgentData: { - AgentID: UUID; - }; - QueryData: { - QueryID: UUID; - }; - QueryReplies: { - AgentID: UUID; - FirstName: string; - LastName: string; - Group: string; - Online: boolean; - Reputation: number; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.QueryReplies, 'FirstName', 1) + this.calculateVarVarSize(this.QueryReplies, 'LastName', 1) + this.calculateVarVarSize(this.QueryReplies, 'Group', 1) + 21) * this.QueryReplies.length) + 33; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.QueryData['QueryID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.QueryReplies.length; - buf.writeUInt8(this.QueryReplies.length, pos++); - for (let i = 0; i < count; i++) - { - this.QueryReplies[i]['AgentID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.QueryReplies[i]['FirstName'], pos); - pos += this.QueryReplies[i]['FirstName'].length; - buf.write(this.QueryReplies[i]['LastName'], pos); - pos += this.QueryReplies[i]['LastName'].length; - buf.write(this.QueryReplies[i]['Group'], pos); - pos += this.QueryReplies[i]['Group'].length; - buf.writeUInt8((this.QueryReplies[i]['Online']) ? 1 : 0, pos++); - buf.writeInt32LE(this.QueryReplies[i]['Reputation'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjQueryData: { - QueryID: UUID - } = { - QueryID: UUID.zero() - }; - newObjQueryData['QueryID'] = new UUID(buf, pos); - pos += 16; - this.QueryData = newObjQueryData; - const count = buf.readUInt8(pos++); - this.QueryReplies = []; - for (let i = 0; i < count; i++) - { - const newObjQueryReplies: { - AgentID: UUID, - FirstName: string, - LastName: string, - Group: string, - Online: boolean, - Reputation: number - } = { - AgentID: UUID.zero(), - FirstName: '', - LastName: '', - Group: '', - Online: false, - Reputation: 0 - }; - newObjQueryReplies['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjQueryReplies['FirstName'] = buf.toString('utf8', pos, length); - pos += length; - newObjQueryReplies['LastName'] = buf.toString('utf8', pos, length); - pos += length; - newObjQueryReplies['Group'] = buf.toString('utf8', pos, length); - pos += length; - newObjQueryReplies['Online'] = (buf.readUInt8(pos++) === 1); - newObjQueryReplies['Reputation'] = buf.readInt32LE(pos); - pos += 4; - this.QueryReplies.push(newObjQueryReplies); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DirPlacesQuery.ts b/lib/classes/packets/DirPlacesQuery.ts deleted file mode 100644 index 0efdb1d..0000000 --- a/lib/classes/packets/DirPlacesQuery.ts +++ /dev/null @@ -1,97 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DirPlacesQueryPacket implements Packet -{ - name = 'DirPlacesQuery'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901793; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - QueryData: { - QueryID: UUID; - QueryText: string; - QueryFlags: number; - Category: number; - SimName: string; - QueryStart: number; - }; - - getSize(): number - { - return (this.QueryData['QueryText'].length + 1 + this.QueryData['SimName'].length + 1) + 57; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.QueryData['QueryID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.QueryData['QueryText'], pos); - pos += this.QueryData['QueryText'].length; - buf.writeUInt32LE(this.QueryData['QueryFlags'], pos); - pos += 4; - buf.writeInt8(this.QueryData['Category'], pos++); - buf.write(this.QueryData['SimName'], pos); - pos += this.QueryData['SimName'].length; - buf.writeInt32LE(this.QueryData['QueryStart'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjQueryData: { - QueryID: UUID, - QueryText: string, - QueryFlags: number, - Category: number, - SimName: string, - QueryStart: number - } = { - QueryID: UUID.zero(), - QueryText: '', - QueryFlags: 0, - Category: 0, - SimName: '', - QueryStart: 0 - }; - newObjQueryData['QueryID'] = new UUID(buf, pos); - pos += 16; - newObjQueryData['QueryText'] = buf.toString('utf8', pos, length); - pos += length; - newObjQueryData['QueryFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjQueryData['Category'] = buf.readInt8(pos++); - newObjQueryData['SimName'] = buf.toString('utf8', pos, length); - pos += length; - newObjQueryData['QueryStart'] = buf.readInt32LE(pos); - pos += 4; - this.QueryData = newObjQueryData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DirPlacesQueryBackend.ts b/lib/classes/packets/DirPlacesQueryBackend.ts deleted file mode 100644 index 708f634..0000000 --- a/lib/classes/packets/DirPlacesQueryBackend.ts +++ /dev/null @@ -1,102 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DirPlacesQueryBackendPacket implements Packet -{ - name = 'DirPlacesQueryBackend'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901794; - - AgentData: { - AgentID: UUID; - }; - QueryData: { - QueryID: UUID; - QueryText: string; - QueryFlags: number; - Category: number; - SimName: string; - EstateID: number; - Godlike: boolean; - QueryStart: number; - }; - - getSize(): number - { - return (this.QueryData['QueryText'].length + 1 + this.QueryData['SimName'].length + 1) + 46; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.QueryData['QueryID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.QueryData['QueryText'], pos); - pos += this.QueryData['QueryText'].length; - buf.writeUInt32LE(this.QueryData['QueryFlags'], pos); - pos += 4; - buf.writeInt8(this.QueryData['Category'], pos++); - buf.write(this.QueryData['SimName'], pos); - pos += this.QueryData['SimName'].length; - buf.writeUInt32LE(this.QueryData['EstateID'], pos); - pos += 4; - buf.writeUInt8((this.QueryData['Godlike']) ? 1 : 0, pos++); - buf.writeInt32LE(this.QueryData['QueryStart'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjQueryData: { - QueryID: UUID, - QueryText: string, - QueryFlags: number, - Category: number, - SimName: string, - EstateID: number, - Godlike: boolean, - QueryStart: number - } = { - QueryID: UUID.zero(), - QueryText: '', - QueryFlags: 0, - Category: 0, - SimName: '', - EstateID: 0, - Godlike: false, - QueryStart: 0 - }; - newObjQueryData['QueryID'] = new UUID(buf, pos); - pos += 16; - newObjQueryData['QueryText'] = buf.toString('utf8', pos, length); - pos += length; - newObjQueryData['QueryFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjQueryData['Category'] = buf.readInt8(pos++); - newObjQueryData['SimName'] = buf.toString('utf8', pos, length); - pos += length; - newObjQueryData['EstateID'] = buf.readUInt32LE(pos); - pos += 4; - newObjQueryData['Godlike'] = (buf.readUInt8(pos++) === 1); - newObjQueryData['QueryStart'] = buf.readInt32LE(pos); - pos += 4; - this.QueryData = newObjQueryData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DirPlacesReply.ts b/lib/classes/packets/DirPlacesReply.ts deleted file mode 100644 index 4fbe505..0000000 --- a/lib/classes/packets/DirPlacesReply.ts +++ /dev/null @@ -1,147 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DirPlacesReplyPacket implements Packet -{ - name = 'DirPlacesReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901795; - - AgentData: { - AgentID: UUID; - }; - QueryData: { - QueryID: UUID; - }[]; - QueryReplies: { - ParcelID: UUID; - Name: string; - ForSale: boolean; - Auction: boolean; - Dwell: number; - }[]; - StatusData: { - Status: number; - }[]; - - getSize(): number - { - return ((16) * this.QueryData.length) + ((this.calculateVarVarSize(this.QueryReplies, 'Name', 1) + 22) * this.QueryReplies.length) + ((4) * this.StatusData.length) + 19; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - let count = this.QueryData.length; - buf.writeUInt8(this.QueryData.length, pos++); - for (let i = 0; i < count; i++) - { - this.QueryData[i]['QueryID'].writeToBuffer(buf, pos); - pos += 16; - } - count = this.QueryReplies.length; - buf.writeUInt8(this.QueryReplies.length, pos++); - for (let i = 0; i < count; i++) - { - this.QueryReplies[i]['ParcelID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.QueryReplies[i]['Name'], pos); - pos += this.QueryReplies[i]['Name'].length; - buf.writeUInt8((this.QueryReplies[i]['ForSale']) ? 1 : 0, pos++); - buf.writeUInt8((this.QueryReplies[i]['Auction']) ? 1 : 0, pos++); - buf.writeFloatLE(this.QueryReplies[i]['Dwell'], pos); - pos += 4; - } - count = this.StatusData.length; - buf.writeUInt8(this.StatusData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.StatusData[i]['Status'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - let count = buf.readUInt8(pos++); - this.QueryData = []; - for (let i = 0; i < count; i++) - { - const newObjQueryData: { - QueryID: UUID - } = { - QueryID: UUID.zero() - }; - newObjQueryData['QueryID'] = new UUID(buf, pos); - pos += 16; - this.QueryData.push(newObjQueryData); - } - count = buf.readUInt8(pos++); - this.QueryReplies = []; - for (let i = 0; i < count; i++) - { - const newObjQueryReplies: { - ParcelID: UUID, - Name: string, - ForSale: boolean, - Auction: boolean, - Dwell: number - } = { - ParcelID: UUID.zero(), - Name: '', - ForSale: false, - Auction: false, - Dwell: 0 - }; - newObjQueryReplies['ParcelID'] = new UUID(buf, pos); - pos += 16; - newObjQueryReplies['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjQueryReplies['ForSale'] = (buf.readUInt8(pos++) === 1); - newObjQueryReplies['Auction'] = (buf.readUInt8(pos++) === 1); - newObjQueryReplies['Dwell'] = buf.readFloatLE(pos); - pos += 4; - this.QueryReplies.push(newObjQueryReplies); - } - count = buf.readUInt8(pos++); - this.StatusData = []; - for (let i = 0; i < count; i++) - { - const newObjStatusData: { - Status: number - } = { - Status: 0 - }; - newObjStatusData['Status'] = buf.readUInt32LE(pos); - pos += 4; - this.StatusData.push(newObjStatusData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DirPopularQuery.ts b/lib/classes/packets/DirPopularQuery.ts deleted file mode 100644 index cf750f0..0000000 --- a/lib/classes/packets/DirPopularQuery.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DirPopularQueryPacket implements Packet -{ - name = 'DirPopularQuery'; - flags = MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyLow; - id = 4294901811; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - QueryData: { - QueryID: UUID; - QueryFlags: number; - }; - - getSize(): number - { - return 52; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.QueryData['QueryID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.QueryData['QueryFlags'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjQueryData: { - QueryID: UUID, - QueryFlags: number - } = { - QueryID: UUID.zero(), - QueryFlags: 0 - }; - newObjQueryData['QueryID'] = new UUID(buf, pos); - pos += 16; - newObjQueryData['QueryFlags'] = buf.readUInt32LE(pos); - pos += 4; - this.QueryData = newObjQueryData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DirPopularQueryBackend.ts b/lib/classes/packets/DirPopularQueryBackend.ts deleted file mode 100644 index c0b1897..0000000 --- a/lib/classes/packets/DirPopularQueryBackend.ts +++ /dev/null @@ -1,76 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DirPopularQueryBackendPacket implements Packet -{ - name = 'DirPopularQueryBackend'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyLow; - id = 4294901812; - - AgentData: { - AgentID: UUID; - }; - QueryData: { - QueryID: UUID; - QueryFlags: number; - EstateID: number; - Godlike: boolean; - }; - - getSize(): number - { - return 41; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.QueryData['QueryID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.QueryData['QueryFlags'], pos); - pos += 4; - buf.writeUInt32LE(this.QueryData['EstateID'], pos); - pos += 4; - buf.writeUInt8((this.QueryData['Godlike']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjQueryData: { - QueryID: UUID, - QueryFlags: number, - EstateID: number, - Godlike: boolean - } = { - QueryID: UUID.zero(), - QueryFlags: 0, - EstateID: 0, - Godlike: false - }; - newObjQueryData['QueryID'] = new UUID(buf, pos); - pos += 16; - newObjQueryData['QueryFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjQueryData['EstateID'] = buf.readUInt32LE(pos); - pos += 4; - newObjQueryData['Godlike'] = (buf.readUInt8(pos++) === 1); - this.QueryData = newObjQueryData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DirPopularReply.ts b/lib/classes/packets/DirPopularReply.ts deleted file mode 100644 index 0beed87..0000000 --- a/lib/classes/packets/DirPopularReply.ts +++ /dev/null @@ -1,104 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DirPopularReplyPacket implements Packet -{ - name = 'DirPopularReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyLow; - id = 4294901813; - - AgentData: { - AgentID: UUID; - }; - QueryData: { - QueryID: UUID; - }; - QueryReplies: { - ParcelID: UUID; - Name: string; - Dwell: number; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.QueryReplies, 'Name', 1) + 20) * this.QueryReplies.length) + 33; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.QueryData['QueryID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.QueryReplies.length; - buf.writeUInt8(this.QueryReplies.length, pos++); - for (let i = 0; i < count; i++) - { - this.QueryReplies[i]['ParcelID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.QueryReplies[i]['Name'], pos); - pos += this.QueryReplies[i]['Name'].length; - buf.writeFloatLE(this.QueryReplies[i]['Dwell'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjQueryData: { - QueryID: UUID - } = { - QueryID: UUID.zero() - }; - newObjQueryData['QueryID'] = new UUID(buf, pos); - pos += 16; - this.QueryData = newObjQueryData; - const count = buf.readUInt8(pos++); - this.QueryReplies = []; - for (let i = 0; i < count; i++) - { - const newObjQueryReplies: { - ParcelID: UUID, - Name: string, - Dwell: number - } = { - ParcelID: UUID.zero(), - Name: '', - Dwell: 0 - }; - newObjQueryReplies['ParcelID'] = new UUID(buf, pos); - pos += 16; - newObjQueryReplies['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjQueryReplies['Dwell'] = buf.readFloatLE(pos); - pos += 4; - this.QueryReplies.push(newObjQueryReplies); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/DisableSimulator.ts b/lib/classes/packets/DisableSimulator.ts deleted file mode 100644 index 7d62185..0000000 --- a/lib/classes/packets/DisableSimulator.ts +++ /dev/null @@ -1,28 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class DisableSimulatorPacket implements Packet -{ - name = 'DisableSimulator'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901912; - - - getSize(): number - { - return 0; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - return 0; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - return 0; - } -} - diff --git a/lib/classes/packets/EconomyData.ts b/lib/classes/packets/EconomyData.ts deleted file mode 100644 index a90923f..0000000 --- a/lib/classes/packets/EconomyData.ts +++ /dev/null @@ -1,155 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class EconomyDataPacket implements Packet -{ - name = 'EconomyData'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901785; - - Info: { - ObjectCapacity: number; - ObjectCount: number; - PriceEnergyUnit: number; - PriceObjectClaim: number; - PricePublicObjectDecay: number; - PricePublicObjectDelete: number; - PriceParcelClaim: number; - PriceParcelClaimFactor: number; - PriceUpload: number; - PriceRentLight: number; - TeleportMinPrice: number; - TeleportPriceExponent: number; - EnergyEfficiency: number; - PriceObjectRent: number; - PriceObjectScaleFactor: number; - PriceParcelRent: number; - PriceGroupCreate: number; - }; - - getSize(): number - { - return 68; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeInt32LE(this.Info['ObjectCapacity'], pos); - pos += 4; - buf.writeInt32LE(this.Info['ObjectCount'], pos); - pos += 4; - buf.writeInt32LE(this.Info['PriceEnergyUnit'], pos); - pos += 4; - buf.writeInt32LE(this.Info['PriceObjectClaim'], pos); - pos += 4; - buf.writeInt32LE(this.Info['PricePublicObjectDecay'], pos); - pos += 4; - buf.writeInt32LE(this.Info['PricePublicObjectDelete'], pos); - pos += 4; - buf.writeInt32LE(this.Info['PriceParcelClaim'], pos); - pos += 4; - buf.writeFloatLE(this.Info['PriceParcelClaimFactor'], pos); - pos += 4; - buf.writeInt32LE(this.Info['PriceUpload'], pos); - pos += 4; - buf.writeInt32LE(this.Info['PriceRentLight'], pos); - pos += 4; - buf.writeInt32LE(this.Info['TeleportMinPrice'], pos); - pos += 4; - buf.writeFloatLE(this.Info['TeleportPriceExponent'], pos); - pos += 4; - buf.writeFloatLE(this.Info['EnergyEfficiency'], pos); - pos += 4; - buf.writeFloatLE(this.Info['PriceObjectRent'], pos); - pos += 4; - buf.writeFloatLE(this.Info['PriceObjectScaleFactor'], pos); - pos += 4; - buf.writeInt32LE(this.Info['PriceParcelRent'], pos); - pos += 4; - buf.writeInt32LE(this.Info['PriceGroupCreate'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjInfo: { - ObjectCapacity: number, - ObjectCount: number, - PriceEnergyUnit: number, - PriceObjectClaim: number, - PricePublicObjectDecay: number, - PricePublicObjectDelete: number, - PriceParcelClaim: number, - PriceParcelClaimFactor: number, - PriceUpload: number, - PriceRentLight: number, - TeleportMinPrice: number, - TeleportPriceExponent: number, - EnergyEfficiency: number, - PriceObjectRent: number, - PriceObjectScaleFactor: number, - PriceParcelRent: number, - PriceGroupCreate: number - } = { - ObjectCapacity: 0, - ObjectCount: 0, - PriceEnergyUnit: 0, - PriceObjectClaim: 0, - PricePublicObjectDecay: 0, - PricePublicObjectDelete: 0, - PriceParcelClaim: 0, - PriceParcelClaimFactor: 0, - PriceUpload: 0, - PriceRentLight: 0, - TeleportMinPrice: 0, - TeleportPriceExponent: 0, - EnergyEfficiency: 0, - PriceObjectRent: 0, - PriceObjectScaleFactor: 0, - PriceParcelRent: 0, - PriceGroupCreate: 0 - }; - newObjInfo['ObjectCapacity'] = buf.readInt32LE(pos); - pos += 4; - newObjInfo['ObjectCount'] = buf.readInt32LE(pos); - pos += 4; - newObjInfo['PriceEnergyUnit'] = buf.readInt32LE(pos); - pos += 4; - newObjInfo['PriceObjectClaim'] = buf.readInt32LE(pos); - pos += 4; - newObjInfo['PricePublicObjectDecay'] = buf.readInt32LE(pos); - pos += 4; - newObjInfo['PricePublicObjectDelete'] = buf.readInt32LE(pos); - pos += 4; - newObjInfo['PriceParcelClaim'] = buf.readInt32LE(pos); - pos += 4; - newObjInfo['PriceParcelClaimFactor'] = buf.readFloatLE(pos); - pos += 4; - newObjInfo['PriceUpload'] = buf.readInt32LE(pos); - pos += 4; - newObjInfo['PriceRentLight'] = buf.readInt32LE(pos); - pos += 4; - newObjInfo['TeleportMinPrice'] = buf.readInt32LE(pos); - pos += 4; - newObjInfo['TeleportPriceExponent'] = buf.readFloatLE(pos); - pos += 4; - newObjInfo['EnergyEfficiency'] = buf.readFloatLE(pos); - pos += 4; - newObjInfo['PriceObjectRent'] = buf.readFloatLE(pos); - pos += 4; - newObjInfo['PriceObjectScaleFactor'] = buf.readFloatLE(pos); - pos += 4; - newObjInfo['PriceParcelRent'] = buf.readInt32LE(pos); - pos += 4; - newObjInfo['PriceGroupCreate'] = buf.readInt32LE(pos); - pos += 4; - this.Info = newObjInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/EconomyDataRequest.ts b/lib/classes/packets/EconomyDataRequest.ts deleted file mode 100644 index 190e816..0000000 --- a/lib/classes/packets/EconomyDataRequest.ts +++ /dev/null @@ -1,28 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class EconomyDataRequestPacket implements Packet -{ - name = 'EconomyDataRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294901784; - - - getSize(): number - { - return 0; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - return 0; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - return 0; - } -} - diff --git a/lib/classes/packets/EdgeDataPacket.ts b/lib/classes/packets/EdgeDataPacket.ts deleted file mode 100644 index f587bae..0000000 --- a/lib/classes/packets/EdgeDataPacket.ts +++ /dev/null @@ -1,53 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class EdgeDataPacketPacket implements Packet -{ - name = 'EdgeDataPacket'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyHigh; - id = 24; - - EdgeData: { - LayerType: number; - Direction: number; - LayerData: string; - }; - - getSize(): number - { - return (this.EdgeData['LayerData'].length + 2) + 2; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeUInt8(this.EdgeData['LayerType'], pos++); - buf.writeUInt8(this.EdgeData['Direction'], pos++); - buf.write(this.EdgeData['LayerData'], pos); - pos += this.EdgeData['LayerData'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjEdgeData: { - LayerType: number, - Direction: number, - LayerData: string - } = { - LayerType: 0, - Direction: 0, - LayerData: '' - }; - newObjEdgeData['LayerType'] = buf.readUInt8(pos++); - newObjEdgeData['Direction'] = buf.readUInt8(pos++); - newObjEdgeData['LayerData'] = buf.toString('utf8', pos, length); - pos += length; - this.EdgeData = newObjEdgeData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/EjectGroupMemberReply.ts b/lib/classes/packets/EjectGroupMemberReply.ts deleted file mode 100644 index 7d26bf9..0000000 --- a/lib/classes/packets/EjectGroupMemberReply.ts +++ /dev/null @@ -1,68 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class EjectGroupMemberReplyPacket implements Packet -{ - name = 'EjectGroupMemberReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902106; - - AgentData: { - AgentID: UUID; - }; - GroupData: { - GroupID: UUID; - }; - EjectData: { - Success: boolean; - }; - - getSize(): number - { - return 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.GroupData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.EjectData['Success']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjGroupData: { - GroupID: UUID - } = { - GroupID: UUID.zero() - }; - newObjGroupData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.GroupData = newObjGroupData; - const newObjEjectData: { - Success: boolean - } = { - Success: false - }; - newObjEjectData['Success'] = (buf.readUInt8(pos++) === 1); - this.EjectData = newObjEjectData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/EjectGroupMemberRequest.ts b/lib/classes/packets/EjectGroupMemberRequest.ts deleted file mode 100644 index 7a4b676..0000000 --- a/lib/classes/packets/EjectGroupMemberRequest.ts +++ /dev/null @@ -1,87 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class EjectGroupMemberRequestPacket implements Packet -{ - name = 'EjectGroupMemberRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294902105; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - GroupData: { - GroupID: UUID; - }; - EjectData: { - EjecteeID: UUID; - }[]; - - getSize(): number - { - return ((16) * this.EjectData.length) + 49; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.GroupData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.EjectData.length; - buf.writeUInt8(this.EjectData.length, pos++); - for (let i = 0; i < count; i++) - { - this.EjectData[i]['EjecteeID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjGroupData: { - GroupID: UUID - } = { - GroupID: UUID.zero() - }; - newObjGroupData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.GroupData = newObjGroupData; - const count = buf.readUInt8(pos++); - this.EjectData = []; - for (let i = 0; i < count; i++) - { - const newObjEjectData: { - EjecteeID: UUID - } = { - EjecteeID: UUID.zero() - }; - newObjEjectData['EjecteeID'] = new UUID(buf, pos); - pos += 16; - this.EjectData.push(newObjEjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/EjectUser.ts b/lib/classes/packets/EjectUser.ts deleted file mode 100644 index 0ec5821..0000000 --- a/lib/classes/packets/EjectUser.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class EjectUserPacket implements Packet -{ - name = 'EjectUser'; - flags = MessageFlags.FrequencyLow; - id = 4294901927; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - TargetID: UUID; - Flags: number; - }; - - getSize(): number - { - return 52; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['TargetID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.Data['Flags'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - TargetID: UUID, - Flags: number - } = { - TargetID: UUID.zero(), - Flags: 0 - }; - newObjData['TargetID'] = new UUID(buf, pos); - pos += 16; - newObjData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/EmailMessageReply.ts b/lib/classes/packets/EmailMessageReply.ts deleted file mode 100644 index 5ec2f4d..0000000 --- a/lib/classes/packets/EmailMessageReply.ts +++ /dev/null @@ -1,86 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class EmailMessageReplyPacket implements Packet -{ - name = 'EmailMessageReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902096; - - DataBlock: { - ObjectID: UUID; - More: number; - Time: number; - FromAddress: string; - Subject: string; - Data: string; - MailFilter: string; - }; - - getSize(): number - { - return (this.DataBlock['FromAddress'].length + 1 + this.DataBlock['Subject'].length + 1 + this.DataBlock['Data'].length + 2 + this.DataBlock['MailFilter'].length + 1) + 24; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.DataBlock['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.DataBlock['More'], pos); - pos += 4; - buf.writeUInt32LE(this.DataBlock['Time'], pos); - pos += 4; - buf.write(this.DataBlock['FromAddress'], pos); - pos += this.DataBlock['FromAddress'].length; - buf.write(this.DataBlock['Subject'], pos); - pos += this.DataBlock['Subject'].length; - buf.write(this.DataBlock['Data'], pos); - pos += this.DataBlock['Data'].length; - buf.write(this.DataBlock['MailFilter'], pos); - pos += this.DataBlock['MailFilter'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjDataBlock: { - ObjectID: UUID, - More: number, - Time: number, - FromAddress: string, - Subject: string, - Data: string, - MailFilter: string - } = { - ObjectID: UUID.zero(), - More: 0, - Time: 0, - FromAddress: '', - Subject: '', - Data: '', - MailFilter: '' - }; - newObjDataBlock['ObjectID'] = new UUID(buf, pos); - pos += 16; - newObjDataBlock['More'] = buf.readUInt32LE(pos); - pos += 4; - newObjDataBlock['Time'] = buf.readUInt32LE(pos); - pos += 4; - newObjDataBlock['FromAddress'] = buf.toString('utf8', pos, length); - pos += length; - newObjDataBlock['Subject'] = buf.toString('utf8', pos, length); - pos += length; - newObjDataBlock['Data'] = buf.toString('utf8', pos, length); - pos += length; - newObjDataBlock['MailFilter'] = buf.toString('utf8', pos, length); - pos += length; - this.DataBlock = newObjDataBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/EmailMessageRequest.ts b/lib/classes/packets/EmailMessageRequest.ts deleted file mode 100644 index 1973eec..0000000 --- a/lib/classes/packets/EmailMessageRequest.ts +++ /dev/null @@ -1,58 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class EmailMessageRequestPacket implements Packet -{ - name = 'EmailMessageRequest'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902095; - - DataBlock: { - ObjectID: UUID; - FromAddress: string; - Subject: string; - }; - - getSize(): number - { - return (this.DataBlock['FromAddress'].length + 1 + this.DataBlock['Subject'].length + 1) + 16; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.DataBlock['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.DataBlock['FromAddress'], pos); - pos += this.DataBlock['FromAddress'].length; - buf.write(this.DataBlock['Subject'], pos); - pos += this.DataBlock['Subject'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjDataBlock: { - ObjectID: UUID, - FromAddress: string, - Subject: string - } = { - ObjectID: UUID.zero(), - FromAddress: '', - Subject: '' - }; - newObjDataBlock['ObjectID'] = new UUID(buf, pos); - pos += 16; - newObjDataBlock['FromAddress'] = buf.toString('utf8', pos, length); - pos += length; - newObjDataBlock['Subject'] = buf.toString('utf8', pos, length); - pos += length; - this.DataBlock = newObjDataBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/EnableSimulator.ts b/lib/classes/packets/EnableSimulator.ts deleted file mode 100644 index d649d96..0000000 --- a/lib/classes/packets/EnableSimulator.ts +++ /dev/null @@ -1,61 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {IPAddress} from '../IPAddress'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class EnableSimulatorPacket implements Packet -{ - name = 'EnableSimulator'; - flags = MessageFlags.Trusted | MessageFlags.Blacklisted | MessageFlags.FrequencyLow; - id = 4294901911; - - SimulatorInfo: { - Handle: Long; - IP: IPAddress; - Port: number; - }; - - getSize(): number - { - return 14; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeInt32LE(this.SimulatorInfo['Handle'].low, pos); - pos += 4; - buf.writeInt32LE(this.SimulatorInfo['Handle'].high, pos); - pos += 4; - this.SimulatorInfo['IP'].writeToBuffer(buf, pos); - pos += 4; - buf.writeUInt16LE(this.SimulatorInfo['Port'], pos); - pos += 2; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjSimulatorInfo: { - Handle: Long, - IP: IPAddress, - Port: number - } = { - Handle: Long.ZERO, - IP: IPAddress.zero(), - Port: 0 - }; - newObjSimulatorInfo['Handle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjSimulatorInfo['IP'] = new IPAddress(buf, pos); - pos += 4; - newObjSimulatorInfo['Port'] = buf.readUInt16LE(pos); - pos += 2; - this.SimulatorInfo = newObjSimulatorInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/Error.ts b/lib/classes/packets/Error.ts deleted file mode 100644 index 71c683f..0000000 --- a/lib/classes/packets/Error.ts +++ /dev/null @@ -1,92 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ErrorPacket implements Packet -{ - name = 'Error'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902183; - - AgentData: { - AgentID: UUID; - }; - Data: { - Code: number; - Token: string; - ID: UUID; - System: string; - Message: string; - Data: string; - }; - - getSize(): number - { - return (this.Data['Token'].length + 1 + this.Data['System'].length + 1 + this.Data['Message'].length + 2 + this.Data['Data'].length + 2) + 36; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.Data['Code'], pos); - pos += 4; - buf.write(this.Data['Token'], pos); - pos += this.Data['Token'].length; - this.Data['ID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.Data['System'], pos); - pos += this.Data['System'].length; - buf.write(this.Data['Message'], pos); - pos += this.Data['Message'].length; - buf.write(this.Data['Data'], pos); - pos += this.Data['Data'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - Code: number, - Token: string, - ID: UUID, - System: string, - Message: string, - Data: string - } = { - Code: 0, - Token: '', - ID: UUID.zero(), - System: '', - Message: '', - Data: '' - }; - newObjData['Code'] = buf.readInt32LE(pos); - pos += 4; - newObjData['Token'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['ID'] = new UUID(buf, pos); - pos += 16; - newObjData['System'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['Message'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['Data'] = buf.toString('utf8', pos, length); - pos += length; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/EstateCovenantReply.ts b/lib/classes/packets/EstateCovenantReply.ts deleted file mode 100644 index 03a4c5f..0000000 --- a/lib/classes/packets/EstateCovenantReply.ts +++ /dev/null @@ -1,65 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class EstateCovenantReplyPacket implements Packet -{ - name = 'EstateCovenantReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901964; - - Data: { - CovenantID: UUID; - CovenantTimestamp: number; - EstateName: string; - EstateOwnerID: UUID; - }; - - getSize(): number - { - return (this.Data['EstateName'].length + 1) + 36; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.Data['CovenantID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.Data['CovenantTimestamp'], pos); - pos += 4; - buf.write(this.Data['EstateName'], pos); - pos += this.Data['EstateName'].length; - this.Data['EstateOwnerID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjData: { - CovenantID: UUID, - CovenantTimestamp: number, - EstateName: string, - EstateOwnerID: UUID - } = { - CovenantID: UUID.zero(), - CovenantTimestamp: 0, - EstateName: '', - EstateOwnerID: UUID.zero() - }; - newObjData['CovenantID'] = new UUID(buf, pos); - pos += 16; - newObjData['CovenantTimestamp'] = buf.readUInt32LE(pos); - pos += 4; - newObjData['EstateName'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['EstateOwnerID'] = new UUID(buf, pos); - pos += 16; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/EstateCovenantRequest.ts b/lib/classes/packets/EstateCovenantRequest.ts deleted file mode 100644 index 31ab3e6..0000000 --- a/lib/classes/packets/EstateCovenantRequest.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class EstateCovenantRequestPacket implements Packet -{ - name = 'EstateCovenantRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294901963; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - - getSize(): number - { - return 32; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/EstateOwnerMessage.ts b/lib/classes/packets/EstateOwnerMessage.ts deleted file mode 100644 index 81952e0..0000000 --- a/lib/classes/packets/EstateOwnerMessage.ts +++ /dev/null @@ -1,111 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class EstateOwnerMessagePacket implements Packet -{ - name = 'EstateOwnerMessage'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902020; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - TransactionID: UUID; - }; - MethodData: { - Method: string; - Invoice: UUID; - }; - ParamList: { - Parameter: string; - }[]; - - getSize(): number - { - return (this.MethodData['Method'].length + 1) + ((this.calculateVarVarSize(this.ParamList, 'Parameter', 1)) * this.ParamList.length) + 65; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.MethodData['Method'], pos); - pos += this.MethodData['Method'].length; - this.MethodData['Invoice'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ParamList.length; - buf.writeUInt8(this.ParamList.length, pos++); - for (let i = 0; i < count; i++) - { - buf.write(this.ParamList[i]['Parameter'], pos); - pos += this.ParamList[i]['Parameter'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - TransactionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - TransactionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['TransactionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjMethodData: { - Method: string, - Invoice: UUID - } = { - Method: '', - Invoice: UUID.zero() - }; - newObjMethodData['Method'] = buf.toString('utf8', pos, length); - pos += length; - newObjMethodData['Invoice'] = new UUID(buf, pos); - pos += 16; - this.MethodData = newObjMethodData; - const count = buf.readUInt8(pos++); - this.ParamList = []; - for (let i = 0; i < count; i++) - { - const newObjParamList: { - Parameter: string - } = { - Parameter: '' - }; - newObjParamList['Parameter'] = buf.toString('utf8', pos, length); - pos += length; - this.ParamList.push(newObjParamList); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/EventGodDelete.ts b/lib/classes/packets/EventGodDelete.ts deleted file mode 100644 index e7deacc..0000000 --- a/lib/classes/packets/EventGodDelete.ts +++ /dev/null @@ -1,98 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class EventGodDeletePacket implements Packet -{ - name = 'EventGodDelete'; - flags = MessageFlags.FrequencyLow; - id = 4294901943; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - EventData: { - EventID: number; - }; - QueryData: { - QueryID: UUID; - QueryText: string; - QueryFlags: number; - QueryStart: number; - }; - - getSize(): number - { - return (this.QueryData['QueryText'].length + 1) + 60; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.EventData['EventID'], pos); - pos += 4; - this.QueryData['QueryID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.QueryData['QueryText'], pos); - pos += this.QueryData['QueryText'].length; - buf.writeUInt32LE(this.QueryData['QueryFlags'], pos); - pos += 4; - buf.writeInt32LE(this.QueryData['QueryStart'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjEventData: { - EventID: number - } = { - EventID: 0 - }; - newObjEventData['EventID'] = buf.readUInt32LE(pos); - pos += 4; - this.EventData = newObjEventData; - const newObjQueryData: { - QueryID: UUID, - QueryText: string, - QueryFlags: number, - QueryStart: number - } = { - QueryID: UUID.zero(), - QueryText: '', - QueryFlags: 0, - QueryStart: 0 - }; - newObjQueryData['QueryID'] = new UUID(buf, pos); - pos += 16; - newObjQueryData['QueryText'] = buf.toString('utf8', pos, length); - pos += length; - newObjQueryData['QueryFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjQueryData['QueryStart'] = buf.readInt32LE(pos); - pos += 4; - this.QueryData = newObjQueryData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/EventInfoReply.ts b/lib/classes/packets/EventInfoReply.ts deleted file mode 100644 index 836d162..0000000 --- a/lib/classes/packets/EventInfoReply.ts +++ /dev/null @@ -1,142 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class EventInfoReplyPacket implements Packet -{ - name = 'EventInfoReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901940; - - AgentData: { - AgentID: UUID; - }; - EventData: { - EventID: number; - Creator: string; - Name: string; - Category: string; - Desc: string; - Date: string; - DateUTC: number; - Duration: number; - Cover: number; - Amount: number; - SimName: string; - GlobalPos: Vector3; - EventFlags: number; - }; - - getSize(): number - { - return (this.EventData['Creator'].length + 1 + this.EventData['Name'].length + 1 + this.EventData['Category'].length + 1 + this.EventData['Desc'].length + 2 + this.EventData['Date'].length + 1 + this.EventData['SimName'].length + 1) + 64; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.EventData['EventID'], pos); - pos += 4; - buf.write(this.EventData['Creator'], pos); - pos += this.EventData['Creator'].length; - buf.write(this.EventData['Name'], pos); - pos += this.EventData['Name'].length; - buf.write(this.EventData['Category'], pos); - pos += this.EventData['Category'].length; - buf.write(this.EventData['Desc'], pos); - pos += this.EventData['Desc'].length; - buf.write(this.EventData['Date'], pos); - pos += this.EventData['Date'].length; - buf.writeUInt32LE(this.EventData['DateUTC'], pos); - pos += 4; - buf.writeUInt32LE(this.EventData['Duration'], pos); - pos += 4; - buf.writeUInt32LE(this.EventData['Cover'], pos); - pos += 4; - buf.writeUInt32LE(this.EventData['Amount'], pos); - pos += 4; - buf.write(this.EventData['SimName'], pos); - pos += this.EventData['SimName'].length; - this.EventData['GlobalPos'].writeToBuffer(buf, pos, true); - pos += 24; - buf.writeUInt32LE(this.EventData['EventFlags'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjEventData: { - EventID: number, - Creator: string, - Name: string, - Category: string, - Desc: string, - Date: string, - DateUTC: number, - Duration: number, - Cover: number, - Amount: number, - SimName: string, - GlobalPos: Vector3, - EventFlags: number - } = { - EventID: 0, - Creator: '', - Name: '', - Category: '', - Desc: '', - Date: '', - DateUTC: 0, - Duration: 0, - Cover: 0, - Amount: 0, - SimName: '', - GlobalPos: Vector3.getZero(), - EventFlags: 0 - }; - newObjEventData['EventID'] = buf.readUInt32LE(pos); - pos += 4; - newObjEventData['Creator'] = buf.toString('utf8', pos, length); - pos += length; - newObjEventData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjEventData['Category'] = buf.toString('utf8', pos, length); - pos += length; - newObjEventData['Desc'] = buf.toString('utf8', pos, length); - pos += length; - newObjEventData['Date'] = buf.toString('utf8', pos, length); - pos += length; - newObjEventData['DateUTC'] = buf.readUInt32LE(pos); - pos += 4; - newObjEventData['Duration'] = buf.readUInt32LE(pos); - pos += 4; - newObjEventData['Cover'] = buf.readUInt32LE(pos); - pos += 4; - newObjEventData['Amount'] = buf.readUInt32LE(pos); - pos += 4; - newObjEventData['SimName'] = buf.toString('utf8', pos, length); - pos += length; - newObjEventData['GlobalPos'] = new Vector3(buf, pos, true); - pos += 24; - newObjEventData['EventFlags'] = buf.readUInt32LE(pos); - pos += 4; - this.EventData = newObjEventData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/EventInfoRequest.ts b/lib/classes/packets/EventInfoRequest.ts deleted file mode 100644 index 23d1f7e..0000000 --- a/lib/classes/packets/EventInfoRequest.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class EventInfoRequestPacket implements Packet -{ - name = 'EventInfoRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294901939; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - EventData: { - EventID: number; - }; - - getSize(): number - { - return 36; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.EventData['EventID'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjEventData: { - EventID: number - } = { - EventID: 0 - }; - newObjEventData['EventID'] = buf.readUInt32LE(pos); - pos += 4; - this.EventData = newObjEventData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/EventLocationReply.ts b/lib/classes/packets/EventLocationReply.ts deleted file mode 100644 index 505a6d6..0000000 --- a/lib/classes/packets/EventLocationReply.ts +++ /dev/null @@ -1,70 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class EventLocationReplyPacket implements Packet -{ - name = 'EventLocationReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902068; - - QueryData: { - QueryID: UUID; - }; - EventData: { - Success: boolean; - RegionID: UUID; - RegionPos: Vector3; - }; - - getSize(): number - { - return 45; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.QueryData['QueryID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.EventData['Success']) ? 1 : 0, pos++); - this.EventData['RegionID'].writeToBuffer(buf, pos); - pos += 16; - this.EventData['RegionPos'].writeToBuffer(buf, pos, false); - pos += 12; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjQueryData: { - QueryID: UUID - } = { - QueryID: UUID.zero() - }; - newObjQueryData['QueryID'] = new UUID(buf, pos); - pos += 16; - this.QueryData = newObjQueryData; - const newObjEventData: { - Success: boolean, - RegionID: UUID, - RegionPos: Vector3 - } = { - Success: false, - RegionID: UUID.zero(), - RegionPos: Vector3.getZero() - }; - newObjEventData['Success'] = (buf.readUInt8(pos++) === 1); - newObjEventData['RegionID'] = new UUID(buf, pos); - pos += 16; - newObjEventData['RegionPos'] = new Vector3(buf, pos, false); - pos += 12; - this.EventData = newObjEventData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/EventLocationRequest.ts b/lib/classes/packets/EventLocationRequest.ts deleted file mode 100644 index 3965f80..0000000 --- a/lib/classes/packets/EventLocationRequest.ts +++ /dev/null @@ -1,57 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class EventLocationRequestPacket implements Packet -{ - name = 'EventLocationRequest'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902067; - - QueryData: { - QueryID: UUID; - }; - EventData: { - EventID: number; - }; - - getSize(): number - { - return 20; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.QueryData['QueryID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.EventData['EventID'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjQueryData: { - QueryID: UUID - } = { - QueryID: UUID.zero() - }; - newObjQueryData['QueryID'] = new UUID(buf, pos); - pos += 16; - this.QueryData = newObjQueryData; - const newObjEventData: { - EventID: number - } = { - EventID: 0 - }; - newObjEventData['EventID'] = buf.readUInt32LE(pos); - pos += 4; - this.EventData = newObjEventData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/EventNotificationAddRequest.ts b/lib/classes/packets/EventNotificationAddRequest.ts deleted file mode 100644 index d8760d6..0000000 --- a/lib/classes/packets/EventNotificationAddRequest.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class EventNotificationAddRequestPacket implements Packet -{ - name = 'EventNotificationAddRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294901941; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - EventData: { - EventID: number; - }; - - getSize(): number - { - return 36; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.EventData['EventID'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjEventData: { - EventID: number - } = { - EventID: 0 - }; - newObjEventData['EventID'] = buf.readUInt32LE(pos); - pos += 4; - this.EventData = newObjEventData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/EventNotificationRemoveRequest.ts b/lib/classes/packets/EventNotificationRemoveRequest.ts deleted file mode 100644 index 0482444..0000000 --- a/lib/classes/packets/EventNotificationRemoveRequest.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class EventNotificationRemoveRequestPacket implements Packet -{ - name = 'EventNotificationRemoveRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294901942; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - EventData: { - EventID: number; - }; - - getSize(): number - { - return 36; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.EventData['EventID'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjEventData: { - EventID: number - } = { - EventID: 0 - }; - newObjEventData['EventID'] = buf.readUInt32LE(pos); - pos += 4; - this.EventData = newObjEventData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/FeatureDisabled.ts b/lib/classes/packets/FeatureDisabled.ts deleted file mode 100644 index d27858a..0000000 --- a/lib/classes/packets/FeatureDisabled.ts +++ /dev/null @@ -1,58 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class FeatureDisabledPacket implements Packet -{ - name = 'FeatureDisabled'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901779; - - FailureInfo: { - ErrorMessage: string; - AgentID: UUID; - TransactionID: UUID; - }; - - getSize(): number - { - return (this.FailureInfo['ErrorMessage'].length + 1) + 32; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.write(this.FailureInfo['ErrorMessage'], pos); - pos += this.FailureInfo['ErrorMessage'].length; - this.FailureInfo['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.FailureInfo['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjFailureInfo: { - ErrorMessage: string, - AgentID: UUID, - TransactionID: UUID - } = { - ErrorMessage: '', - AgentID: UUID.zero(), - TransactionID: UUID.zero() - }; - newObjFailureInfo['ErrorMessage'] = buf.toString('utf8', pos, length); - pos += length; - newObjFailureInfo['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjFailureInfo['TransactionID'] = new UUID(buf, pos); - pos += 16; - this.FailureInfo = newObjFailureInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/FetchInventory.ts b/lib/classes/packets/FetchInventory.ts deleted file mode 100644 index b59dfb7..0000000 --- a/lib/classes/packets/FetchInventory.ts +++ /dev/null @@ -1,81 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class FetchInventoryPacket implements Packet -{ - name = 'FetchInventory'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902039; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - InventoryData: { - OwnerID: UUID; - ItemID: UUID; - }[]; - - getSize(): number - { - return ((32) * this.InventoryData.length) + 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.InventoryData.length; - buf.writeUInt8(this.InventoryData.length, pos++); - for (let i = 0; i < count; i++) - { - this.InventoryData[i]['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData[i]['ItemID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.InventoryData = []; - for (let i = 0; i < count; i++) - { - const newObjInventoryData: { - OwnerID: UUID, - ItemID: UUID - } = { - OwnerID: UUID.zero(), - ItemID: UUID.zero() - }; - newObjInventoryData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['ItemID'] = new UUID(buf, pos); - pos += 16; - this.InventoryData.push(newObjInventoryData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/FetchInventoryDescendents.ts b/lib/classes/packets/FetchInventoryDescendents.ts deleted file mode 100644 index 044ec34..0000000 --- a/lib/classes/packets/FetchInventoryDescendents.ts +++ /dev/null @@ -1,88 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class FetchInventoryDescendentsPacket implements Packet -{ - name = 'FetchInventoryDescendents'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902037; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - InventoryData: { - FolderID: UUID; - OwnerID: UUID; - SortOrder: number; - FetchFolders: boolean; - FetchItems: boolean; - }; - - getSize(): number - { - return 70; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData['FolderID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.InventoryData['SortOrder'], pos); - pos += 4; - buf.writeUInt8((this.InventoryData['FetchFolders']) ? 1 : 0, pos++); - buf.writeUInt8((this.InventoryData['FetchItems']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjInventoryData: { - FolderID: UUID, - OwnerID: UUID, - SortOrder: number, - FetchFolders: boolean, - FetchItems: boolean - } = { - FolderID: UUID.zero(), - OwnerID: UUID.zero(), - SortOrder: 0, - FetchFolders: false, - FetchItems: false - }; - newObjInventoryData['FolderID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['SortOrder'] = buf.readInt32LE(pos); - pos += 4; - newObjInventoryData['FetchFolders'] = (buf.readUInt8(pos++) === 1); - newObjInventoryData['FetchItems'] = (buf.readUInt8(pos++) === 1); - this.InventoryData = newObjInventoryData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/FetchInventoryReply.ts b/lib/classes/packets/FetchInventoryReply.ts deleted file mode 100644 index 1c5a0d2..0000000 --- a/lib/classes/packets/FetchInventoryReply.ts +++ /dev/null @@ -1,209 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class FetchInventoryReplyPacket implements Packet -{ - name = 'FetchInventoryReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902040; - - AgentData: { - AgentID: UUID; - }; - InventoryData: { - ItemID: UUID; - FolderID: UUID; - CreatorID: UUID; - OwnerID: UUID; - GroupID: UUID; - BaseMask: number; - OwnerMask: number; - GroupMask: number; - EveryoneMask: number; - NextOwnerMask: number; - GroupOwned: boolean; - AssetID: UUID; - Type: number; - InvType: number; - Flags: number; - SaleType: number; - SalePrice: number; - Name: string; - Description: string; - CreationDate: number; - CRC: number; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.InventoryData, 'Name', 1) + this.calculateVarVarSize(this.InventoryData, 'Description', 1) + 136) * this.InventoryData.length) + 17; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.InventoryData.length; - buf.writeUInt8(this.InventoryData.length, pos++); - for (let i = 0; i < count; i++) - { - this.InventoryData[i]['ItemID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData[i]['FolderID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData[i]['CreatorID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData[i]['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData[i]['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.InventoryData[i]['BaseMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData[i]['OwnerMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData[i]['GroupMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData[i]['EveryoneMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData[i]['NextOwnerMask'], pos); - pos += 4; - buf.writeUInt8((this.InventoryData[i]['GroupOwned']) ? 1 : 0, pos++); - this.InventoryData[i]['AssetID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt8(this.InventoryData[i]['Type'], pos++); - buf.writeInt8(this.InventoryData[i]['InvType'], pos++); - buf.writeUInt32LE(this.InventoryData[i]['Flags'], pos); - pos += 4; - buf.writeUInt8(this.InventoryData[i]['SaleType'], pos++); - buf.writeInt32LE(this.InventoryData[i]['SalePrice'], pos); - pos += 4; - buf.write(this.InventoryData[i]['Name'], pos); - pos += this.InventoryData[i]['Name'].length; - buf.write(this.InventoryData[i]['Description'], pos); - pos += this.InventoryData[i]['Description'].length; - buf.writeInt32LE(this.InventoryData[i]['CreationDate'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData[i]['CRC'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.InventoryData = []; - for (let i = 0; i < count; i++) - { - const newObjInventoryData: { - ItemID: UUID, - FolderID: UUID, - CreatorID: UUID, - OwnerID: UUID, - GroupID: UUID, - BaseMask: number, - OwnerMask: number, - GroupMask: number, - EveryoneMask: number, - NextOwnerMask: number, - GroupOwned: boolean, - AssetID: UUID, - Type: number, - InvType: number, - Flags: number, - SaleType: number, - SalePrice: number, - Name: string, - Description: string, - CreationDate: number, - CRC: number - } = { - ItemID: UUID.zero(), - FolderID: UUID.zero(), - CreatorID: UUID.zero(), - OwnerID: UUID.zero(), - GroupID: UUID.zero(), - BaseMask: 0, - OwnerMask: 0, - GroupMask: 0, - EveryoneMask: 0, - NextOwnerMask: 0, - GroupOwned: false, - AssetID: UUID.zero(), - Type: 0, - InvType: 0, - Flags: 0, - SaleType: 0, - SalePrice: 0, - Name: '', - Description: '', - CreationDate: 0, - CRC: 0 - }; - newObjInventoryData['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['FolderID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['CreatorID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['BaseMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['OwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['GroupMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['EveryoneMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['NextOwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['GroupOwned'] = (buf.readUInt8(pos++) === 1); - newObjInventoryData['AssetID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['Type'] = buf.readInt8(pos++); - newObjInventoryData['InvType'] = buf.readInt8(pos++); - newObjInventoryData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['SaleType'] = buf.readUInt8(pos++); - newObjInventoryData['SalePrice'] = buf.readInt32LE(pos); - pos += 4; - newObjInventoryData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjInventoryData['Description'] = buf.toString('utf8', pos, length); - pos += length; - newObjInventoryData['CreationDate'] = buf.readInt32LE(pos); - pos += 4; - newObjInventoryData['CRC'] = buf.readUInt32LE(pos); - pos += 4; - this.InventoryData.push(newObjInventoryData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/FindAgent.ts b/lib/classes/packets/FindAgent.ts deleted file mode 100644 index cc02eed..0000000 --- a/lib/classes/packets/FindAgent.ts +++ /dev/null @@ -1,89 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {IPAddress} from '../IPAddress'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class FindAgentPacket implements Packet -{ - name = 'FindAgent'; - flags = MessageFlags.FrequencyLow; - id = 4294902016; - - AgentBlock: { - Hunter: UUID; - Prey: UUID; - SpaceIP: IPAddress; - }; - LocationBlock: { - GlobalX: number; - GlobalY: number; - }[]; - - getSize(): number - { - return ((16) * this.LocationBlock.length) + 37; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentBlock['Hunter'].writeToBuffer(buf, pos); - pos += 16; - this.AgentBlock['Prey'].writeToBuffer(buf, pos); - pos += 16; - this.AgentBlock['SpaceIP'].writeToBuffer(buf, pos); - pos += 4; - const count = this.LocationBlock.length; - buf.writeUInt8(this.LocationBlock.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeDoubleLE(this.LocationBlock[i]['GlobalX'], pos); - pos += 8; - buf.writeDoubleLE(this.LocationBlock[i]['GlobalY'], pos); - pos += 8; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentBlock: { - Hunter: UUID, - Prey: UUID, - SpaceIP: IPAddress - } = { - Hunter: UUID.zero(), - Prey: UUID.zero(), - SpaceIP: IPAddress.zero() - }; - newObjAgentBlock['Hunter'] = new UUID(buf, pos); - pos += 16; - newObjAgentBlock['Prey'] = new UUID(buf, pos); - pos += 16; - newObjAgentBlock['SpaceIP'] = new IPAddress(buf, pos); - pos += 4; - this.AgentBlock = newObjAgentBlock; - const count = buf.readUInt8(pos++); - this.LocationBlock = []; - for (let i = 0; i < count; i++) - { - const newObjLocationBlock: { - GlobalX: number, - GlobalY: number - } = { - GlobalX: 0, - GlobalY: 0 - }; - newObjLocationBlock['GlobalX'] = buf.readDoubleLE(pos); - pos += 8; - newObjLocationBlock['GlobalY'] = buf.readDoubleLE(pos); - pos += 8; - this.LocationBlock.push(newObjLocationBlock); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ForceObjectSelect.ts b/lib/classes/packets/ForceObjectSelect.ts deleted file mode 100644 index c1311bd..0000000 --- a/lib/classes/packets/ForceObjectSelect.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ForceObjectSelectPacket implements Packet -{ - name = 'ForceObjectSelect'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901965; - - Header: { - ResetList: boolean; - }; - Data: { - LocalID: number; - }[]; - - getSize(): number - { - return ((4) * this.Data.length) + 2; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeUInt8((this.Header['ResetList']) ? 1 : 0, pos++); - const count = this.Data.length; - buf.writeUInt8(this.Data.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.Data[i]['LocalID'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjHeader: { - ResetList: boolean - } = { - ResetList: false - }; - newObjHeader['ResetList'] = (buf.readUInt8(pos++) === 1); - this.Header = newObjHeader; - const count = buf.readUInt8(pos++); - this.Data = []; - for (let i = 0; i < count; i++) - { - const newObjData: { - LocalID: number - } = { - LocalID: 0 - }; - newObjData['LocalID'] = buf.readUInt32LE(pos); - pos += 4; - this.Data.push(newObjData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ForceScriptControlRelease.ts b/lib/classes/packets/ForceScriptControlRelease.ts deleted file mode 100644 index 800c9c9..0000000 --- a/lib/classes/packets/ForceScriptControlRelease.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ForceScriptControlReleasePacket implements Packet -{ - name = 'ForceScriptControlRelease'; - flags = MessageFlags.FrequencyLow; - id = 4294901952; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - - getSize(): number - { - return 32; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/FormFriendship.ts b/lib/classes/packets/FormFriendship.ts deleted file mode 100644 index 71a98d0..0000000 --- a/lib/classes/packets/FormFriendship.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class FormFriendshipPacket implements Packet -{ - name = 'FormFriendship'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902059; - - AgentBlock: { - SourceID: UUID; - DestID: UUID; - }; - - getSize(): number - { - return 32; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentBlock['SourceID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentBlock['DestID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentBlock: { - SourceID: UUID, - DestID: UUID - } = { - SourceID: UUID.zero(), - DestID: UUID.zero() - }; - newObjAgentBlock['SourceID'] = new UUID(buf, pos); - pos += 16; - newObjAgentBlock['DestID'] = new UUID(buf, pos); - pos += 16; - this.AgentBlock = newObjAgentBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/FreezeUser.ts b/lib/classes/packets/FreezeUser.ts deleted file mode 100644 index 0605912..0000000 --- a/lib/classes/packets/FreezeUser.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class FreezeUserPacket implements Packet -{ - name = 'FreezeUser'; - flags = MessageFlags.FrequencyLow; - id = 4294901928; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - TargetID: UUID; - Flags: number; - }; - - getSize(): number - { - return 52; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['TargetID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.Data['Flags'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - TargetID: UUID, - Flags: number - } = { - TargetID: UUID.zero(), - Flags: 0 - }; - newObjData['TargetID'] = new UUID(buf, pos); - pos += 16; - newObjData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GenericMessage.ts b/lib/classes/packets/GenericMessage.ts deleted file mode 100644 index 709e137..0000000 --- a/lib/classes/packets/GenericMessage.ts +++ /dev/null @@ -1,111 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GenericMessagePacket implements Packet -{ - name = 'GenericMessage'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902021; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - TransactionID: UUID; - }; - MethodData: { - Method: string; - Invoice: UUID; - }; - ParamList: { - Parameter: string; - }[]; - - getSize(): number - { - return (this.MethodData['Method'].length + 1) + ((this.calculateVarVarSize(this.ParamList, 'Parameter', 1)) * this.ParamList.length) + 65; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.MethodData['Method'], pos); - pos += this.MethodData['Method'].length; - this.MethodData['Invoice'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ParamList.length; - buf.writeUInt8(this.ParamList.length, pos++); - for (let i = 0; i < count; i++) - { - buf.write(this.ParamList[i]['Parameter'], pos); - pos += this.ParamList[i]['Parameter'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - TransactionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - TransactionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['TransactionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjMethodData: { - Method: string, - Invoice: UUID - } = { - Method: '', - Invoice: UUID.zero() - }; - newObjMethodData['Method'] = buf.toString('utf8', pos, length); - pos += length; - newObjMethodData['Invoice'] = new UUID(buf, pos); - pos += 16; - this.MethodData = newObjMethodData; - const count = buf.readUInt8(pos++); - this.ParamList = []; - for (let i = 0; i < count; i++) - { - const newObjParamList: { - Parameter: string - } = { - Parameter: '' - }; - newObjParamList['Parameter'] = buf.toString('utf8', pos, length); - pos += length; - this.ParamList.push(newObjParamList); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GetScriptRunning.ts b/lib/classes/packets/GetScriptRunning.ts deleted file mode 100644 index 1d17ae4..0000000 --- a/lib/classes/packets/GetScriptRunning.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GetScriptRunningPacket implements Packet -{ - name = 'GetScriptRunning'; - flags = MessageFlags.FrequencyLow; - id = 4294902003; - - Script: { - ObjectID: UUID; - ItemID: UUID; - }; - - getSize(): number - { - return 32; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.Script['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - this.Script['ItemID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjScript: { - ObjectID: UUID, - ItemID: UUID - } = { - ObjectID: UUID.zero(), - ItemID: UUID.zero() - }; - newObjScript['ObjectID'] = new UUID(buf, pos); - pos += 16; - newObjScript['ItemID'] = new UUID(buf, pos); - pos += 16; - this.Script = newObjScript; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GodKickUser.ts b/lib/classes/packets/GodKickUser.ts deleted file mode 100644 index 84fa919..0000000 --- a/lib/classes/packets/GodKickUser.ts +++ /dev/null @@ -1,72 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GodKickUserPacket implements Packet -{ - name = 'GodKickUser'; - flags = MessageFlags.FrequencyLow; - id = 4294901925; - - UserInfo: { - GodID: UUID; - GodSessionID: UUID; - AgentID: UUID; - KickFlags: number; - Reason: string; - }; - - getSize(): number - { - return (this.UserInfo['Reason'].length + 2) + 52; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.UserInfo['GodID'].writeToBuffer(buf, pos); - pos += 16; - this.UserInfo['GodSessionID'].writeToBuffer(buf, pos); - pos += 16; - this.UserInfo['AgentID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.UserInfo['KickFlags'], pos); - pos += 4; - buf.write(this.UserInfo['Reason'], pos); - pos += this.UserInfo['Reason'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjUserInfo: { - GodID: UUID, - GodSessionID: UUID, - AgentID: UUID, - KickFlags: number, - Reason: string - } = { - GodID: UUID.zero(), - GodSessionID: UUID.zero(), - AgentID: UUID.zero(), - KickFlags: 0, - Reason: '' - }; - newObjUserInfo['GodID'] = new UUID(buf, pos); - pos += 16; - newObjUserInfo['GodSessionID'] = new UUID(buf, pos); - pos += 16; - newObjUserInfo['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjUserInfo['KickFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjUserInfo['Reason'] = buf.toString('utf8', pos, length); - pos += length; - this.UserInfo = newObjUserInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GodUpdateRegionInfo.ts b/lib/classes/packets/GodUpdateRegionInfo.ts deleted file mode 100644 index b2c6ef0..0000000 --- a/lib/classes/packets/GodUpdateRegionInfo.ts +++ /dev/null @@ -1,139 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GodUpdateRegionInfoPacket implements Packet -{ - name = 'GodUpdateRegionInfo'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901903; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - RegionInfo: { - SimName: string; - EstateID: number; - ParentEstateID: number; - RegionFlags: number; - BillableFactor: number; - PricePerMeter: number; - RedirectGridX: number; - RedirectGridY: number; - }; - RegionInfo2: { - RegionFlagsExtended: Long; - }[]; - - getSize(): number - { - return (this.RegionInfo['SimName'].length + 1) + ((8) * this.RegionInfo2.length) + 61; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.RegionInfo['SimName'], pos); - pos += this.RegionInfo['SimName'].length; - buf.writeUInt32LE(this.RegionInfo['EstateID'], pos); - pos += 4; - buf.writeUInt32LE(this.RegionInfo['ParentEstateID'], pos); - pos += 4; - buf.writeUInt32LE(this.RegionInfo['RegionFlags'], pos); - pos += 4; - buf.writeFloatLE(this.RegionInfo['BillableFactor'], pos); - pos += 4; - buf.writeInt32LE(this.RegionInfo['PricePerMeter'], pos); - pos += 4; - buf.writeInt32LE(this.RegionInfo['RedirectGridX'], pos); - pos += 4; - buf.writeInt32LE(this.RegionInfo['RedirectGridY'], pos); - pos += 4; - const count = this.RegionInfo2.length; - buf.writeUInt8(this.RegionInfo2.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeInt32LE(this.RegionInfo2[i]['RegionFlagsExtended'].low, pos); - pos += 4; - buf.writeInt32LE(this.RegionInfo2[i]['RegionFlagsExtended'].high, pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjRegionInfo: { - SimName: string, - EstateID: number, - ParentEstateID: number, - RegionFlags: number, - BillableFactor: number, - PricePerMeter: number, - RedirectGridX: number, - RedirectGridY: number - } = { - SimName: '', - EstateID: 0, - ParentEstateID: 0, - RegionFlags: 0, - BillableFactor: 0, - PricePerMeter: 0, - RedirectGridX: 0, - RedirectGridY: 0 - }; - newObjRegionInfo['SimName'] = buf.toString('utf8', pos, length); - pos += length; - newObjRegionInfo['EstateID'] = buf.readUInt32LE(pos); - pos += 4; - newObjRegionInfo['ParentEstateID'] = buf.readUInt32LE(pos); - pos += 4; - newObjRegionInfo['RegionFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjRegionInfo['BillableFactor'] = buf.readFloatLE(pos); - pos += 4; - newObjRegionInfo['PricePerMeter'] = buf.readInt32LE(pos); - pos += 4; - newObjRegionInfo['RedirectGridX'] = buf.readInt32LE(pos); - pos += 4; - newObjRegionInfo['RedirectGridY'] = buf.readInt32LE(pos); - pos += 4; - this.RegionInfo = newObjRegionInfo; - const count = buf.readUInt8(pos++); - this.RegionInfo2 = []; - for (let i = 0; i < count; i++) - { - const newObjRegionInfo2: { - RegionFlagsExtended: Long - } = { - RegionFlagsExtended: Long.ZERO - }; - newObjRegionInfo2['RegionFlagsExtended'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - this.RegionInfo2.push(newObjRegionInfo2); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GodlikeMessage.ts b/lib/classes/packets/GodlikeMessage.ts deleted file mode 100644 index d81a244..0000000 --- a/lib/classes/packets/GodlikeMessage.ts +++ /dev/null @@ -1,111 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GodlikeMessagePacket implements Packet -{ - name = 'GodlikeMessage'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902019; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - TransactionID: UUID; - }; - MethodData: { - Method: string; - Invoice: UUID; - }; - ParamList: { - Parameter: string; - }[]; - - getSize(): number - { - return (this.MethodData['Method'].length + 1) + ((this.calculateVarVarSize(this.ParamList, 'Parameter', 1)) * this.ParamList.length) + 65; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.MethodData['Method'], pos); - pos += this.MethodData['Method'].length; - this.MethodData['Invoice'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ParamList.length; - buf.writeUInt8(this.ParamList.length, pos++); - for (let i = 0; i < count; i++) - { - buf.write(this.ParamList[i]['Parameter'], pos); - pos += this.ParamList[i]['Parameter'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - TransactionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - TransactionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['TransactionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjMethodData: { - Method: string, - Invoice: UUID - } = { - Method: '', - Invoice: UUID.zero() - }; - newObjMethodData['Method'] = buf.toString('utf8', pos, length); - pos += length; - newObjMethodData['Invoice'] = new UUID(buf, pos); - pos += 16; - this.MethodData = newObjMethodData; - const count = buf.readUInt8(pos++); - this.ParamList = []; - for (let i = 0; i < count; i++) - { - const newObjParamList: { - Parameter: string - } = { - Parameter: '' - }; - newObjParamList['Parameter'] = buf.toString('utf8', pos, length); - pos += length; - this.ParamList.push(newObjParamList); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GrantGodlikePowers.ts b/lib/classes/packets/GrantGodlikePowers.ts deleted file mode 100644 index fdd38fa..0000000 --- a/lib/classes/packets/GrantGodlikePowers.ts +++ /dev/null @@ -1,69 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GrantGodlikePowersPacket implements Packet -{ - name = 'GrantGodlikePowers'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902018; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - GrantData: { - GodLevel: number; - Token: UUID; - }; - - getSize(): number - { - return 49; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.GrantData['GodLevel'], pos++); - this.GrantData['Token'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjGrantData: { - GodLevel: number, - Token: UUID - } = { - GodLevel: 0, - Token: UUID.zero() - }; - newObjGrantData['GodLevel'] = buf.readUInt8(pos++); - newObjGrantData['Token'] = new UUID(buf, pos); - pos += 16; - this.GrantData = newObjGrantData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GrantUserRights.ts b/lib/classes/packets/GrantUserRights.ts deleted file mode 100644 index 4f311cd..0000000 --- a/lib/classes/packets/GrantUserRights.ts +++ /dev/null @@ -1,81 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GrantUserRightsPacket implements Packet -{ - name = 'GrantUserRights'; - flags = MessageFlags.FrequencyLow; - id = 4294902080; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Rights: { - AgentRelated: UUID; - RelatedRights: number; - }[]; - - getSize(): number - { - return ((20) * this.Rights.length) + 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.Rights.length; - buf.writeUInt8(this.Rights.length, pos++); - for (let i = 0; i < count; i++) - { - this.Rights[i]['AgentRelated'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.Rights[i]['RelatedRights'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.Rights = []; - for (let i = 0; i < count; i++) - { - const newObjRights: { - AgentRelated: UUID, - RelatedRights: number - } = { - AgentRelated: UUID.zero(), - RelatedRights: 0 - }; - newObjRights['AgentRelated'] = new UUID(buf, pos); - pos += 16; - newObjRights['RelatedRights'] = buf.readInt32LE(pos); - pos += 4; - this.Rights.push(newObjRights); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupAccountDetailsReply.ts b/lib/classes/packets/GroupAccountDetailsReply.ts deleted file mode 100644 index aa09f57..0000000 --- a/lib/classes/packets/GroupAccountDetailsReply.ts +++ /dev/null @@ -1,125 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupAccountDetailsReplyPacket implements Packet -{ - name = 'GroupAccountDetailsReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902116; - - AgentData: { - AgentID: UUID; - GroupID: UUID; - }; - MoneyData: { - RequestID: UUID; - IntervalDays: number; - CurrentInterval: number; - StartDate: string; - }; - HistoryData: { - Description: string; - Amount: number; - }[]; - - getSize(): number - { - return (this.MoneyData['StartDate'].length + 1) + ((this.calculateVarVarSize(this.HistoryData, 'Description', 1) + 4) * this.HistoryData.length) + 57; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - this.MoneyData['RequestID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.MoneyData['IntervalDays'], pos); - pos += 4; - buf.writeInt32LE(this.MoneyData['CurrentInterval'], pos); - pos += 4; - buf.write(this.MoneyData['StartDate'], pos); - pos += this.MoneyData['StartDate'].length; - const count = this.HistoryData.length; - buf.writeUInt8(this.HistoryData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.write(this.HistoryData[i]['Description'], pos); - pos += this.HistoryData[i]['Description'].length; - buf.writeInt32LE(this.HistoryData[i]['Amount'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - GroupID: UUID - } = { - AgentID: UUID.zero(), - GroupID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjMoneyData: { - RequestID: UUID, - IntervalDays: number, - CurrentInterval: number, - StartDate: string - } = { - RequestID: UUID.zero(), - IntervalDays: 0, - CurrentInterval: 0, - StartDate: '' - }; - newObjMoneyData['RequestID'] = new UUID(buf, pos); - pos += 16; - newObjMoneyData['IntervalDays'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['CurrentInterval'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['StartDate'] = buf.toString('utf8', pos, length); - pos += length; - this.MoneyData = newObjMoneyData; - const count = buf.readUInt8(pos++); - this.HistoryData = []; - for (let i = 0; i < count; i++) - { - const newObjHistoryData: { - Description: string, - Amount: number - } = { - Description: '', - Amount: 0 - }; - newObjHistoryData['Description'] = buf.toString('utf8', pos, length); - pos += length; - newObjHistoryData['Amount'] = buf.readInt32LE(pos); - pos += 4; - this.HistoryData.push(newObjHistoryData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupAccountDetailsRequest.ts b/lib/classes/packets/GroupAccountDetailsRequest.ts deleted file mode 100644 index 2afa806..0000000 --- a/lib/classes/packets/GroupAccountDetailsRequest.ts +++ /dev/null @@ -1,85 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupAccountDetailsRequestPacket implements Packet -{ - name = 'GroupAccountDetailsRequest'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902115; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - GroupID: UUID; - }; - MoneyData: { - RequestID: UUID; - IntervalDays: number; - CurrentInterval: number; - }; - - getSize(): number - { - return 72; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - this.MoneyData['RequestID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.MoneyData['IntervalDays'], pos); - pos += 4; - buf.writeInt32LE(this.MoneyData['CurrentInterval'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - GroupID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - GroupID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjMoneyData: { - RequestID: UUID, - IntervalDays: number, - CurrentInterval: number - } = { - RequestID: UUID.zero(), - IntervalDays: 0, - CurrentInterval: 0 - }; - newObjMoneyData['RequestID'] = new UUID(buf, pos); - pos += 16; - newObjMoneyData['IntervalDays'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['CurrentInterval'] = buf.readInt32LE(pos); - pos += 4; - this.MoneyData = newObjMoneyData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupAccountSummaryReply.ts b/lib/classes/packets/GroupAccountSummaryReply.ts deleted file mode 100644 index bdf80ac..0000000 --- a/lib/classes/packets/GroupAccountSummaryReply.ts +++ /dev/null @@ -1,197 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupAccountSummaryReplyPacket implements Packet -{ - name = 'GroupAccountSummaryReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902114; - - AgentData: { - AgentID: UUID; - GroupID: UUID; - }; - MoneyData: { - RequestID: UUID; - IntervalDays: number; - CurrentInterval: number; - StartDate: string; - Balance: number; - TotalCredits: number; - TotalDebits: number; - ObjectTaxCurrent: number; - LightTaxCurrent: number; - LandTaxCurrent: number; - GroupTaxCurrent: number; - ParcelDirFeeCurrent: number; - ObjectTaxEstimate: number; - LightTaxEstimate: number; - LandTaxEstimate: number; - GroupTaxEstimate: number; - ParcelDirFeeEstimate: number; - NonExemptMembers: number; - LastTaxDate: string; - TaxDate: string; - }; - - getSize(): number - { - return (this.MoneyData['StartDate'].length + 1 + this.MoneyData['LastTaxDate'].length + 1 + this.MoneyData['TaxDate'].length + 1) + 112; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - this.MoneyData['RequestID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.MoneyData['IntervalDays'], pos); - pos += 4; - buf.writeInt32LE(this.MoneyData['CurrentInterval'], pos); - pos += 4; - buf.write(this.MoneyData['StartDate'], pos); - pos += this.MoneyData['StartDate'].length; - buf.writeInt32LE(this.MoneyData['Balance'], pos); - pos += 4; - buf.writeInt32LE(this.MoneyData['TotalCredits'], pos); - pos += 4; - buf.writeInt32LE(this.MoneyData['TotalDebits'], pos); - pos += 4; - buf.writeInt32LE(this.MoneyData['ObjectTaxCurrent'], pos); - pos += 4; - buf.writeInt32LE(this.MoneyData['LightTaxCurrent'], pos); - pos += 4; - buf.writeInt32LE(this.MoneyData['LandTaxCurrent'], pos); - pos += 4; - buf.writeInt32LE(this.MoneyData['GroupTaxCurrent'], pos); - pos += 4; - buf.writeInt32LE(this.MoneyData['ParcelDirFeeCurrent'], pos); - pos += 4; - buf.writeInt32LE(this.MoneyData['ObjectTaxEstimate'], pos); - pos += 4; - buf.writeInt32LE(this.MoneyData['LightTaxEstimate'], pos); - pos += 4; - buf.writeInt32LE(this.MoneyData['LandTaxEstimate'], pos); - pos += 4; - buf.writeInt32LE(this.MoneyData['GroupTaxEstimate'], pos); - pos += 4; - buf.writeInt32LE(this.MoneyData['ParcelDirFeeEstimate'], pos); - pos += 4; - buf.writeInt32LE(this.MoneyData['NonExemptMembers'], pos); - pos += 4; - buf.write(this.MoneyData['LastTaxDate'], pos); - pos += this.MoneyData['LastTaxDate'].length; - buf.write(this.MoneyData['TaxDate'], pos); - pos += this.MoneyData['TaxDate'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - GroupID: UUID - } = { - AgentID: UUID.zero(), - GroupID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjMoneyData: { - RequestID: UUID, - IntervalDays: number, - CurrentInterval: number, - StartDate: string, - Balance: number, - TotalCredits: number, - TotalDebits: number, - ObjectTaxCurrent: number, - LightTaxCurrent: number, - LandTaxCurrent: number, - GroupTaxCurrent: number, - ParcelDirFeeCurrent: number, - ObjectTaxEstimate: number, - LightTaxEstimate: number, - LandTaxEstimate: number, - GroupTaxEstimate: number, - ParcelDirFeeEstimate: number, - NonExemptMembers: number, - LastTaxDate: string, - TaxDate: string - } = { - RequestID: UUID.zero(), - IntervalDays: 0, - CurrentInterval: 0, - StartDate: '', - Balance: 0, - TotalCredits: 0, - TotalDebits: 0, - ObjectTaxCurrent: 0, - LightTaxCurrent: 0, - LandTaxCurrent: 0, - GroupTaxCurrent: 0, - ParcelDirFeeCurrent: 0, - ObjectTaxEstimate: 0, - LightTaxEstimate: 0, - LandTaxEstimate: 0, - GroupTaxEstimate: 0, - ParcelDirFeeEstimate: 0, - NonExemptMembers: 0, - LastTaxDate: '', - TaxDate: '' - }; - newObjMoneyData['RequestID'] = new UUID(buf, pos); - pos += 16; - newObjMoneyData['IntervalDays'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['CurrentInterval'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['StartDate'] = buf.toString('utf8', pos, length); - pos += length; - newObjMoneyData['Balance'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['TotalCredits'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['TotalDebits'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['ObjectTaxCurrent'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['LightTaxCurrent'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['LandTaxCurrent'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['GroupTaxCurrent'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['ParcelDirFeeCurrent'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['ObjectTaxEstimate'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['LightTaxEstimate'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['LandTaxEstimate'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['GroupTaxEstimate'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['ParcelDirFeeEstimate'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['NonExemptMembers'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['LastTaxDate'] = buf.toString('utf8', pos, length); - pos += length; - newObjMoneyData['TaxDate'] = buf.toString('utf8', pos, length); - pos += length; - this.MoneyData = newObjMoneyData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupAccountSummaryRequest.ts b/lib/classes/packets/GroupAccountSummaryRequest.ts deleted file mode 100644 index 0ad70b5..0000000 --- a/lib/classes/packets/GroupAccountSummaryRequest.ts +++ /dev/null @@ -1,85 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupAccountSummaryRequestPacket implements Packet -{ - name = 'GroupAccountSummaryRequest'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902113; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - GroupID: UUID; - }; - MoneyData: { - RequestID: UUID; - IntervalDays: number; - CurrentInterval: number; - }; - - getSize(): number - { - return 72; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - this.MoneyData['RequestID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.MoneyData['IntervalDays'], pos); - pos += 4; - buf.writeInt32LE(this.MoneyData['CurrentInterval'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - GroupID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - GroupID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjMoneyData: { - RequestID: UUID, - IntervalDays: number, - CurrentInterval: number - } = { - RequestID: UUID.zero(), - IntervalDays: 0, - CurrentInterval: 0 - }; - newObjMoneyData['RequestID'] = new UUID(buf, pos); - pos += 16; - newObjMoneyData['IntervalDays'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['CurrentInterval'] = buf.readInt32LE(pos); - pos += 4; - this.MoneyData = newObjMoneyData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupAccountTransactionsReply.ts b/lib/classes/packets/GroupAccountTransactionsReply.ts deleted file mode 100644 index aba6c32..0000000 --- a/lib/classes/packets/GroupAccountTransactionsReply.ts +++ /dev/null @@ -1,146 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupAccountTransactionsReplyPacket implements Packet -{ - name = 'GroupAccountTransactionsReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902118; - - AgentData: { - AgentID: UUID; - GroupID: UUID; - }; - MoneyData: { - RequestID: UUID; - IntervalDays: number; - CurrentInterval: number; - StartDate: string; - }; - HistoryData: { - Time: string; - User: string; - Type: number; - Item: string; - Amount: number; - }[]; - - getSize(): number - { - return (this.MoneyData['StartDate'].length + 1) + ((this.calculateVarVarSize(this.HistoryData, 'Time', 1) + this.calculateVarVarSize(this.HistoryData, 'User', 1) + this.calculateVarVarSize(this.HistoryData, 'Item', 1) + 8) * this.HistoryData.length) + 57; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - this.MoneyData['RequestID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.MoneyData['IntervalDays'], pos); - pos += 4; - buf.writeInt32LE(this.MoneyData['CurrentInterval'], pos); - pos += 4; - buf.write(this.MoneyData['StartDate'], pos); - pos += this.MoneyData['StartDate'].length; - const count = this.HistoryData.length; - buf.writeUInt8(this.HistoryData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.write(this.HistoryData[i]['Time'], pos); - pos += this.HistoryData[i]['Time'].length; - buf.write(this.HistoryData[i]['User'], pos); - pos += this.HistoryData[i]['User'].length; - buf.writeInt32LE(this.HistoryData[i]['Type'], pos); - pos += 4; - buf.write(this.HistoryData[i]['Item'], pos); - pos += this.HistoryData[i]['Item'].length; - buf.writeInt32LE(this.HistoryData[i]['Amount'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - GroupID: UUID - } = { - AgentID: UUID.zero(), - GroupID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjMoneyData: { - RequestID: UUID, - IntervalDays: number, - CurrentInterval: number, - StartDate: string - } = { - RequestID: UUID.zero(), - IntervalDays: 0, - CurrentInterval: 0, - StartDate: '' - }; - newObjMoneyData['RequestID'] = new UUID(buf, pos); - pos += 16; - newObjMoneyData['IntervalDays'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['CurrentInterval'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['StartDate'] = buf.toString('utf8', pos, length); - pos += length; - this.MoneyData = newObjMoneyData; - const count = buf.readUInt8(pos++); - this.HistoryData = []; - for (let i = 0; i < count; i++) - { - const newObjHistoryData: { - Time: string, - User: string, - Type: number, - Item: string, - Amount: number - } = { - Time: '', - User: '', - Type: 0, - Item: '', - Amount: 0 - }; - newObjHistoryData['Time'] = buf.toString('utf8', pos, length); - pos += length; - newObjHistoryData['User'] = buf.toString('utf8', pos, length); - pos += length; - newObjHistoryData['Type'] = buf.readInt32LE(pos); - pos += 4; - newObjHistoryData['Item'] = buf.toString('utf8', pos, length); - pos += length; - newObjHistoryData['Amount'] = buf.readInt32LE(pos); - pos += 4; - this.HistoryData.push(newObjHistoryData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupAccountTransactionsRequest.ts b/lib/classes/packets/GroupAccountTransactionsRequest.ts deleted file mode 100644 index 22399fd..0000000 --- a/lib/classes/packets/GroupAccountTransactionsRequest.ts +++ /dev/null @@ -1,85 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupAccountTransactionsRequestPacket implements Packet -{ - name = 'GroupAccountTransactionsRequest'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902117; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - GroupID: UUID; - }; - MoneyData: { - RequestID: UUID; - IntervalDays: number; - CurrentInterval: number; - }; - - getSize(): number - { - return 72; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - this.MoneyData['RequestID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.MoneyData['IntervalDays'], pos); - pos += 4; - buf.writeInt32LE(this.MoneyData['CurrentInterval'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - GroupID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - GroupID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjMoneyData: { - RequestID: UUID, - IntervalDays: number, - CurrentInterval: number - } = { - RequestID: UUID.zero(), - IntervalDays: 0, - CurrentInterval: 0 - }; - newObjMoneyData['RequestID'] = new UUID(buf, pos); - pos += 16; - newObjMoneyData['IntervalDays'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['CurrentInterval'] = buf.readInt32LE(pos); - pos += 4; - this.MoneyData = newObjMoneyData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupActiveProposalItemReply.ts b/lib/classes/packets/GroupActiveProposalItemReply.ts deleted file mode 100644 index 1041119..0000000 --- a/lib/classes/packets/GroupActiveProposalItemReply.ts +++ /dev/null @@ -1,165 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupActiveProposalItemReplyPacket implements Packet -{ - name = 'GroupActiveProposalItemReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902120; - - AgentData: { - AgentID: UUID; - GroupID: UUID; - }; - TransactionData: { - TransactionID: UUID; - TotalNumItems: number; - }; - ProposalData: { - VoteID: UUID; - VoteInitiator: UUID; - TerseDateID: string; - StartDateTime: string; - EndDateTime: string; - AlreadyVoted: boolean; - VoteCast: string; - Majority: number; - Quorum: number; - ProposalText: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.ProposalData, 'TerseDateID', 1) + this.calculateVarVarSize(this.ProposalData, 'StartDateTime', 1) + this.calculateVarVarSize(this.ProposalData, 'EndDateTime', 1) + this.calculateVarVarSize(this.ProposalData, 'VoteCast', 1) + this.calculateVarVarSize(this.ProposalData, 'ProposalText', 1) + 41) * this.ProposalData.length) + 53; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - this.TransactionData['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.TransactionData['TotalNumItems'], pos); - pos += 4; - const count = this.ProposalData.length; - buf.writeUInt8(this.ProposalData.length, pos++); - for (let i = 0; i < count; i++) - { - this.ProposalData[i]['VoteID'].writeToBuffer(buf, pos); - pos += 16; - this.ProposalData[i]['VoteInitiator'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.ProposalData[i]['TerseDateID'], pos); - pos += this.ProposalData[i]['TerseDateID'].length; - buf.write(this.ProposalData[i]['StartDateTime'], pos); - pos += this.ProposalData[i]['StartDateTime'].length; - buf.write(this.ProposalData[i]['EndDateTime'], pos); - pos += this.ProposalData[i]['EndDateTime'].length; - buf.writeUInt8((this.ProposalData[i]['AlreadyVoted']) ? 1 : 0, pos++); - buf.write(this.ProposalData[i]['VoteCast'], pos); - pos += this.ProposalData[i]['VoteCast'].length; - buf.writeFloatLE(this.ProposalData[i]['Majority'], pos); - pos += 4; - buf.writeInt32LE(this.ProposalData[i]['Quorum'], pos); - pos += 4; - buf.write(this.ProposalData[i]['ProposalText'], pos); - pos += this.ProposalData[i]['ProposalText'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - GroupID: UUID - } = { - AgentID: UUID.zero(), - GroupID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjTransactionData: { - TransactionID: UUID, - TotalNumItems: number - } = { - TransactionID: UUID.zero(), - TotalNumItems: 0 - }; - newObjTransactionData['TransactionID'] = new UUID(buf, pos); - pos += 16; - newObjTransactionData['TotalNumItems'] = buf.readUInt32LE(pos); - pos += 4; - this.TransactionData = newObjTransactionData; - const count = buf.readUInt8(pos++); - this.ProposalData = []; - for (let i = 0; i < count; i++) - { - const newObjProposalData: { - VoteID: UUID, - VoteInitiator: UUID, - TerseDateID: string, - StartDateTime: string, - EndDateTime: string, - AlreadyVoted: boolean, - VoteCast: string, - Majority: number, - Quorum: number, - ProposalText: string - } = { - VoteID: UUID.zero(), - VoteInitiator: UUID.zero(), - TerseDateID: '', - StartDateTime: '', - EndDateTime: '', - AlreadyVoted: false, - VoteCast: '', - Majority: 0, - Quorum: 0, - ProposalText: '' - }; - newObjProposalData['VoteID'] = new UUID(buf, pos); - pos += 16; - newObjProposalData['VoteInitiator'] = new UUID(buf, pos); - pos += 16; - newObjProposalData['TerseDateID'] = buf.toString('utf8', pos, length); - pos += length; - newObjProposalData['StartDateTime'] = buf.toString('utf8', pos, length); - pos += length; - newObjProposalData['EndDateTime'] = buf.toString('utf8', pos, length); - pos += length; - newObjProposalData['AlreadyVoted'] = (buf.readUInt8(pos++) === 1); - newObjProposalData['VoteCast'] = buf.toString('utf8', pos, length); - pos += length; - newObjProposalData['Majority'] = buf.readFloatLE(pos); - pos += 4; - newObjProposalData['Quorum'] = buf.readInt32LE(pos); - pos += 4; - newObjProposalData['ProposalText'] = buf.toString('utf8', pos, length); - pos += length; - this.ProposalData.push(newObjProposalData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupActiveProposalsRequest.ts b/lib/classes/packets/GroupActiveProposalsRequest.ts deleted file mode 100644 index bfddb25..0000000 --- a/lib/classes/packets/GroupActiveProposalsRequest.ts +++ /dev/null @@ -1,77 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupActiveProposalsRequestPacket implements Packet -{ - name = 'GroupActiveProposalsRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294902119; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - GroupData: { - GroupID: UUID; - }; - TransactionData: { - TransactionID: UUID; - }; - - getSize(): number - { - return 64; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.GroupData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - this.TransactionData['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjGroupData: { - GroupID: UUID - } = { - GroupID: UUID.zero() - }; - newObjGroupData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.GroupData = newObjGroupData; - const newObjTransactionData: { - TransactionID: UUID - } = { - TransactionID: UUID.zero() - }; - newObjTransactionData['TransactionID'] = new UUID(buf, pos); - pos += 16; - this.TransactionData = newObjTransactionData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupDataUpdate.ts b/lib/classes/packets/GroupDataUpdate.ts deleted file mode 100644 index dbc79e3..0000000 --- a/lib/classes/packets/GroupDataUpdate.ts +++ /dev/null @@ -1,88 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupDataUpdatePacket implements Packet -{ - name = 'GroupDataUpdate'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902148; - - AgentGroupData: { - AgentID: UUID; - GroupID: UUID; - AgentPowers: Long; - GroupTitle: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.AgentGroupData, 'GroupTitle', 1) + 40) * this.AgentGroupData.length) + 1; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.AgentGroupData.length; - buf.writeUInt8(this.AgentGroupData.length, pos++); - for (let i = 0; i < count; i++) - { - this.AgentGroupData[i]['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentGroupData[i]['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.AgentGroupData[i]['AgentPowers'].low, pos); - pos += 4; - buf.writeInt32LE(this.AgentGroupData[i]['AgentPowers'].high, pos); - pos += 4; - buf.write(this.AgentGroupData[i]['GroupTitle'], pos); - pos += this.AgentGroupData[i]['GroupTitle'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.AgentGroupData = []; - for (let i = 0; i < count; i++) - { - const newObjAgentGroupData: { - AgentID: UUID, - GroupID: UUID, - AgentPowers: Long, - GroupTitle: string - } = { - AgentID: UUID.zero(), - GroupID: UUID.zero(), - AgentPowers: Long.ZERO, - GroupTitle: '' - }; - newObjAgentGroupData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentGroupData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjAgentGroupData['AgentPowers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjAgentGroupData['GroupTitle'] = buf.toString('utf8', pos, length); - pos += length; - this.AgentGroupData.push(newObjAgentGroupData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupMembersReply.ts b/lib/classes/packets/GroupMembersReply.ts deleted file mode 100644 index d39ea0a..0000000 --- a/lib/classes/packets/GroupMembersReply.ts +++ /dev/null @@ -1,140 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupMembersReplyPacket implements Packet -{ - name = 'GroupMembersReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902127; - - AgentData: { - AgentID: UUID; - }; - GroupData: { - GroupID: UUID; - RequestID: UUID; - MemberCount: number; - }; - MemberData: { - AgentID: UUID; - Contribution: number; - OnlineStatus: string; - AgentPowers: Long; - Title: string; - IsOwner: boolean; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.MemberData, 'OnlineStatus', 1) + this.calculateVarVarSize(this.MemberData, 'Title', 1) + 29) * this.MemberData.length) + 53; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.GroupData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - this.GroupData['RequestID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.GroupData['MemberCount'], pos); - pos += 4; - const count = this.MemberData.length; - buf.writeUInt8(this.MemberData.length, pos++); - for (let i = 0; i < count; i++) - { - this.MemberData[i]['AgentID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.MemberData[i]['Contribution'], pos); - pos += 4; - buf.write(this.MemberData[i]['OnlineStatus'], pos); - pos += this.MemberData[i]['OnlineStatus'].length; - buf.writeInt32LE(this.MemberData[i]['AgentPowers'].low, pos); - pos += 4; - buf.writeInt32LE(this.MemberData[i]['AgentPowers'].high, pos); - pos += 4; - buf.write(this.MemberData[i]['Title'], pos); - pos += this.MemberData[i]['Title'].length; - buf.writeUInt8((this.MemberData[i]['IsOwner']) ? 1 : 0, pos++); - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjGroupData: { - GroupID: UUID, - RequestID: UUID, - MemberCount: number - } = { - GroupID: UUID.zero(), - RequestID: UUID.zero(), - MemberCount: 0 - }; - newObjGroupData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjGroupData['RequestID'] = new UUID(buf, pos); - pos += 16; - newObjGroupData['MemberCount'] = buf.readInt32LE(pos); - pos += 4; - this.GroupData = newObjGroupData; - const count = buf.readUInt8(pos++); - this.MemberData = []; - for (let i = 0; i < count; i++) - { - const newObjMemberData: { - AgentID: UUID, - Contribution: number, - OnlineStatus: string, - AgentPowers: Long, - Title: string, - IsOwner: boolean - } = { - AgentID: UUID.zero(), - Contribution: 0, - OnlineStatus: '', - AgentPowers: Long.ZERO, - Title: '', - IsOwner: false - }; - newObjMemberData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjMemberData['Contribution'] = buf.readInt32LE(pos); - pos += 4; - newObjMemberData['OnlineStatus'] = buf.toString('utf8', pos, length); - pos += length; - newObjMemberData['AgentPowers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjMemberData['Title'] = buf.toString('utf8', pos, length); - pos += length; - newObjMemberData['IsOwner'] = (buf.readUInt8(pos++) === 1); - this.MemberData.push(newObjMemberData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupMembersRequest.ts b/lib/classes/packets/GroupMembersRequest.ts deleted file mode 100644 index a2b8bac..0000000 --- a/lib/classes/packets/GroupMembersRequest.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupMembersRequestPacket implements Packet -{ - name = 'GroupMembersRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294902126; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - GroupData: { - GroupID: UUID; - RequestID: UUID; - }; - - getSize(): number - { - return 64; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.GroupData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - this.GroupData['RequestID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjGroupData: { - GroupID: UUID, - RequestID: UUID - } = { - GroupID: UUID.zero(), - RequestID: UUID.zero() - }; - newObjGroupData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjGroupData['RequestID'] = new UUID(buf, pos); - pos += 16; - this.GroupData = newObjGroupData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupNoticeAdd.ts b/lib/classes/packets/GroupNoticeAdd.ts deleted file mode 100644 index 40b5b87..0000000 --- a/lib/classes/packets/GroupNoticeAdd.ts +++ /dev/null @@ -1,90 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupNoticeAddPacket implements Packet -{ - name = 'GroupNoticeAdd'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901821; - - AgentData: { - AgentID: UUID; - }; - MessageBlock: { - ToGroupID: UUID; - ID: UUID; - Dialog: number; - FromAgentName: string; - Message: string; - BinaryBucket: string; - }; - - getSize(): number - { - return (this.MessageBlock['FromAgentName'].length + 1 + this.MessageBlock['Message'].length + 2 + this.MessageBlock['BinaryBucket'].length + 2) + 49; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.MessageBlock['ToGroupID'].writeToBuffer(buf, pos); - pos += 16; - this.MessageBlock['ID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.MessageBlock['Dialog'], pos++); - buf.write(this.MessageBlock['FromAgentName'], pos); - pos += this.MessageBlock['FromAgentName'].length; - buf.write(this.MessageBlock['Message'], pos); - pos += this.MessageBlock['Message'].length; - buf.write(this.MessageBlock['BinaryBucket'], pos); - pos += this.MessageBlock['BinaryBucket'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjMessageBlock: { - ToGroupID: UUID, - ID: UUID, - Dialog: number, - FromAgentName: string, - Message: string, - BinaryBucket: string - } = { - ToGroupID: UUID.zero(), - ID: UUID.zero(), - Dialog: 0, - FromAgentName: '', - Message: '', - BinaryBucket: '' - }; - newObjMessageBlock['ToGroupID'] = new UUID(buf, pos); - pos += 16; - newObjMessageBlock['ID'] = new UUID(buf, pos); - pos += 16; - newObjMessageBlock['Dialog'] = buf.readUInt8(pos++); - newObjMessageBlock['FromAgentName'] = buf.toString('utf8', pos, length); - pos += length; - newObjMessageBlock['Message'] = buf.toString('utf8', pos, length); - pos += length; - newObjMessageBlock['BinaryBucket'] = buf.toString('utf8', pos, length); - pos += length; - this.MessageBlock = newObjMessageBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupNoticeRequest.ts b/lib/classes/packets/GroupNoticeRequest.ts deleted file mode 100644 index 20d0e63..0000000 --- a/lib/classes/packets/GroupNoticeRequest.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupNoticeRequestPacket implements Packet -{ - name = 'GroupNoticeRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294901820; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - GroupNoticeID: UUID; - }; - - getSize(): number - { - return 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['GroupNoticeID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - GroupNoticeID: UUID - } = { - GroupNoticeID: UUID.zero() - }; - newObjData['GroupNoticeID'] = new UUID(buf, pos); - pos += 16; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupNoticesListReply.ts b/lib/classes/packets/GroupNoticesListReply.ts deleted file mode 100644 index 0b9ca56..0000000 --- a/lib/classes/packets/GroupNoticesListReply.ts +++ /dev/null @@ -1,115 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupNoticesListReplyPacket implements Packet -{ - name = 'GroupNoticesListReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901819; - - AgentData: { - AgentID: UUID; - GroupID: UUID; - }; - Data: { - NoticeID: UUID; - Timestamp: number; - FromName: string; - Subject: string; - HasAttachment: boolean; - AssetType: number; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.Data, 'FromName', 2) + this.calculateVarVarSize(this.Data, 'Subject', 2) + 22) * this.Data.length) + 33; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.Data.length; - buf.writeUInt8(this.Data.length, pos++); - for (let i = 0; i < count; i++) - { - this.Data[i]['NoticeID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.Data[i]['Timestamp'], pos); - pos += 4; - buf.write(this.Data[i]['FromName'], pos); - pos += this.Data[i]['FromName'].length; - buf.write(this.Data[i]['Subject'], pos); - pos += this.Data[i]['Subject'].length; - buf.writeUInt8((this.Data[i]['HasAttachment']) ? 1 : 0, pos++); - buf.writeUInt8(this.Data[i]['AssetType'], pos++); - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - GroupID: UUID - } = { - AgentID: UUID.zero(), - GroupID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.Data = []; - for (let i = 0; i < count; i++) - { - const newObjData: { - NoticeID: UUID, - Timestamp: number, - FromName: string, - Subject: string, - HasAttachment: boolean, - AssetType: number - } = { - NoticeID: UUID.zero(), - Timestamp: 0, - FromName: '', - Subject: '', - HasAttachment: false, - AssetType: 0 - }; - newObjData['NoticeID'] = new UUID(buf, pos); - pos += 16; - newObjData['Timestamp'] = buf.readUInt32LE(pos); - pos += 4; - newObjData['FromName'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['Subject'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['HasAttachment'] = (buf.readUInt8(pos++) === 1); - newObjData['AssetType'] = buf.readUInt8(pos++); - this.Data.push(newObjData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupNoticesListRequest.ts b/lib/classes/packets/GroupNoticesListRequest.ts deleted file mode 100644 index dc4dbf4..0000000 --- a/lib/classes/packets/GroupNoticesListRequest.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupNoticesListRequestPacket implements Packet -{ - name = 'GroupNoticesListRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294901818; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - GroupID: UUID; - }; - - getSize(): number - { - return 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['GroupID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - GroupID: UUID - } = { - GroupID: UUID.zero() - }; - newObjData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupProfileReply.ts b/lib/classes/packets/GroupProfileReply.ts deleted file mode 100644 index 9a55bf7..0000000 --- a/lib/classes/packets/GroupProfileReply.ts +++ /dev/null @@ -1,157 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupProfileReplyPacket implements Packet -{ - name = 'GroupProfileReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902112; - - AgentData: { - AgentID: UUID; - }; - GroupData: { - GroupID: UUID; - Name: string; - Charter: string; - ShowInList: boolean; - MemberTitle: string; - PowersMask: Long; - InsigniaID: UUID; - FounderID: UUID; - MembershipFee: number; - OpenEnrollment: boolean; - Money: number; - GroupMembershipCount: number; - GroupRolesCount: number; - AllowPublish: boolean; - MaturePublish: boolean; - OwnerRole: UUID; - }; - - getSize(): number - { - return (this.GroupData['Name'].length + 1 + this.GroupData['Charter'].length + 2 + this.GroupData['MemberTitle'].length + 1) + 108; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.GroupData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.GroupData['Name'], pos); - pos += this.GroupData['Name'].length; - buf.write(this.GroupData['Charter'], pos); - pos += this.GroupData['Charter'].length; - buf.writeUInt8((this.GroupData['ShowInList']) ? 1 : 0, pos++); - buf.write(this.GroupData['MemberTitle'], pos); - pos += this.GroupData['MemberTitle'].length; - buf.writeInt32LE(this.GroupData['PowersMask'].low, pos); - pos += 4; - buf.writeInt32LE(this.GroupData['PowersMask'].high, pos); - pos += 4; - this.GroupData['InsigniaID'].writeToBuffer(buf, pos); - pos += 16; - this.GroupData['FounderID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.GroupData['MembershipFee'], pos); - pos += 4; - buf.writeUInt8((this.GroupData['OpenEnrollment']) ? 1 : 0, pos++); - buf.writeInt32LE(this.GroupData['Money'], pos); - pos += 4; - buf.writeInt32LE(this.GroupData['GroupMembershipCount'], pos); - pos += 4; - buf.writeInt32LE(this.GroupData['GroupRolesCount'], pos); - pos += 4; - buf.writeUInt8((this.GroupData['AllowPublish']) ? 1 : 0, pos++); - buf.writeUInt8((this.GroupData['MaturePublish']) ? 1 : 0, pos++); - this.GroupData['OwnerRole'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjGroupData: { - GroupID: UUID, - Name: string, - Charter: string, - ShowInList: boolean, - MemberTitle: string, - PowersMask: Long, - InsigniaID: UUID, - FounderID: UUID, - MembershipFee: number, - OpenEnrollment: boolean, - Money: number, - GroupMembershipCount: number, - GroupRolesCount: number, - AllowPublish: boolean, - MaturePublish: boolean, - OwnerRole: UUID - } = { - GroupID: UUID.zero(), - Name: '', - Charter: '', - ShowInList: false, - MemberTitle: '', - PowersMask: Long.ZERO, - InsigniaID: UUID.zero(), - FounderID: UUID.zero(), - MembershipFee: 0, - OpenEnrollment: false, - Money: 0, - GroupMembershipCount: 0, - GroupRolesCount: 0, - AllowPublish: false, - MaturePublish: false, - OwnerRole: UUID.zero() - }; - newObjGroupData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjGroupData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjGroupData['Charter'] = buf.toString('utf8', pos, length); - pos += length; - newObjGroupData['ShowInList'] = (buf.readUInt8(pos++) === 1); - newObjGroupData['MemberTitle'] = buf.toString('utf8', pos, length); - pos += length; - newObjGroupData['PowersMask'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjGroupData['InsigniaID'] = new UUID(buf, pos); - pos += 16; - newObjGroupData['FounderID'] = new UUID(buf, pos); - pos += 16; - newObjGroupData['MembershipFee'] = buf.readInt32LE(pos); - pos += 4; - newObjGroupData['OpenEnrollment'] = (buf.readUInt8(pos++) === 1); - newObjGroupData['Money'] = buf.readInt32LE(pos); - pos += 4; - newObjGroupData['GroupMembershipCount'] = buf.readInt32LE(pos); - pos += 4; - newObjGroupData['GroupRolesCount'] = buf.readInt32LE(pos); - pos += 4; - newObjGroupData['AllowPublish'] = (buf.readUInt8(pos++) === 1); - newObjGroupData['MaturePublish'] = (buf.readUInt8(pos++) === 1); - newObjGroupData['OwnerRole'] = new UUID(buf, pos); - pos += 16; - this.GroupData = newObjGroupData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupProfileRequest.ts b/lib/classes/packets/GroupProfileRequest.ts deleted file mode 100644 index a6e8f18..0000000 --- a/lib/classes/packets/GroupProfileRequest.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupProfileRequestPacket implements Packet -{ - name = 'GroupProfileRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294902111; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - GroupData: { - GroupID: UUID; - }; - - getSize(): number - { - return 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.GroupData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjGroupData: { - GroupID: UUID - } = { - GroupID: UUID.zero() - }; - newObjGroupData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.GroupData = newObjGroupData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupProposalBallot.ts b/lib/classes/packets/GroupProposalBallot.ts deleted file mode 100644 index c8d2e38..0000000 --- a/lib/classes/packets/GroupProposalBallot.ts +++ /dev/null @@ -1,78 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupProposalBallotPacket implements Packet -{ - name = 'GroupProposalBallot'; - flags = MessageFlags.Deprecated | MessageFlags.FrequencyLow; - id = 4294902124; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ProposalData: { - ProposalID: UUID; - GroupID: UUID; - VoteCast: string; - }; - - getSize(): number - { - return (this.ProposalData['VoteCast'].length + 1) + 64; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.ProposalData['ProposalID'].writeToBuffer(buf, pos); - pos += 16; - this.ProposalData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.ProposalData['VoteCast'], pos); - pos += this.ProposalData['VoteCast'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjProposalData: { - ProposalID: UUID, - GroupID: UUID, - VoteCast: string - } = { - ProposalID: UUID.zero(), - GroupID: UUID.zero(), - VoteCast: '' - }; - newObjProposalData['ProposalID'] = new UUID(buf, pos); - pos += 16; - newObjProposalData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjProposalData['VoteCast'] = buf.toString('utf8', pos, length); - pos += length; - this.ProposalData = newObjProposalData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupRoleChanges.ts b/lib/classes/packets/GroupRoleChanges.ts deleted file mode 100644 index da29d43..0000000 --- a/lib/classes/packets/GroupRoleChanges.ts +++ /dev/null @@ -1,95 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupRoleChangesPacket implements Packet -{ - name = 'GroupRoleChanges'; - flags = MessageFlags.FrequencyLow; - id = 4294902102; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - GroupID: UUID; - }; - RoleChange: { - RoleID: UUID; - MemberID: UUID; - Change: number; - }[]; - - getSize(): number - { - return ((36) * this.RoleChange.length) + 49; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.RoleChange.length; - buf.writeUInt8(this.RoleChange.length, pos++); - for (let i = 0; i < count; i++) - { - this.RoleChange[i]['RoleID'].writeToBuffer(buf, pos); - pos += 16; - this.RoleChange[i]['MemberID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.RoleChange[i]['Change'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - GroupID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - GroupID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.RoleChange = []; - for (let i = 0; i < count; i++) - { - const newObjRoleChange: { - RoleID: UUID, - MemberID: UUID, - Change: number - } = { - RoleID: UUID.zero(), - MemberID: UUID.zero(), - Change: 0 - }; - newObjRoleChange['RoleID'] = new UUID(buf, pos); - pos += 16; - newObjRoleChange['MemberID'] = new UUID(buf, pos); - pos += 16; - newObjRoleChange['Change'] = buf.readUInt32LE(pos); - pos += 4; - this.RoleChange.push(newObjRoleChange); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupRoleDataReply.ts b/lib/classes/packets/GroupRoleDataReply.ts deleted file mode 100644 index 71bf117..0000000 --- a/lib/classes/packets/GroupRoleDataReply.ts +++ /dev/null @@ -1,142 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupRoleDataReplyPacket implements Packet -{ - name = 'GroupRoleDataReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902132; - - AgentData: { - AgentID: UUID; - }; - GroupData: { - GroupID: UUID; - RequestID: UUID; - RoleCount: number; - }; - RoleData: { - RoleID: UUID; - Name: string; - Title: string; - Description: string; - Powers: Long; - Members: number; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.RoleData, 'Name', 1) + this.calculateVarVarSize(this.RoleData, 'Title', 1) + this.calculateVarVarSize(this.RoleData, 'Description', 1) + 28) * this.RoleData.length) + 53; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.GroupData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - this.GroupData['RequestID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.GroupData['RoleCount'], pos); - pos += 4; - const count = this.RoleData.length; - buf.writeUInt8(this.RoleData.length, pos++); - for (let i = 0; i < count; i++) - { - this.RoleData[i]['RoleID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.RoleData[i]['Name'], pos); - pos += this.RoleData[i]['Name'].length; - buf.write(this.RoleData[i]['Title'], pos); - pos += this.RoleData[i]['Title'].length; - buf.write(this.RoleData[i]['Description'], pos); - pos += this.RoleData[i]['Description'].length; - buf.writeInt32LE(this.RoleData[i]['Powers'].low, pos); - pos += 4; - buf.writeInt32LE(this.RoleData[i]['Powers'].high, pos); - pos += 4; - buf.writeUInt32LE(this.RoleData[i]['Members'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjGroupData: { - GroupID: UUID, - RequestID: UUID, - RoleCount: number - } = { - GroupID: UUID.zero(), - RequestID: UUID.zero(), - RoleCount: 0 - }; - newObjGroupData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjGroupData['RequestID'] = new UUID(buf, pos); - pos += 16; - newObjGroupData['RoleCount'] = buf.readInt32LE(pos); - pos += 4; - this.GroupData = newObjGroupData; - const count = buf.readUInt8(pos++); - this.RoleData = []; - for (let i = 0; i < count; i++) - { - const newObjRoleData: { - RoleID: UUID, - Name: string, - Title: string, - Description: string, - Powers: Long, - Members: number - } = { - RoleID: UUID.zero(), - Name: '', - Title: '', - Description: '', - Powers: Long.ZERO, - Members: 0 - }; - newObjRoleData['RoleID'] = new UUID(buf, pos); - pos += 16; - newObjRoleData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjRoleData['Title'] = buf.toString('utf8', pos, length); - pos += length; - newObjRoleData['Description'] = buf.toString('utf8', pos, length); - pos += length; - newObjRoleData['Powers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjRoleData['Members'] = buf.readUInt32LE(pos); - pos += 4; - this.RoleData.push(newObjRoleData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupRoleDataRequest.ts b/lib/classes/packets/GroupRoleDataRequest.ts deleted file mode 100644 index 3b77284..0000000 --- a/lib/classes/packets/GroupRoleDataRequest.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupRoleDataRequestPacket implements Packet -{ - name = 'GroupRoleDataRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294902131; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - GroupData: { - GroupID: UUID; - RequestID: UUID; - }; - - getSize(): number - { - return 64; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.GroupData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - this.GroupData['RequestID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjGroupData: { - GroupID: UUID, - RequestID: UUID - } = { - GroupID: UUID.zero(), - RequestID: UUID.zero() - }; - newObjGroupData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjGroupData['RequestID'] = new UUID(buf, pos); - pos += 16; - this.GroupData = newObjGroupData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupRoleMembersReply.ts b/lib/classes/packets/GroupRoleMembersReply.ts deleted file mode 100644 index edef939..0000000 --- a/lib/classes/packets/GroupRoleMembersReply.ts +++ /dev/null @@ -1,95 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupRoleMembersReplyPacket implements Packet -{ - name = 'GroupRoleMembersReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902134; - - AgentData: { - AgentID: UUID; - GroupID: UUID; - RequestID: UUID; - TotalPairs: number; - }; - MemberData: { - RoleID: UUID; - MemberID: UUID; - }[]; - - getSize(): number - { - return ((32) * this.MemberData.length) + 53; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['RequestID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.AgentData['TotalPairs'], pos); - pos += 4; - const count = this.MemberData.length; - buf.writeUInt8(this.MemberData.length, pos++); - for (let i = 0; i < count; i++) - { - this.MemberData[i]['RoleID'].writeToBuffer(buf, pos); - pos += 16; - this.MemberData[i]['MemberID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - GroupID: UUID, - RequestID: UUID, - TotalPairs: number - } = { - AgentID: UUID.zero(), - GroupID: UUID.zero(), - RequestID: UUID.zero(), - TotalPairs: 0 - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['RequestID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['TotalPairs'] = buf.readUInt32LE(pos); - pos += 4; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.MemberData = []; - for (let i = 0; i < count; i++) - { - const newObjMemberData: { - RoleID: UUID, - MemberID: UUID - } = { - RoleID: UUID.zero(), - MemberID: UUID.zero() - }; - newObjMemberData['RoleID'] = new UUID(buf, pos); - pos += 16; - newObjMemberData['MemberID'] = new UUID(buf, pos); - pos += 16; - this.MemberData.push(newObjMemberData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupRoleMembersRequest.ts b/lib/classes/packets/GroupRoleMembersRequest.ts deleted file mode 100644 index aa16e6b..0000000 --- a/lib/classes/packets/GroupRoleMembersRequest.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupRoleMembersRequestPacket implements Packet -{ - name = 'GroupRoleMembersRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294902133; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - GroupData: { - GroupID: UUID; - RequestID: UUID; - }; - - getSize(): number - { - return 64; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.GroupData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - this.GroupData['RequestID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjGroupData: { - GroupID: UUID, - RequestID: UUID - } = { - GroupID: UUID.zero(), - RequestID: UUID.zero() - }; - newObjGroupData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjGroupData['RequestID'] = new UUID(buf, pos); - pos += 16; - this.GroupData = newObjGroupData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupRoleUpdate.ts b/lib/classes/packets/GroupRoleUpdate.ts deleted file mode 100644 index 9929fbc..0000000 --- a/lib/classes/packets/GroupRoleUpdate.ts +++ /dev/null @@ -1,127 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupRoleUpdatePacket implements Packet -{ - name = 'GroupRoleUpdate'; - flags = MessageFlags.FrequencyLow; - id = 4294902138; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - GroupID: UUID; - }; - RoleData: { - RoleID: UUID; - Name: string; - Description: string; - Title: string; - Powers: Long; - UpdateType: number; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.RoleData, 'Name', 1) + this.calculateVarVarSize(this.RoleData, 'Description', 1) + this.calculateVarVarSize(this.RoleData, 'Title', 1) + 25) * this.RoleData.length) + 49; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.RoleData.length; - buf.writeUInt8(this.RoleData.length, pos++); - for (let i = 0; i < count; i++) - { - this.RoleData[i]['RoleID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.RoleData[i]['Name'], pos); - pos += this.RoleData[i]['Name'].length; - buf.write(this.RoleData[i]['Description'], pos); - pos += this.RoleData[i]['Description'].length; - buf.write(this.RoleData[i]['Title'], pos); - pos += this.RoleData[i]['Title'].length; - buf.writeInt32LE(this.RoleData[i]['Powers'].low, pos); - pos += 4; - buf.writeInt32LE(this.RoleData[i]['Powers'].high, pos); - pos += 4; - buf.writeUInt8(this.RoleData[i]['UpdateType'], pos++); - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - GroupID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - GroupID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.RoleData = []; - for (let i = 0; i < count; i++) - { - const newObjRoleData: { - RoleID: UUID, - Name: string, - Description: string, - Title: string, - Powers: Long, - UpdateType: number - } = { - RoleID: UUID.zero(), - Name: '', - Description: '', - Title: '', - Powers: Long.ZERO, - UpdateType: 0 - }; - newObjRoleData['RoleID'] = new UUID(buf, pos); - pos += 16; - newObjRoleData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjRoleData['Description'] = buf.toString('utf8', pos, length); - pos += length; - newObjRoleData['Title'] = buf.toString('utf8', pos, length); - pos += length; - newObjRoleData['Powers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjRoleData['UpdateType'] = buf.readUInt8(pos++); - this.RoleData.push(newObjRoleData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupTitleUpdate.ts b/lib/classes/packets/GroupTitleUpdate.ts deleted file mode 100644 index 3eb7320..0000000 --- a/lib/classes/packets/GroupTitleUpdate.ts +++ /dev/null @@ -1,65 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupTitleUpdatePacket implements Packet -{ - name = 'GroupTitleUpdate'; - flags = MessageFlags.FrequencyLow; - id = 4294902137; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - GroupID: UUID; - TitleRoleID: UUID; - }; - - getSize(): number - { - return 64; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['TitleRoleID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - GroupID: UUID, - TitleRoleID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - GroupID: UUID.zero(), - TitleRoleID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['TitleRoleID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupTitlesReply.ts b/lib/classes/packets/GroupTitlesReply.ts deleted file mode 100644 index d03ce98..0000000 --- a/lib/classes/packets/GroupTitlesReply.ts +++ /dev/null @@ -1,103 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupTitlesReplyPacket implements Packet -{ - name = 'GroupTitlesReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902136; - - AgentData: { - AgentID: UUID; - GroupID: UUID; - RequestID: UUID; - }; - GroupData: { - Title: string; - RoleID: UUID; - Selected: boolean; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.GroupData, 'Title', 1) + 17) * this.GroupData.length) + 49; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['RequestID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.GroupData.length; - buf.writeUInt8(this.GroupData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.write(this.GroupData[i]['Title'], pos); - pos += this.GroupData[i]['Title'].length; - this.GroupData[i]['RoleID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.GroupData[i]['Selected']) ? 1 : 0, pos++); - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - GroupID: UUID, - RequestID: UUID - } = { - AgentID: UUID.zero(), - GroupID: UUID.zero(), - RequestID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['RequestID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.GroupData = []; - for (let i = 0; i < count; i++) - { - const newObjGroupData: { - Title: string, - RoleID: UUID, - Selected: boolean - } = { - Title: '', - RoleID: UUID.zero(), - Selected: false - }; - newObjGroupData['Title'] = buf.toString('utf8', pos, length); - pos += length; - newObjGroupData['RoleID'] = new UUID(buf, pos); - pos += 16; - newObjGroupData['Selected'] = (buf.readUInt8(pos++) === 1); - this.GroupData.push(newObjGroupData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupTitlesRequest.ts b/lib/classes/packets/GroupTitlesRequest.ts deleted file mode 100644 index cd7e893..0000000 --- a/lib/classes/packets/GroupTitlesRequest.ts +++ /dev/null @@ -1,65 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupTitlesRequestPacket implements Packet -{ - name = 'GroupTitlesRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294902135; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - GroupID: UUID; - RequestID: UUID; - }; - - getSize(): number - { - return 64; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['RequestID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - GroupID: UUID, - RequestID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - GroupID: UUID.zero(), - RequestID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['RequestID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupVoteHistoryItemReply.ts b/lib/classes/packets/GroupVoteHistoryItemReply.ts deleted file mode 100644 index 5e60356..0000000 --- a/lib/classes/packets/GroupVoteHistoryItemReply.ts +++ /dev/null @@ -1,194 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupVoteHistoryItemReplyPacket implements Packet -{ - name = 'GroupVoteHistoryItemReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902122; - - AgentData: { - AgentID: UUID; - GroupID: UUID; - }; - TransactionData: { - TransactionID: UUID; - TotalNumItems: number; - }; - HistoryItemData: { - VoteID: UUID; - TerseDateID: string; - StartDateTime: string; - EndDateTime: string; - VoteInitiator: UUID; - VoteType: string; - VoteResult: string; - Majority: number; - Quorum: number; - ProposalText: string; - }; - VoteItem: { - CandidateID: UUID; - VoteCast: string; - NumVotes: number; - }[]; - - getSize(): number - { - return (this.HistoryItemData['TerseDateID'].length + 1 + this.HistoryItemData['StartDateTime'].length + 1 + this.HistoryItemData['EndDateTime'].length + 1 + this.HistoryItemData['VoteType'].length + 1 + this.HistoryItemData['VoteResult'].length + 1 + this.HistoryItemData['ProposalText'].length + 2) + ((this.calculateVarVarSize(this.VoteItem, 'VoteCast', 1) + 20) * this.VoteItem.length) + 93; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - this.TransactionData['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.TransactionData['TotalNumItems'], pos); - pos += 4; - this.HistoryItemData['VoteID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.HistoryItemData['TerseDateID'], pos); - pos += this.HistoryItemData['TerseDateID'].length; - buf.write(this.HistoryItemData['StartDateTime'], pos); - pos += this.HistoryItemData['StartDateTime'].length; - buf.write(this.HistoryItemData['EndDateTime'], pos); - pos += this.HistoryItemData['EndDateTime'].length; - this.HistoryItemData['VoteInitiator'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.HistoryItemData['VoteType'], pos); - pos += this.HistoryItemData['VoteType'].length; - buf.write(this.HistoryItemData['VoteResult'], pos); - pos += this.HistoryItemData['VoteResult'].length; - buf.writeFloatLE(this.HistoryItemData['Majority'], pos); - pos += 4; - buf.writeInt32LE(this.HistoryItemData['Quorum'], pos); - pos += 4; - buf.write(this.HistoryItemData['ProposalText'], pos); - pos += this.HistoryItemData['ProposalText'].length; - const count = this.VoteItem.length; - buf.writeUInt8(this.VoteItem.length, pos++); - for (let i = 0; i < count; i++) - { - this.VoteItem[i]['CandidateID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.VoteItem[i]['VoteCast'], pos); - pos += this.VoteItem[i]['VoteCast'].length; - buf.writeInt32LE(this.VoteItem[i]['NumVotes'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - GroupID: UUID - } = { - AgentID: UUID.zero(), - GroupID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjTransactionData: { - TransactionID: UUID, - TotalNumItems: number - } = { - TransactionID: UUID.zero(), - TotalNumItems: 0 - }; - newObjTransactionData['TransactionID'] = new UUID(buf, pos); - pos += 16; - newObjTransactionData['TotalNumItems'] = buf.readUInt32LE(pos); - pos += 4; - this.TransactionData = newObjTransactionData; - const newObjHistoryItemData: { - VoteID: UUID, - TerseDateID: string, - StartDateTime: string, - EndDateTime: string, - VoteInitiator: UUID, - VoteType: string, - VoteResult: string, - Majority: number, - Quorum: number, - ProposalText: string - } = { - VoteID: UUID.zero(), - TerseDateID: '', - StartDateTime: '', - EndDateTime: '', - VoteInitiator: UUID.zero(), - VoteType: '', - VoteResult: '', - Majority: 0, - Quorum: 0, - ProposalText: '' - }; - newObjHistoryItemData['VoteID'] = new UUID(buf, pos); - pos += 16; - newObjHistoryItemData['TerseDateID'] = buf.toString('utf8', pos, length); - pos += length; - newObjHistoryItemData['StartDateTime'] = buf.toString('utf8', pos, length); - pos += length; - newObjHistoryItemData['EndDateTime'] = buf.toString('utf8', pos, length); - pos += length; - newObjHistoryItemData['VoteInitiator'] = new UUID(buf, pos); - pos += 16; - newObjHistoryItemData['VoteType'] = buf.toString('utf8', pos, length); - pos += length; - newObjHistoryItemData['VoteResult'] = buf.toString('utf8', pos, length); - pos += length; - newObjHistoryItemData['Majority'] = buf.readFloatLE(pos); - pos += 4; - newObjHistoryItemData['Quorum'] = buf.readInt32LE(pos); - pos += 4; - newObjHistoryItemData['ProposalText'] = buf.toString('utf8', pos, length); - pos += length; - this.HistoryItemData = newObjHistoryItemData; - const count = buf.readUInt8(pos++); - this.VoteItem = []; - for (let i = 0; i < count; i++) - { - const newObjVoteItem: { - CandidateID: UUID, - VoteCast: string, - NumVotes: number - } = { - CandidateID: UUID.zero(), - VoteCast: '', - NumVotes: 0 - }; - newObjVoteItem['CandidateID'] = new UUID(buf, pos); - pos += 16; - newObjVoteItem['VoteCast'] = buf.toString('utf8', pos, length); - pos += length; - newObjVoteItem['NumVotes'] = buf.readInt32LE(pos); - pos += 4; - this.VoteItem.push(newObjVoteItem); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/GroupVoteHistoryRequest.ts b/lib/classes/packets/GroupVoteHistoryRequest.ts deleted file mode 100644 index 0deeee3..0000000 --- a/lib/classes/packets/GroupVoteHistoryRequest.ts +++ /dev/null @@ -1,77 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class GroupVoteHistoryRequestPacket implements Packet -{ - name = 'GroupVoteHistoryRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294902121; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - GroupData: { - GroupID: UUID; - }; - TransactionData: { - TransactionID: UUID; - }; - - getSize(): number - { - return 64; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.GroupData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - this.TransactionData['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjGroupData: { - GroupID: UUID - } = { - GroupID: UUID.zero() - }; - newObjGroupData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.GroupData = newObjGroupData; - const newObjTransactionData: { - TransactionID: UUID - } = { - TransactionID: UUID.zero() - }; - newObjTransactionData['TransactionID'] = new UUID(buf, pos); - pos += 16; - this.TransactionData = newObjTransactionData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/HealthMessage.ts b/lib/classes/packets/HealthMessage.ts deleted file mode 100644 index ae204ab..0000000 --- a/lib/classes/packets/HealthMessage.ts +++ /dev/null @@ -1,43 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class HealthMessagePacket implements Packet -{ - name = 'HealthMessage'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901898; - - HealthData: { - Health: number; - }; - - getSize(): number - { - return 4; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeFloatLE(this.HealthData['Health'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjHealthData: { - Health: number - } = { - Health: 0 - }; - newObjHealthData['Health'] = buf.readFloatLE(pos); - pos += 4; - this.HealthData = newObjHealthData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ImageData.ts b/lib/classes/packets/ImageData.ts deleted file mode 100644 index 543ae95..0000000 --- a/lib/classes/packets/ImageData.ts +++ /dev/null @@ -1,76 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ImageDataPacket implements Packet -{ - name = 'ImageData'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyHigh; - id = 9; - - ImageID: { - ID: UUID; - Codec: number; - Size: number; - Packets: number; - }; - ImageData: { - Data: string; - }; - - getSize(): number - { - return (this.ImageData['Data'].length + 2) + 23; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.ImageID['ID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.ImageID['Codec'], pos++); - buf.writeUInt32LE(this.ImageID['Size'], pos); - pos += 4; - buf.writeUInt16LE(this.ImageID['Packets'], pos); - pos += 2; - buf.write(this.ImageData['Data'], pos); - pos += this.ImageData['Data'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjImageID: { - ID: UUID, - Codec: number, - Size: number, - Packets: number - } = { - ID: UUID.zero(), - Codec: 0, - Size: 0, - Packets: 0 - }; - newObjImageID['ID'] = new UUID(buf, pos); - pos += 16; - newObjImageID['Codec'] = buf.readUInt8(pos++); - newObjImageID['Size'] = buf.readUInt32LE(pos); - pos += 4; - newObjImageID['Packets'] = buf.readUInt16LE(pos); - pos += 2; - this.ImageID = newObjImageID; - const newObjImageData: { - Data: string - } = { - Data: '' - }; - newObjImageData['Data'] = buf.toString('utf8', pos, length); - pos += length; - this.ImageData = newObjImageData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ImageNotInDatabase.ts b/lib/classes/packets/ImageNotInDatabase.ts deleted file mode 100644 index 26a4f06..0000000 --- a/lib/classes/packets/ImageNotInDatabase.ts +++ /dev/null @@ -1,44 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ImageNotInDatabasePacket implements Packet -{ - name = 'ImageNotInDatabase'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901846; - - ImageID: { - ID: UUID; - }; - - getSize(): number - { - return 16; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.ImageID['ID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjImageID: { - ID: UUID - } = { - ID: UUID.zero() - }; - newObjImageID['ID'] = new UUID(buf, pos); - pos += 16; - this.ImageID = newObjImageID; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ImagePacket.ts b/lib/classes/packets/ImagePacket.ts deleted file mode 100644 index 02bc5bb..0000000 --- a/lib/classes/packets/ImagePacket.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ImagePacketPacket implements Packet -{ - name = 'ImagePacket'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyHigh; - id = 10; - - ImageID: { - ID: UUID; - Packet: number; - }; - ImageData: { - Data: string; - }; - - getSize(): number - { - return (this.ImageData['Data'].length + 2) + 18; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.ImageID['ID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt16LE(this.ImageID['Packet'], pos); - pos += 2; - buf.write(this.ImageData['Data'], pos); - pos += this.ImageData['Data'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjImageID: { - ID: UUID, - Packet: number - } = { - ID: UUID.zero(), - Packet: 0 - }; - newObjImageID['ID'] = new UUID(buf, pos); - pos += 16; - newObjImageID['Packet'] = buf.readUInt16LE(pos); - pos += 2; - this.ImageID = newObjImageID; - const newObjImageData: { - Data: string - } = { - Data: '' - }; - newObjImageData['Data'] = buf.toString('utf8', pos, length); - pos += length; - this.ImageData = newObjImageData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ImprovedInstantMessage.ts b/lib/classes/packets/ImprovedInstantMessage.ts deleted file mode 100644 index ddce0c4..0000000 --- a/lib/classes/packets/ImprovedInstantMessage.ts +++ /dev/null @@ -1,149 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ImprovedInstantMessagePacket implements Packet -{ - name = 'ImprovedInstantMessage'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902014; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - MessageBlock: { - FromGroup: boolean; - ToAgentID: UUID; - ParentEstateID: number; - RegionID: UUID; - Position: Vector3; - Offline: number; - Dialog: number; - ID: UUID; - Timestamp: number; - FromAgentName: string; - Message: string; - BinaryBucket: string; - }; - EstateBlock: { - EstateID: number; - }; - - getSize(): number - { - return (this.MessageBlock['FromAgentName'].length + 1 + this.MessageBlock['Message'].length + 2 + this.MessageBlock['BinaryBucket'].length + 2) + 107; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.MessageBlock['FromGroup']) ? 1 : 0, pos++); - this.MessageBlock['ToAgentID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.MessageBlock['ParentEstateID'], pos); - pos += 4; - this.MessageBlock['RegionID'].writeToBuffer(buf, pos); - pos += 16; - this.MessageBlock['Position'].writeToBuffer(buf, pos, false); - pos += 12; - buf.writeUInt8(this.MessageBlock['Offline'], pos++); - buf.writeUInt8(this.MessageBlock['Dialog'], pos++); - this.MessageBlock['ID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.MessageBlock['Timestamp'], pos); - pos += 4; - buf.write(this.MessageBlock['FromAgentName'], pos); - pos += this.MessageBlock['FromAgentName'].length; - buf.write(this.MessageBlock['Message'], pos); - pos += this.MessageBlock['Message'].length; - buf.write(this.MessageBlock['BinaryBucket'], pos); - pos += this.MessageBlock['BinaryBucket'].length; - buf.writeUInt32LE(this.EstateBlock['EstateID'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjMessageBlock: { - FromGroup: boolean, - ToAgentID: UUID, - ParentEstateID: number, - RegionID: UUID, - Position: Vector3, - Offline: number, - Dialog: number, - ID: UUID, - Timestamp: number, - FromAgentName: string, - Message: string, - BinaryBucket: string - } = { - FromGroup: false, - ToAgentID: UUID.zero(), - ParentEstateID: 0, - RegionID: UUID.zero(), - Position: Vector3.getZero(), - Offline: 0, - Dialog: 0, - ID: UUID.zero(), - Timestamp: 0, - FromAgentName: '', - Message: '', - BinaryBucket: '' - }; - newObjMessageBlock['FromGroup'] = (buf.readUInt8(pos++) === 1); - newObjMessageBlock['ToAgentID'] = new UUID(buf, pos); - pos += 16; - newObjMessageBlock['ParentEstateID'] = buf.readUInt32LE(pos); - pos += 4; - newObjMessageBlock['RegionID'] = new UUID(buf, pos); - pos += 16; - newObjMessageBlock['Position'] = new Vector3(buf, pos, false); - pos += 12; - newObjMessageBlock['Offline'] = buf.readUInt8(pos++); - newObjMessageBlock['Dialog'] = buf.readUInt8(pos++); - newObjMessageBlock['ID'] = new UUID(buf, pos); - pos += 16; - newObjMessageBlock['Timestamp'] = buf.readUInt32LE(pos); - pos += 4; - newObjMessageBlock['FromAgentName'] = buf.toString('utf8', pos, length); - pos += length; - newObjMessageBlock['Message'] = buf.toString('utf8', pos, length); - pos += length; - newObjMessageBlock['BinaryBucket'] = buf.toString('utf8', pos, length); - pos += length; - this.MessageBlock = newObjMessageBlock; - const newObjEstateBlock: { - EstateID: number - } = { - EstateID: 0 - }; - newObjEstateBlock['EstateID'] = buf.readUInt32LE(pos); - pos += 4; - this.EstateBlock = newObjEstateBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ImprovedTerseObjectUpdate.ts b/lib/classes/packets/ImprovedTerseObjectUpdate.ts deleted file mode 100644 index 8cf3ec5..0000000 --- a/lib/classes/packets/ImprovedTerseObjectUpdate.ts +++ /dev/null @@ -1,93 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ImprovedTerseObjectUpdatePacket implements Packet -{ - name = 'ImprovedTerseObjectUpdate'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyHigh; - id = 15; - - RegionData: { - RegionHandle: Long; - TimeDilation: number; - }; - ObjectData: { - Data: string; - TextureEntry: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.ObjectData, 'Data', 1) + this.calculateVarVarSize(this.ObjectData, 'TextureEntry', 2)) * this.ObjectData.length) + 11; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeInt32LE(this.RegionData['RegionHandle'].low, pos); - pos += 4; - buf.writeInt32LE(this.RegionData['RegionHandle'].high, pos); - pos += 4; - buf.writeUInt16LE(this.RegionData['TimeDilation'], pos); - pos += 2; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.write(this.ObjectData[i]['Data'], pos); - pos += this.ObjectData[i]['Data'].length; - buf.write(this.ObjectData[i]['TextureEntry'], pos); - pos += this.ObjectData[i]['TextureEntry'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjRegionData: { - RegionHandle: Long, - TimeDilation: number - } = { - RegionHandle: Long.ZERO, - TimeDilation: 0 - }; - newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjRegionData['TimeDilation'] = buf.readUInt16LE(pos); - pos += 2; - this.RegionData = newObjRegionData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - Data: string, - TextureEntry: string - } = { - Data: '', - TextureEntry: '' - }; - newObjObjectData['Data'] = buf.toString('utf8', pos, length); - pos += length; - newObjObjectData['TextureEntry'] = buf.toString('utf8', pos, length); - pos += length; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/InitiateDownload.ts b/lib/classes/packets/InitiateDownload.ts deleted file mode 100644 index 88a1877..0000000 --- a/lib/classes/packets/InitiateDownload.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class InitiateDownloadPacket implements Packet -{ - name = 'InitiateDownload'; - flags = MessageFlags.FrequencyLow; - id = 4294902163; - - AgentData: { - AgentID: UUID; - }; - FileData: { - SimFilename: string; - ViewerFilename: string; - }; - - getSize(): number - { - return (this.FileData['SimFilename'].length + 1 + this.FileData['ViewerFilename'].length + 1) + 16; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.FileData['SimFilename'], pos); - pos += this.FileData['SimFilename'].length; - buf.write(this.FileData['ViewerFilename'], pos); - pos += this.FileData['ViewerFilename'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjFileData: { - SimFilename: string, - ViewerFilename: string - } = { - SimFilename: '', - ViewerFilename: '' - }; - newObjFileData['SimFilename'] = buf.toString('utf8', pos, length); - pos += length; - newObjFileData['ViewerFilename'] = buf.toString('utf8', pos, length); - pos += length; - this.FileData = newObjFileData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/InternalScriptMail.ts b/lib/classes/packets/InternalScriptMail.ts deleted file mode 100644 index 2d1b1ac..0000000 --- a/lib/classes/packets/InternalScriptMail.ts +++ /dev/null @@ -1,65 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class InternalScriptMailPacket implements Packet -{ - name = 'InternalScriptMail'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyMedium; - id = 65296; - - DataBlock: { - From: string; - To: UUID; - Subject: string; - Body: string; - }; - - getSize(): number - { - return (this.DataBlock['From'].length + 1 + this.DataBlock['Subject'].length + 1 + this.DataBlock['Body'].length + 2) + 16; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.write(this.DataBlock['From'], pos); - pos += this.DataBlock['From'].length; - this.DataBlock['To'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.DataBlock['Subject'], pos); - pos += this.DataBlock['Subject'].length; - buf.write(this.DataBlock['Body'], pos); - pos += this.DataBlock['Body'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjDataBlock: { - From: string, - To: UUID, - Subject: string, - Body: string - } = { - From: '', - To: UUID.zero(), - Subject: '', - Body: '' - }; - newObjDataBlock['From'] = buf.toString('utf8', pos, length); - pos += length; - newObjDataBlock['To'] = new UUID(buf, pos); - pos += 16; - newObjDataBlock['Subject'] = buf.toString('utf8', pos, length); - pos += length; - newObjDataBlock['Body'] = buf.toString('utf8', pos, length); - pos += length; - this.DataBlock = newObjDataBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/InventoryAssetResponse.ts b/lib/classes/packets/InventoryAssetResponse.ts deleted file mode 100644 index 8110c6a..0000000 --- a/lib/classes/packets/InventoryAssetResponse.ts +++ /dev/null @@ -1,56 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class InventoryAssetResponsePacket implements Packet -{ - name = 'InventoryAssetResponse'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902043; - - QueryData: { - QueryID: UUID; - AssetID: UUID; - IsReadable: boolean; - }; - - getSize(): number - { - return 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.QueryData['QueryID'].writeToBuffer(buf, pos); - pos += 16; - this.QueryData['AssetID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.QueryData['IsReadable']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjQueryData: { - QueryID: UUID, - AssetID: UUID, - IsReadable: boolean - } = { - QueryID: UUID.zero(), - AssetID: UUID.zero(), - IsReadable: false - }; - newObjQueryData['QueryID'] = new UUID(buf, pos); - pos += 16; - newObjQueryData['AssetID'] = new UUID(buf, pos); - pos += 16; - newObjQueryData['IsReadable'] = (buf.readUInt8(pos++) === 1); - this.QueryData = newObjQueryData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/InventoryDescendents.ts b/lib/classes/packets/InventoryDescendents.ts deleted file mode 100644 index 3787bdf..0000000 --- a/lib/classes/packets/InventoryDescendents.ts +++ /dev/null @@ -1,279 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class InventoryDescendentsPacket implements Packet -{ - name = 'InventoryDescendents'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902038; - - AgentData: { - AgentID: UUID; - FolderID: UUID; - OwnerID: UUID; - Version: number; - Descendents: number; - }; - FolderData: { - FolderID: UUID; - ParentID: UUID; - Type: number; - Name: string; - }[]; - ItemData: { - ItemID: UUID; - FolderID: UUID; - CreatorID: UUID; - OwnerID: UUID; - GroupID: UUID; - BaseMask: number; - OwnerMask: number; - GroupMask: number; - EveryoneMask: number; - NextOwnerMask: number; - GroupOwned: boolean; - AssetID: UUID; - Type: number; - InvType: number; - Flags: number; - SaleType: number; - SalePrice: number; - Name: string; - Description: string; - CreationDate: number; - CRC: number; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.FolderData, 'Name', 1) + 33) * this.FolderData.length) + ((this.calculateVarVarSize(this.ItemData, 'Name', 1) + this.calculateVarVarSize(this.ItemData, 'Description', 1) + 136) * this.ItemData.length) + 58; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['FolderID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.AgentData['Version'], pos); - pos += 4; - buf.writeInt32LE(this.AgentData['Descendents'], pos); - pos += 4; - let count = this.FolderData.length; - buf.writeUInt8(this.FolderData.length, pos++); - for (let i = 0; i < count; i++) - { - this.FolderData[i]['FolderID'].writeToBuffer(buf, pos); - pos += 16; - this.FolderData[i]['ParentID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt8(this.FolderData[i]['Type'], pos++); - buf.write(this.FolderData[i]['Name'], pos); - pos += this.FolderData[i]['Name'].length; - } - count = this.ItemData.length; - buf.writeUInt8(this.ItemData.length, pos++); - for (let i = 0; i < count; i++) - { - this.ItemData[i]['ItemID'].writeToBuffer(buf, pos); - pos += 16; - this.ItemData[i]['FolderID'].writeToBuffer(buf, pos); - pos += 16; - this.ItemData[i]['CreatorID'].writeToBuffer(buf, pos); - pos += 16; - this.ItemData[i]['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - this.ItemData[i]['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.ItemData[i]['BaseMask'], pos); - pos += 4; - buf.writeUInt32LE(this.ItemData[i]['OwnerMask'], pos); - pos += 4; - buf.writeUInt32LE(this.ItemData[i]['GroupMask'], pos); - pos += 4; - buf.writeUInt32LE(this.ItemData[i]['EveryoneMask'], pos); - pos += 4; - buf.writeUInt32LE(this.ItemData[i]['NextOwnerMask'], pos); - pos += 4; - buf.writeUInt8((this.ItemData[i]['GroupOwned']) ? 1 : 0, pos++); - this.ItemData[i]['AssetID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt8(this.ItemData[i]['Type'], pos++); - buf.writeInt8(this.ItemData[i]['InvType'], pos++); - buf.writeUInt32LE(this.ItemData[i]['Flags'], pos); - pos += 4; - buf.writeUInt8(this.ItemData[i]['SaleType'], pos++); - buf.writeInt32LE(this.ItemData[i]['SalePrice'], pos); - pos += 4; - buf.write(this.ItemData[i]['Name'], pos); - pos += this.ItemData[i]['Name'].length; - buf.write(this.ItemData[i]['Description'], pos); - pos += this.ItemData[i]['Description'].length; - buf.writeInt32LE(this.ItemData[i]['CreationDate'], pos); - pos += 4; - buf.writeUInt32LE(this.ItemData[i]['CRC'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - FolderID: UUID, - OwnerID: UUID, - Version: number, - Descendents: number - } = { - AgentID: UUID.zero(), - FolderID: UUID.zero(), - OwnerID: UUID.zero(), - Version: 0, - Descendents: 0 - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['FolderID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['Version'] = buf.readInt32LE(pos); - pos += 4; - newObjAgentData['Descendents'] = buf.readInt32LE(pos); - pos += 4; - this.AgentData = newObjAgentData; - let count = buf.readUInt8(pos++); - this.FolderData = []; - for (let i = 0; i < count; i++) - { - const newObjFolderData: { - FolderID: UUID, - ParentID: UUID, - Type: number, - Name: string - } = { - FolderID: UUID.zero(), - ParentID: UUID.zero(), - Type: 0, - Name: '' - }; - newObjFolderData['FolderID'] = new UUID(buf, pos); - pos += 16; - newObjFolderData['ParentID'] = new UUID(buf, pos); - pos += 16; - newObjFolderData['Type'] = buf.readInt8(pos++); - newObjFolderData['Name'] = buf.toString('utf8', pos, length); - pos += length; - this.FolderData.push(newObjFolderData); - } - count = buf.readUInt8(pos++); - this.ItemData = []; - for (let i = 0; i < count; i++) - { - const newObjItemData: { - ItemID: UUID, - FolderID: UUID, - CreatorID: UUID, - OwnerID: UUID, - GroupID: UUID, - BaseMask: number, - OwnerMask: number, - GroupMask: number, - EveryoneMask: number, - NextOwnerMask: number, - GroupOwned: boolean, - AssetID: UUID, - Type: number, - InvType: number, - Flags: number, - SaleType: number, - SalePrice: number, - Name: string, - Description: string, - CreationDate: number, - CRC: number - } = { - ItemID: UUID.zero(), - FolderID: UUID.zero(), - CreatorID: UUID.zero(), - OwnerID: UUID.zero(), - GroupID: UUID.zero(), - BaseMask: 0, - OwnerMask: 0, - GroupMask: 0, - EveryoneMask: 0, - NextOwnerMask: 0, - GroupOwned: false, - AssetID: UUID.zero(), - Type: 0, - InvType: 0, - Flags: 0, - SaleType: 0, - SalePrice: 0, - Name: '', - Description: '', - CreationDate: 0, - CRC: 0 - }; - newObjItemData['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjItemData['FolderID'] = new UUID(buf, pos); - pos += 16; - newObjItemData['CreatorID'] = new UUID(buf, pos); - pos += 16; - newObjItemData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjItemData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjItemData['BaseMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjItemData['OwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjItemData['GroupMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjItemData['EveryoneMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjItemData['NextOwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjItemData['GroupOwned'] = (buf.readUInt8(pos++) === 1); - newObjItemData['AssetID'] = new UUID(buf, pos); - pos += 16; - newObjItemData['Type'] = buf.readInt8(pos++); - newObjItemData['InvType'] = buf.readInt8(pos++); - newObjItemData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - newObjItemData['SaleType'] = buf.readUInt8(pos++); - newObjItemData['SalePrice'] = buf.readInt32LE(pos); - pos += 4; - newObjItemData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjItemData['Description'] = buf.toString('utf8', pos, length); - pos += length; - newObjItemData['CreationDate'] = buf.readInt32LE(pos); - pos += 4; - newObjItemData['CRC'] = buf.readUInt32LE(pos); - pos += 4; - this.ItemData.push(newObjItemData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/InviteGroupRequest.ts b/lib/classes/packets/InviteGroupRequest.ts deleted file mode 100644 index c7707a5..0000000 --- a/lib/classes/packets/InviteGroupRequest.ts +++ /dev/null @@ -1,94 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class InviteGroupRequestPacket implements Packet -{ - name = 'InviteGroupRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294902109; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - GroupData: { - GroupID: UUID; - }; - InviteData: { - InviteeID: UUID; - RoleID: UUID; - }[]; - - getSize(): number - { - return ((32) * this.InviteData.length) + 49; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.GroupData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.InviteData.length; - buf.writeUInt8(this.InviteData.length, pos++); - for (let i = 0; i < count; i++) - { - this.InviteData[i]['InviteeID'].writeToBuffer(buf, pos); - pos += 16; - this.InviteData[i]['RoleID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjGroupData: { - GroupID: UUID - } = { - GroupID: UUID.zero() - }; - newObjGroupData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.GroupData = newObjGroupData; - const count = buf.readUInt8(pos++); - this.InviteData = []; - for (let i = 0; i < count; i++) - { - const newObjInviteData: { - InviteeID: UUID, - RoleID: UUID - } = { - InviteeID: UUID.zero(), - RoleID: UUID.zero() - }; - newObjInviteData['InviteeID'] = new UUID(buf, pos); - pos += 16; - newObjInviteData['RoleID'] = new UUID(buf, pos); - pos += 16; - this.InviteData.push(newObjInviteData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/InviteGroupResponse.ts b/lib/classes/packets/InviteGroupResponse.ts deleted file mode 100644 index 387c357..0000000 --- a/lib/classes/packets/InviteGroupResponse.ts +++ /dev/null @@ -1,85 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class InviteGroupResponsePacket implements Packet -{ - name = 'InviteGroupResponse'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902110; - - InviteData: { - AgentID: UUID; - InviteeID: UUID; - GroupID: UUID; - RoleID: UUID; - MembershipFee: number; - }; - GroupData: { - GroupLimit: number; - }; - - getSize(): number - { - return 72; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.InviteData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.InviteData['InviteeID'].writeToBuffer(buf, pos); - pos += 16; - this.InviteData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - this.InviteData['RoleID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.InviteData['MembershipFee'], pos); - pos += 4; - buf.writeInt32LE(this.GroupData['GroupLimit'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjInviteData: { - AgentID: UUID, - InviteeID: UUID, - GroupID: UUID, - RoleID: UUID, - MembershipFee: number - } = { - AgentID: UUID.zero(), - InviteeID: UUID.zero(), - GroupID: UUID.zero(), - RoleID: UUID.zero(), - MembershipFee: 0 - }; - newObjInviteData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjInviteData['InviteeID'] = new UUID(buf, pos); - pos += 16; - newObjInviteData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjInviteData['RoleID'] = new UUID(buf, pos); - pos += 16; - newObjInviteData['MembershipFee'] = buf.readInt32LE(pos); - pos += 4; - this.InviteData = newObjInviteData; - const newObjGroupData: { - GroupLimit: number - } = { - GroupLimit: 0 - }; - newObjGroupData['GroupLimit'] = buf.readInt32LE(pos); - pos += 4; - this.GroupData = newObjGroupData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/JoinGroupReply.ts b/lib/classes/packets/JoinGroupReply.ts deleted file mode 100644 index 78a3ae7..0000000 --- a/lib/classes/packets/JoinGroupReply.ts +++ /dev/null @@ -1,62 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class JoinGroupReplyPacket implements Packet -{ - name = 'JoinGroupReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902104; - - AgentData: { - AgentID: UUID; - }; - GroupData: { - GroupID: UUID; - Success: boolean; - }; - - getSize(): number - { - return 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.GroupData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.GroupData['Success']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjGroupData: { - GroupID: UUID, - Success: boolean - } = { - GroupID: UUID.zero(), - Success: false - }; - newObjGroupData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjGroupData['Success'] = (buf.readUInt8(pos++) === 1); - this.GroupData = newObjGroupData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/JoinGroupRequest.ts b/lib/classes/packets/JoinGroupRequest.ts deleted file mode 100644 index c8f2936..0000000 --- a/lib/classes/packets/JoinGroupRequest.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class JoinGroupRequestPacket implements Packet -{ - name = 'JoinGroupRequest'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902103; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - GroupData: { - GroupID: UUID; - }; - - getSize(): number - { - return 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.GroupData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjGroupData: { - GroupID: UUID - } = { - GroupID: UUID.zero() - }; - newObjGroupData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.GroupData = newObjGroupData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/JoinGroupRequestExtended.ts b/lib/classes/packets/JoinGroupRequestExtended.ts deleted file mode 100644 index 24445bd..0000000 --- a/lib/classes/packets/JoinGroupRequestExtended.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class JoinGroupRequestExtendedPacket implements Packet -{ - name = 'JoinGroupRequestExtended'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902188; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - GroupLimit: number; - }; - GroupData: { - GroupID: UUID; - }; - - getSize(): number - { - return 52; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.AgentData['GroupLimit'], pos); - pos += 4; - this.GroupData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - GroupLimit: number - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - GroupLimit: 0 - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupLimit'] = buf.readInt32LE(pos); - pos += 4; - this.AgentData = newObjAgentData; - const newObjGroupData: { - GroupID: UUID - } = { - GroupID: UUID.zero() - }; - newObjGroupData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.GroupData = newObjGroupData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/KickUser.ts b/lib/classes/packets/KickUser.ts deleted file mode 100644 index e31bdf2..0000000 --- a/lib/classes/packets/KickUser.ts +++ /dev/null @@ -1,79 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {IPAddress} from '../IPAddress'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class KickUserPacket implements Packet -{ - name = 'KickUser'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901923; - - TargetBlock: { - TargetIP: IPAddress; - TargetPort: number; - }; - UserInfo: { - AgentID: UUID; - SessionID: UUID; - Reason: string; - }; - - getSize(): number - { - return (this.UserInfo['Reason'].length + 2) + 38; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.TargetBlock['TargetIP'].writeToBuffer(buf, pos); - pos += 4; - buf.writeUInt16LE(this.TargetBlock['TargetPort'], pos); - pos += 2; - this.UserInfo['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.UserInfo['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.UserInfo['Reason'], pos); - pos += this.UserInfo['Reason'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjTargetBlock: { - TargetIP: IPAddress, - TargetPort: number - } = { - TargetIP: IPAddress.zero(), - TargetPort: 0 - }; - newObjTargetBlock['TargetIP'] = new IPAddress(buf, pos); - pos += 4; - newObjTargetBlock['TargetPort'] = buf.readUInt16LE(pos); - pos += 2; - this.TargetBlock = newObjTargetBlock; - const newObjUserInfo: { - AgentID: UUID, - SessionID: UUID, - Reason: string - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - Reason: '' - }; - newObjUserInfo['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjUserInfo['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjUserInfo['Reason'] = buf.toString('utf8', pos, length); - pos += length; - this.UserInfo = newObjUserInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/KickUserAck.ts b/lib/classes/packets/KickUserAck.ts deleted file mode 100644 index c231119..0000000 --- a/lib/classes/packets/KickUserAck.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class KickUserAckPacket implements Packet -{ - name = 'KickUserAck'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901924; - - UserInfo: { - SessionID: UUID; - Flags: number; - }; - - getSize(): number - { - return 20; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.UserInfo['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.UserInfo['Flags'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjUserInfo: { - SessionID: UUID, - Flags: number - } = { - SessionID: UUID.zero(), - Flags: 0 - }; - newObjUserInfo['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjUserInfo['Flags'] = buf.readUInt32LE(pos); - pos += 4; - this.UserInfo = newObjUserInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/KillChildAgents.ts b/lib/classes/packets/KillChildAgents.ts deleted file mode 100644 index 4b58fb6..0000000 --- a/lib/classes/packets/KillChildAgents.ts +++ /dev/null @@ -1,44 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class KillChildAgentsPacket implements Packet -{ - name = 'KillChildAgents'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902002; - - IDBlock: { - AgentID: UUID; - }; - - getSize(): number - { - return 16; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.IDBlock['AgentID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjIDBlock: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjIDBlock['AgentID'] = new UUID(buf, pos); - pos += 16; - this.IDBlock = newObjIDBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/KillObject.ts b/lib/classes/packets/KillObject.ts deleted file mode 100644 index ac244a1..0000000 --- a/lib/classes/packets/KillObject.ts +++ /dev/null @@ -1,53 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class KillObjectPacket implements Packet -{ - name = 'KillObject'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyHigh; - id = 16; - - ObjectData: { - ID: number; - }[]; - - getSize(): number - { - return ((4) * this.ObjectData.length) + 1; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ID'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ID: number - } = { - ID: 0 - }; - newObjObjectData['ID'] = buf.readUInt32LE(pos); - pos += 4; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/LandStatReply.ts b/lib/classes/packets/LandStatReply.ts deleted file mode 100644 index 5fe1496..0000000 --- a/lib/classes/packets/LandStatReply.ts +++ /dev/null @@ -1,140 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class LandStatReplyPacket implements Packet -{ - name = 'LandStatReply'; - flags = MessageFlags.Trusted | MessageFlags.Deprecated | MessageFlags.FrequencyLow; - id = 4294902182; - - RequestData: { - ReportType: number; - RequestFlags: number; - TotalObjectCount: number; - }; - ReportData: { - TaskLocalID: number; - TaskID: UUID; - LocationX: number; - LocationY: number; - LocationZ: number; - Score: number; - TaskName: string; - OwnerName: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.ReportData, 'TaskName', 1) + this.calculateVarVarSize(this.ReportData, 'OwnerName', 1) + 36) * this.ReportData.length) + 13; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeUInt32LE(this.RequestData['ReportType'], pos); - pos += 4; - buf.writeUInt32LE(this.RequestData['RequestFlags'], pos); - pos += 4; - buf.writeUInt32LE(this.RequestData['TotalObjectCount'], pos); - pos += 4; - const count = this.ReportData.length; - buf.writeUInt8(this.ReportData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ReportData[i]['TaskLocalID'], pos); - pos += 4; - this.ReportData[i]['TaskID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeFloatLE(this.ReportData[i]['LocationX'], pos); - pos += 4; - buf.writeFloatLE(this.ReportData[i]['LocationY'], pos); - pos += 4; - buf.writeFloatLE(this.ReportData[i]['LocationZ'], pos); - pos += 4; - buf.writeFloatLE(this.ReportData[i]['Score'], pos); - pos += 4; - buf.write(this.ReportData[i]['TaskName'], pos); - pos += this.ReportData[i]['TaskName'].length; - buf.write(this.ReportData[i]['OwnerName'], pos); - pos += this.ReportData[i]['OwnerName'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjRequestData: { - ReportType: number, - RequestFlags: number, - TotalObjectCount: number - } = { - ReportType: 0, - RequestFlags: 0, - TotalObjectCount: 0 - }; - newObjRequestData['ReportType'] = buf.readUInt32LE(pos); - pos += 4; - newObjRequestData['RequestFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjRequestData['TotalObjectCount'] = buf.readUInt32LE(pos); - pos += 4; - this.RequestData = newObjRequestData; - const count = buf.readUInt8(pos++); - this.ReportData = []; - for (let i = 0; i < count; i++) - { - const newObjReportData: { - TaskLocalID: number, - TaskID: UUID, - LocationX: number, - LocationY: number, - LocationZ: number, - Score: number, - TaskName: string, - OwnerName: string - } = { - TaskLocalID: 0, - TaskID: UUID.zero(), - LocationX: 0, - LocationY: 0, - LocationZ: 0, - Score: 0, - TaskName: '', - OwnerName: '' - }; - newObjReportData['TaskLocalID'] = buf.readUInt32LE(pos); - pos += 4; - newObjReportData['TaskID'] = new UUID(buf, pos); - pos += 16; - newObjReportData['LocationX'] = buf.readFloatLE(pos); - pos += 4; - newObjReportData['LocationY'] = buf.readFloatLE(pos); - pos += 4; - newObjReportData['LocationZ'] = buf.readFloatLE(pos); - pos += 4; - newObjReportData['Score'] = buf.readFloatLE(pos); - pos += 4; - newObjReportData['TaskName'] = buf.toString('utf8', pos, length); - pos += length; - newObjReportData['OwnerName'] = buf.toString('utf8', pos, length); - pos += length; - this.ReportData.push(newObjReportData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/LandStatRequest.ts b/lib/classes/packets/LandStatRequest.ts deleted file mode 100644 index 5beb50f..0000000 --- a/lib/classes/packets/LandStatRequest.ts +++ /dev/null @@ -1,85 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class LandStatRequestPacket implements Packet -{ - name = 'LandStatRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294902181; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - RequestData: { - ReportType: number; - RequestFlags: number; - Filter: string; - ParcelLocalID: number; - }; - - getSize(): number - { - return (this.RequestData['Filter'].length + 1) + 44; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.RequestData['ReportType'], pos); - pos += 4; - buf.writeUInt32LE(this.RequestData['RequestFlags'], pos); - pos += 4; - buf.write(this.RequestData['Filter'], pos); - pos += this.RequestData['Filter'].length; - buf.writeInt32LE(this.RequestData['ParcelLocalID'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjRequestData: { - ReportType: number, - RequestFlags: number, - Filter: string, - ParcelLocalID: number - } = { - ReportType: 0, - RequestFlags: 0, - Filter: '', - ParcelLocalID: 0 - }; - newObjRequestData['ReportType'] = buf.readUInt32LE(pos); - pos += 4; - newObjRequestData['RequestFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjRequestData['Filter'] = buf.toString('utf8', pos, length); - pos += length; - newObjRequestData['ParcelLocalID'] = buf.readInt32LE(pos); - pos += 4; - this.RequestData = newObjRequestData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/LayerData.ts b/lib/classes/packets/LayerData.ts deleted file mode 100644 index 00ff022..0000000 --- a/lib/classes/packets/LayerData.ts +++ /dev/null @@ -1,54 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class LayerDataPacket implements Packet -{ - name = 'LayerData'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyHigh; - id = 11; - - LayerID: { - Type: number; - }; - LayerData: { - Data: string; - }; - - getSize(): number - { - return (this.LayerData['Data'].length + 2) + 1; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeUInt8(this.LayerID['Type'], pos++); - buf.write(this.LayerData['Data'], pos); - pos += this.LayerData['Data'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjLayerID: { - Type: number - } = { - Type: 0 - }; - newObjLayerID['Type'] = buf.readUInt8(pos++); - this.LayerID = newObjLayerID; - const newObjLayerData: { - Data: string - } = { - Data: '' - }; - newObjLayerData['Data'] = buf.toString('utf8', pos, length); - pos += length; - this.LayerData = newObjLayerData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/LeaveGroupReply.ts b/lib/classes/packets/LeaveGroupReply.ts deleted file mode 100644 index 100f5ef..0000000 --- a/lib/classes/packets/LeaveGroupReply.ts +++ /dev/null @@ -1,62 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class LeaveGroupReplyPacket implements Packet -{ - name = 'LeaveGroupReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902108; - - AgentData: { - AgentID: UUID; - }; - GroupData: { - GroupID: UUID; - Success: boolean; - }; - - getSize(): number - { - return 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.GroupData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.GroupData['Success']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjGroupData: { - GroupID: UUID, - Success: boolean - } = { - GroupID: UUID.zero(), - Success: false - }; - newObjGroupData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjGroupData['Success'] = (buf.readUInt8(pos++) === 1); - this.GroupData = newObjGroupData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/LeaveGroupRequest.ts b/lib/classes/packets/LeaveGroupRequest.ts deleted file mode 100644 index d9ca64f..0000000 --- a/lib/classes/packets/LeaveGroupRequest.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class LeaveGroupRequestPacket implements Packet -{ - name = 'LeaveGroupRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294902107; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - GroupData: { - GroupID: UUID; - }; - - getSize(): number - { - return 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.GroupData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjGroupData: { - GroupID: UUID - } = { - GroupID: UUID.zero() - }; - newObjGroupData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.GroupData = newObjGroupData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/LinkInventoryItem.ts b/lib/classes/packets/LinkInventoryItem.ts deleted file mode 100644 index 841c606..0000000 --- a/lib/classes/packets/LinkInventoryItem.ts +++ /dev/null @@ -1,109 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class LinkInventoryItemPacket implements Packet -{ - name = 'LinkInventoryItem'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902186; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - InventoryBlock: { - CallbackID: number; - FolderID: UUID; - TransactionID: UUID; - OldItemID: UUID; - Type: number; - InvType: number; - Name: string; - Description: string; - }; - - getSize(): number - { - return (this.InventoryBlock['Name'].length + 1 + this.InventoryBlock['Description'].length + 1) + 86; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.InventoryBlock['CallbackID'], pos); - pos += 4; - this.InventoryBlock['FolderID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryBlock['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryBlock['OldItemID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt8(this.InventoryBlock['Type'], pos++); - buf.writeInt8(this.InventoryBlock['InvType'], pos++); - buf.write(this.InventoryBlock['Name'], pos); - pos += this.InventoryBlock['Name'].length; - buf.write(this.InventoryBlock['Description'], pos); - pos += this.InventoryBlock['Description'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjInventoryBlock: { - CallbackID: number, - FolderID: UUID, - TransactionID: UUID, - OldItemID: UUID, - Type: number, - InvType: number, - Name: string, - Description: string - } = { - CallbackID: 0, - FolderID: UUID.zero(), - TransactionID: UUID.zero(), - OldItemID: UUID.zero(), - Type: 0, - InvType: 0, - Name: '', - Description: '' - }; - newObjInventoryBlock['CallbackID'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryBlock['FolderID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryBlock['TransactionID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryBlock['OldItemID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryBlock['Type'] = buf.readInt8(pos++); - newObjInventoryBlock['InvType'] = buf.readInt8(pos++); - newObjInventoryBlock['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjInventoryBlock['Description'] = buf.toString('utf8', pos, length); - pos += length; - this.InventoryBlock = newObjInventoryBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/LiveHelpGroupReply.ts b/lib/classes/packets/LiveHelpGroupReply.ts deleted file mode 100644 index c221e26..0000000 --- a/lib/classes/packets/LiveHelpGroupReply.ts +++ /dev/null @@ -1,58 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class LiveHelpGroupReplyPacket implements Packet -{ - name = 'LiveHelpGroupReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902140; - - ReplyData: { - RequestID: UUID; - GroupID: UUID; - Selection: string; - }; - - getSize(): number - { - return (this.ReplyData['Selection'].length + 1) + 32; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.ReplyData['RequestID'].writeToBuffer(buf, pos); - pos += 16; - this.ReplyData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.ReplyData['Selection'], pos); - pos += this.ReplyData['Selection'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjReplyData: { - RequestID: UUID, - GroupID: UUID, - Selection: string - } = { - RequestID: UUID.zero(), - GroupID: UUID.zero(), - Selection: '' - }; - newObjReplyData['RequestID'] = new UUID(buf, pos); - pos += 16; - newObjReplyData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjReplyData['Selection'] = buf.toString('utf8', pos, length); - pos += length; - this.ReplyData = newObjReplyData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/LiveHelpGroupRequest.ts b/lib/classes/packets/LiveHelpGroupRequest.ts deleted file mode 100644 index 5b06d6d..0000000 --- a/lib/classes/packets/LiveHelpGroupRequest.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class LiveHelpGroupRequestPacket implements Packet -{ - name = 'LiveHelpGroupRequest'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902139; - - RequestData: { - RequestID: UUID; - AgentID: UUID; - }; - - getSize(): number - { - return 32; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.RequestData['RequestID'].writeToBuffer(buf, pos); - pos += 16; - this.RequestData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjRequestData: { - RequestID: UUID, - AgentID: UUID - } = { - RequestID: UUID.zero(), - AgentID: UUID.zero() - }; - newObjRequestData['RequestID'] = new UUID(buf, pos); - pos += 16; - newObjRequestData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.RequestData = newObjRequestData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/LoadURL.ts b/lib/classes/packets/LoadURL.ts deleted file mode 100644 index 0d474cc..0000000 --- a/lib/classes/packets/LoadURL.ts +++ /dev/null @@ -1,77 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class LoadURLPacket implements Packet -{ - name = 'LoadURL'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901954; - - Data: { - ObjectName: string; - ObjectID: UUID; - OwnerID: UUID; - OwnerIsGroup: boolean; - Message: string; - URL: string; - }; - - getSize(): number - { - return (this.Data['ObjectName'].length + 1 + this.Data['Message'].length + 1 + this.Data['URL'].length + 1) + 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.write(this.Data['ObjectName'], pos); - pos += this.Data['ObjectName'].length; - this.Data['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.Data['OwnerIsGroup']) ? 1 : 0, pos++); - buf.write(this.Data['Message'], pos); - pos += this.Data['Message'].length; - buf.write(this.Data['URL'], pos); - pos += this.Data['URL'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjData: { - ObjectName: string, - ObjectID: UUID, - OwnerID: UUID, - OwnerIsGroup: boolean, - Message: string, - URL: string - } = { - ObjectName: '', - ObjectID: UUID.zero(), - OwnerID: UUID.zero(), - OwnerIsGroup: false, - Message: '', - URL: '' - }; - newObjData['ObjectName'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['ObjectID'] = new UUID(buf, pos); - pos += 16; - newObjData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjData['OwnerIsGroup'] = (buf.readUInt8(pos++) === 1); - newObjData['Message'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['URL'] = buf.toString('utf8', pos, length); - pos += length; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/LogDwellTime.ts b/lib/classes/packets/LogDwellTime.ts deleted file mode 100644 index b08eed8..0000000 --- a/lib/classes/packets/LogDwellTime.ts +++ /dev/null @@ -1,89 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class LogDwellTimePacket implements Packet -{ - name = 'LogDwellTime'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901778; - - DwellInfo: { - AgentID: UUID; - SessionID: UUID; - Duration: number; - SimName: string; - RegionX: number; - RegionY: number; - AvgAgentsInView: number; - AvgViewerFPS: number; - }; - - getSize(): number - { - return (this.DwellInfo['SimName'].length + 1) + 46; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.DwellInfo['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.DwellInfo['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeFloatLE(this.DwellInfo['Duration'], pos); - pos += 4; - buf.write(this.DwellInfo['SimName'], pos); - pos += this.DwellInfo['SimName'].length; - buf.writeUInt32LE(this.DwellInfo['RegionX'], pos); - pos += 4; - buf.writeUInt32LE(this.DwellInfo['RegionY'], pos); - pos += 4; - buf.writeUInt8(this.DwellInfo['AvgAgentsInView'], pos++); - buf.writeUInt8(this.DwellInfo['AvgViewerFPS'], pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjDwellInfo: { - AgentID: UUID, - SessionID: UUID, - Duration: number, - SimName: string, - RegionX: number, - RegionY: number, - AvgAgentsInView: number, - AvgViewerFPS: number - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - Duration: 0, - SimName: '', - RegionX: 0, - RegionY: 0, - AvgAgentsInView: 0, - AvgViewerFPS: 0 - }; - newObjDwellInfo['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjDwellInfo['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjDwellInfo['Duration'] = buf.readFloatLE(pos); - pos += 4; - newObjDwellInfo['SimName'] = buf.toString('utf8', pos, length); - pos += length; - newObjDwellInfo['RegionX'] = buf.readUInt32LE(pos); - pos += 4; - newObjDwellInfo['RegionY'] = buf.readUInt32LE(pos); - pos += 4; - newObjDwellInfo['AvgAgentsInView'] = buf.readUInt8(pos++); - newObjDwellInfo['AvgViewerFPS'] = buf.readUInt8(pos++); - this.DwellInfo = newObjDwellInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/LogFailedMoneyTransaction.ts b/lib/classes/packets/LogFailedMoneyTransaction.ts deleted file mode 100644 index 623ada2..0000000 --- a/lib/classes/packets/LogFailedMoneyTransaction.ts +++ /dev/null @@ -1,111 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {IPAddress} from '../IPAddress'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class LogFailedMoneyTransactionPacket implements Packet -{ - name = 'LogFailedMoneyTransaction'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901780; - - TransactionData: { - TransactionID: UUID; - TransactionTime: number; - TransactionType: number; - SourceID: UUID; - DestID: UUID; - Flags: number; - Amount: number; - SimulatorIP: IPAddress; - GridX: number; - GridY: number; - FailureType: number; - }; - - getSize(): number - { - return 74; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.TransactionData['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.TransactionData['TransactionTime'], pos); - pos += 4; - buf.writeInt32LE(this.TransactionData['TransactionType'], pos); - pos += 4; - this.TransactionData['SourceID'].writeToBuffer(buf, pos); - pos += 16; - this.TransactionData['DestID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.TransactionData['Flags'], pos++); - buf.writeInt32LE(this.TransactionData['Amount'], pos); - pos += 4; - this.TransactionData['SimulatorIP'].writeToBuffer(buf, pos); - pos += 4; - buf.writeUInt32LE(this.TransactionData['GridX'], pos); - pos += 4; - buf.writeUInt32LE(this.TransactionData['GridY'], pos); - pos += 4; - buf.writeUInt8(this.TransactionData['FailureType'], pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjTransactionData: { - TransactionID: UUID, - TransactionTime: number, - TransactionType: number, - SourceID: UUID, - DestID: UUID, - Flags: number, - Amount: number, - SimulatorIP: IPAddress, - GridX: number, - GridY: number, - FailureType: number - } = { - TransactionID: UUID.zero(), - TransactionTime: 0, - TransactionType: 0, - SourceID: UUID.zero(), - DestID: UUID.zero(), - Flags: 0, - Amount: 0, - SimulatorIP: IPAddress.zero(), - GridX: 0, - GridY: 0, - FailureType: 0 - }; - newObjTransactionData['TransactionID'] = new UUID(buf, pos); - pos += 16; - newObjTransactionData['TransactionTime'] = buf.readUInt32LE(pos); - pos += 4; - newObjTransactionData['TransactionType'] = buf.readInt32LE(pos); - pos += 4; - newObjTransactionData['SourceID'] = new UUID(buf, pos); - pos += 16; - newObjTransactionData['DestID'] = new UUID(buf, pos); - pos += 16; - newObjTransactionData['Flags'] = buf.readUInt8(pos++); - newObjTransactionData['Amount'] = buf.readInt32LE(pos); - pos += 4; - newObjTransactionData['SimulatorIP'] = new IPAddress(buf, pos); - pos += 4; - newObjTransactionData['GridX'] = buf.readUInt32LE(pos); - pos += 4; - newObjTransactionData['GridY'] = buf.readUInt32LE(pos); - pos += 4; - newObjTransactionData['FailureType'] = buf.readUInt8(pos++); - this.TransactionData = newObjTransactionData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/LogParcelChanges.ts b/lib/classes/packets/LogParcelChanges.ts deleted file mode 100644 index 93f014d..0000000 --- a/lib/classes/packets/LogParcelChanges.ts +++ /dev/null @@ -1,114 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class LogParcelChangesPacket implements Packet -{ - name = 'LogParcelChanges'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901984; - - AgentData: { - AgentID: UUID; - }; - RegionData: { - RegionHandle: Long; - }; - ParcelData: { - ParcelID: UUID; - OwnerID: UUID; - IsOwnerGroup: boolean; - ActualArea: number; - Action: number; - TransactionID: UUID; - }[]; - - getSize(): number - { - return ((54) * this.ParcelData.length) + 25; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.RegionData['RegionHandle'].low, pos); - pos += 4; - buf.writeInt32LE(this.RegionData['RegionHandle'].high, pos); - pos += 4; - const count = this.ParcelData.length; - buf.writeUInt8(this.ParcelData.length, pos++); - for (let i = 0; i < count; i++) - { - this.ParcelData[i]['ParcelID'].writeToBuffer(buf, pos); - pos += 16; - this.ParcelData[i]['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.ParcelData[i]['IsOwnerGroup']) ? 1 : 0, pos++); - buf.writeInt32LE(this.ParcelData[i]['ActualArea'], pos); - pos += 4; - buf.writeInt8(this.ParcelData[i]['Action'], pos++); - this.ParcelData[i]['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjRegionData: { - RegionHandle: Long - } = { - RegionHandle: Long.ZERO - }; - newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - this.RegionData = newObjRegionData; - const count = buf.readUInt8(pos++); - this.ParcelData = []; - for (let i = 0; i < count; i++) - { - const newObjParcelData: { - ParcelID: UUID, - OwnerID: UUID, - IsOwnerGroup: boolean, - ActualArea: number, - Action: number, - TransactionID: UUID - } = { - ParcelID: UUID.zero(), - OwnerID: UUID.zero(), - IsOwnerGroup: false, - ActualArea: 0, - Action: 0, - TransactionID: UUID.zero() - }; - newObjParcelData['ParcelID'] = new UUID(buf, pos); - pos += 16; - newObjParcelData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjParcelData['IsOwnerGroup'] = (buf.readUInt8(pos++) === 1); - newObjParcelData['ActualArea'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['Action'] = buf.readInt8(pos++); - newObjParcelData['TransactionID'] = new UUID(buf, pos); - pos += 16; - this.ParcelData.push(newObjParcelData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/LogTextMessage.ts b/lib/classes/packets/LogTextMessage.ts deleted file mode 100644 index 9ba96d5..0000000 --- a/lib/classes/packets/LogTextMessage.ts +++ /dev/null @@ -1,99 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class LogTextMessagePacket implements Packet -{ - name = 'LogTextMessage'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902151; - - DataBlock: { - FromAgentId: UUID; - ToAgentId: UUID; - GlobalX: number; - GlobalY: number; - Time: number; - Message: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.DataBlock, 'Message', 2) + 52) * this.DataBlock.length) + 1; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.DataBlock.length; - buf.writeUInt8(this.DataBlock.length, pos++); - for (let i = 0; i < count; i++) - { - this.DataBlock[i]['FromAgentId'].writeToBuffer(buf, pos); - pos += 16; - this.DataBlock[i]['ToAgentId'].writeToBuffer(buf, pos); - pos += 16; - buf.writeDoubleLE(this.DataBlock[i]['GlobalX'], pos); - pos += 8; - buf.writeDoubleLE(this.DataBlock[i]['GlobalY'], pos); - pos += 8; - buf.writeUInt32LE(this.DataBlock[i]['Time'], pos); - pos += 4; - buf.write(this.DataBlock[i]['Message'], pos); - pos += this.DataBlock[i]['Message'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.DataBlock = []; - for (let i = 0; i < count; i++) - { - const newObjDataBlock: { - FromAgentId: UUID, - ToAgentId: UUID, - GlobalX: number, - GlobalY: number, - Time: number, - Message: string - } = { - FromAgentId: UUID.zero(), - ToAgentId: UUID.zero(), - GlobalX: 0, - GlobalY: 0, - Time: 0, - Message: '' - }; - newObjDataBlock['FromAgentId'] = new UUID(buf, pos); - pos += 16; - newObjDataBlock['ToAgentId'] = new UUID(buf, pos); - pos += 16; - newObjDataBlock['GlobalX'] = buf.readDoubleLE(pos); - pos += 8; - newObjDataBlock['GlobalY'] = buf.readDoubleLE(pos); - pos += 8; - newObjDataBlock['Time'] = buf.readUInt32LE(pos); - pos += 4; - newObjDataBlock['Message'] = buf.toString('utf8', pos, length); - pos += length; - this.DataBlock.push(newObjDataBlock); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/LogoutReply.ts b/lib/classes/packets/LogoutReply.ts deleted file mode 100644 index 39af827..0000000 --- a/lib/classes/packets/LogoutReply.ts +++ /dev/null @@ -1,74 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class LogoutReplyPacket implements Packet -{ - name = 'LogoutReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902013; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - InventoryData: { - ItemID: UUID; - }[]; - - getSize(): number - { - return ((16) * this.InventoryData.length) + 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.InventoryData.length; - buf.writeUInt8(this.InventoryData.length, pos++); - for (let i = 0; i < count; i++) - { - this.InventoryData[i]['ItemID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.InventoryData = []; - for (let i = 0; i < count; i++) - { - const newObjInventoryData: { - ItemID: UUID - } = { - ItemID: UUID.zero() - }; - newObjInventoryData['ItemID'] = new UUID(buf, pos); - pos += 16; - this.InventoryData.push(newObjInventoryData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/LogoutRequest.ts b/lib/classes/packets/LogoutRequest.ts deleted file mode 100644 index 08e8020..0000000 --- a/lib/classes/packets/LogoutRequest.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class LogoutRequestPacket implements Packet -{ - name = 'LogoutRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294902012; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - - getSize(): number - { - return 32; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/MapBlockReply.ts b/lib/classes/packets/MapBlockReply.ts deleted file mode 100644 index 87972be..0000000 --- a/lib/classes/packets/MapBlockReply.ts +++ /dev/null @@ -1,127 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class MapBlockReplyPacket implements Packet -{ - name = 'MapBlockReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902169; - - AgentData: { - AgentID: UUID; - Flags: number; - }; - Data: { - X: number; - Y: number; - Name: string; - Access: number; - RegionFlags: number; - WaterHeight: number; - Agents: number; - MapImageID: UUID; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.Data, 'Name', 1) + 27) * this.Data.length) + 21; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.AgentData['Flags'], pos); - pos += 4; - const count = this.Data.length; - buf.writeUInt8(this.Data.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt16LE(this.Data[i]['X'], pos); - pos += 2; - buf.writeUInt16LE(this.Data[i]['Y'], pos); - pos += 2; - buf.write(this.Data[i]['Name'], pos); - pos += this.Data[i]['Name'].length; - buf.writeUInt8(this.Data[i]['Access'], pos++); - buf.writeUInt32LE(this.Data[i]['RegionFlags'], pos); - pos += 4; - buf.writeUInt8(this.Data[i]['WaterHeight'], pos++); - buf.writeUInt8(this.Data[i]['Agents'], pos++); - this.Data[i]['MapImageID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - Flags: number - } = { - AgentID: UUID.zero(), - Flags: 0 - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.Data = []; - for (let i = 0; i < count; i++) - { - const newObjData: { - X: number, - Y: number, - Name: string, - Access: number, - RegionFlags: number, - WaterHeight: number, - Agents: number, - MapImageID: UUID - } = { - X: 0, - Y: 0, - Name: '', - Access: 0, - RegionFlags: 0, - WaterHeight: 0, - Agents: 0, - MapImageID: UUID.zero() - }; - newObjData['X'] = buf.readUInt16LE(pos); - pos += 2; - newObjData['Y'] = buf.readUInt16LE(pos); - pos += 2; - newObjData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['Access'] = buf.readUInt8(pos++); - newObjData['RegionFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjData['WaterHeight'] = buf.readUInt8(pos++); - newObjData['Agents'] = buf.readUInt8(pos++); - newObjData['MapImageID'] = new UUID(buf, pos); - pos += 16; - this.Data.push(newObjData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/MapBlockRequest.ts b/lib/classes/packets/MapBlockRequest.ts deleted file mode 100644 index 2d01702..0000000 --- a/lib/classes/packets/MapBlockRequest.ts +++ /dev/null @@ -1,104 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class MapBlockRequestPacket implements Packet -{ - name = 'MapBlockRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294902167; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - Flags: number; - EstateID: number; - Godlike: boolean; - }; - PositionData: { - MinX: number; - MaxX: number; - MinY: number; - MaxY: number; - }; - - getSize(): number - { - return 49; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.AgentData['Flags'], pos); - pos += 4; - buf.writeUInt32LE(this.AgentData['EstateID'], pos); - pos += 4; - buf.writeUInt8((this.AgentData['Godlike']) ? 1 : 0, pos++); - buf.writeUInt16LE(this.PositionData['MinX'], pos); - pos += 2; - buf.writeUInt16LE(this.PositionData['MaxX'], pos); - pos += 2; - buf.writeUInt16LE(this.PositionData['MinY'], pos); - pos += 2; - buf.writeUInt16LE(this.PositionData['MaxY'], pos); - pos += 2; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - Flags: number, - EstateID: number, - Godlike: boolean - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - Flags: 0, - EstateID: 0, - Godlike: false - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - newObjAgentData['EstateID'] = buf.readUInt32LE(pos); - pos += 4; - newObjAgentData['Godlike'] = (buf.readUInt8(pos++) === 1); - this.AgentData = newObjAgentData; - const newObjPositionData: { - MinX: number, - MaxX: number, - MinY: number, - MaxY: number - } = { - MinX: 0, - MaxX: 0, - MinY: 0, - MaxY: 0 - }; - newObjPositionData['MinX'] = buf.readUInt16LE(pos); - pos += 2; - newObjPositionData['MaxX'] = buf.readUInt16LE(pos); - pos += 2; - newObjPositionData['MinY'] = buf.readUInt16LE(pos); - pos += 2; - newObjPositionData['MaxY'] = buf.readUInt16LE(pos); - pos += 2; - this.PositionData = newObjPositionData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/MapItemReply.ts b/lib/classes/packets/MapItemReply.ts deleted file mode 100644 index cc1d464..0000000 --- a/lib/classes/packets/MapItemReply.ts +++ /dev/null @@ -1,132 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class MapItemReplyPacket implements Packet -{ - name = 'MapItemReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902171; - - AgentData: { - AgentID: UUID; - Flags: number; - }; - RequestData: { - ItemType: number; - }; - Data: { - X: number; - Y: number; - ID: UUID; - Extra: number; - Extra2: number; - Name: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.Data, 'Name', 1) + 32) * this.Data.length) + 25; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.AgentData['Flags'], pos); - pos += 4; - buf.writeUInt32LE(this.RequestData['ItemType'], pos); - pos += 4; - const count = this.Data.length; - buf.writeUInt8(this.Data.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.Data[i]['X'], pos); - pos += 4; - buf.writeUInt32LE(this.Data[i]['Y'], pos); - pos += 4; - this.Data[i]['ID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.Data[i]['Extra'], pos); - pos += 4; - buf.writeInt32LE(this.Data[i]['Extra2'], pos); - pos += 4; - buf.write(this.Data[i]['Name'], pos); - pos += this.Data[i]['Name'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - Flags: number - } = { - AgentID: UUID.zero(), - Flags: 0 - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - this.AgentData = newObjAgentData; - const newObjRequestData: { - ItemType: number - } = { - ItemType: 0 - }; - newObjRequestData['ItemType'] = buf.readUInt32LE(pos); - pos += 4; - this.RequestData = newObjRequestData; - const count = buf.readUInt8(pos++); - this.Data = []; - for (let i = 0; i < count; i++) - { - const newObjData: { - X: number, - Y: number, - ID: UUID, - Extra: number, - Extra2: number, - Name: string - } = { - X: 0, - Y: 0, - ID: UUID.zero(), - Extra: 0, - Extra2: 0, - Name: '' - }; - newObjData['X'] = buf.readUInt32LE(pos); - pos += 4; - newObjData['Y'] = buf.readUInt32LE(pos); - pos += 4; - newObjData['ID'] = new UUID(buf, pos); - pos += 16; - newObjData['Extra'] = buf.readInt32LE(pos); - pos += 4; - newObjData['Extra2'] = buf.readInt32LE(pos); - pos += 4; - newObjData['Name'] = buf.toString('utf8', pos, length); - pos += length; - this.Data.push(newObjData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/MapItemRequest.ts b/lib/classes/packets/MapItemRequest.ts deleted file mode 100644 index 3bb8535..0000000 --- a/lib/classes/packets/MapItemRequest.ts +++ /dev/null @@ -1,93 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class MapItemRequestPacket implements Packet -{ - name = 'MapItemRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294902170; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - Flags: number; - EstateID: number; - Godlike: boolean; - }; - RequestData: { - ItemType: number; - RegionHandle: Long; - }; - - getSize(): number - { - return 53; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.AgentData['Flags'], pos); - pos += 4; - buf.writeUInt32LE(this.AgentData['EstateID'], pos); - pos += 4; - buf.writeUInt8((this.AgentData['Godlike']) ? 1 : 0, pos++); - buf.writeUInt32LE(this.RequestData['ItemType'], pos); - pos += 4; - buf.writeInt32LE(this.RequestData['RegionHandle'].low, pos); - pos += 4; - buf.writeInt32LE(this.RequestData['RegionHandle'].high, pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - Flags: number, - EstateID: number, - Godlike: boolean - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - Flags: 0, - EstateID: 0, - Godlike: false - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - newObjAgentData['EstateID'] = buf.readUInt32LE(pos); - pos += 4; - newObjAgentData['Godlike'] = (buf.readUInt8(pos++) === 1); - this.AgentData = newObjAgentData; - const newObjRequestData: { - ItemType: number, - RegionHandle: Long - } = { - ItemType: 0, - RegionHandle: Long.ZERO - }; - newObjRequestData['ItemType'] = buf.readUInt32LE(pos); - pos += 4; - newObjRequestData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - this.RequestData = newObjRequestData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/MapLayerReply.ts b/lib/classes/packets/MapLayerReply.ts deleted file mode 100644 index fa4c4a8..0000000 --- a/lib/classes/packets/MapLayerReply.ts +++ /dev/null @@ -1,102 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class MapLayerReplyPacket implements Packet -{ - name = 'MapLayerReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902166; - - AgentData: { - AgentID: UUID; - Flags: number; - }; - LayerData: { - Left: number; - Right: number; - Top: number; - Bottom: number; - ImageID: UUID; - }[]; - - getSize(): number - { - return ((32) * this.LayerData.length) + 21; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.AgentData['Flags'], pos); - pos += 4; - const count = this.LayerData.length; - buf.writeUInt8(this.LayerData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.LayerData[i]['Left'], pos); - pos += 4; - buf.writeUInt32LE(this.LayerData[i]['Right'], pos); - pos += 4; - buf.writeUInt32LE(this.LayerData[i]['Top'], pos); - pos += 4; - buf.writeUInt32LE(this.LayerData[i]['Bottom'], pos); - pos += 4; - this.LayerData[i]['ImageID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - Flags: number - } = { - AgentID: UUID.zero(), - Flags: 0 - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.LayerData = []; - for (let i = 0; i < count; i++) - { - const newObjLayerData: { - Left: number, - Right: number, - Top: number, - Bottom: number, - ImageID: UUID - } = { - Left: 0, - Right: 0, - Top: 0, - Bottom: 0, - ImageID: UUID.zero() - }; - newObjLayerData['Left'] = buf.readUInt32LE(pos); - pos += 4; - newObjLayerData['Right'] = buf.readUInt32LE(pos); - pos += 4; - newObjLayerData['Top'] = buf.readUInt32LE(pos); - pos += 4; - newObjLayerData['Bottom'] = buf.readUInt32LE(pos); - pos += 4; - newObjLayerData['ImageID'] = new UUID(buf, pos); - pos += 16; - this.LayerData.push(newObjLayerData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/MapLayerRequest.ts b/lib/classes/packets/MapLayerRequest.ts deleted file mode 100644 index 55c6cc3..0000000 --- a/lib/classes/packets/MapLayerRequest.ts +++ /dev/null @@ -1,70 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class MapLayerRequestPacket implements Packet -{ - name = 'MapLayerRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294902165; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - Flags: number; - EstateID: number; - Godlike: boolean; - }; - - getSize(): number - { - return 41; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.AgentData['Flags'], pos); - pos += 4; - buf.writeUInt32LE(this.AgentData['EstateID'], pos); - pos += 4; - buf.writeUInt8((this.AgentData['Godlike']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - Flags: number, - EstateID: number, - Godlike: boolean - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - Flags: 0, - EstateID: 0, - Godlike: false - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - newObjAgentData['EstateID'] = buf.readUInt32LE(pos); - pos += 4; - newObjAgentData['Godlike'] = (buf.readUInt8(pos++) === 1); - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/MapNameRequest.ts b/lib/classes/packets/MapNameRequest.ts deleted file mode 100644 index ab03c4e..0000000 --- a/lib/classes/packets/MapNameRequest.ts +++ /dev/null @@ -1,83 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class MapNameRequestPacket implements Packet -{ - name = 'MapNameRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294902168; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - Flags: number; - EstateID: number; - Godlike: boolean; - }; - NameData: { - Name: string; - }; - - getSize(): number - { - return (this.NameData['Name'].length + 1) + 41; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.AgentData['Flags'], pos); - pos += 4; - buf.writeUInt32LE(this.AgentData['EstateID'], pos); - pos += 4; - buf.writeUInt8((this.AgentData['Godlike']) ? 1 : 0, pos++); - buf.write(this.NameData['Name'], pos); - pos += this.NameData['Name'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - Flags: number, - EstateID: number, - Godlike: boolean - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - Flags: 0, - EstateID: 0, - Godlike: false - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - newObjAgentData['EstateID'] = buf.readUInt32LE(pos); - pos += 4; - newObjAgentData['Godlike'] = (buf.readUInt8(pos++) === 1); - this.AgentData = newObjAgentData; - const newObjNameData: { - Name: string - } = { - Name: '' - }; - newObjNameData['Name'] = buf.toString('utf8', pos, length); - pos += length; - this.NameData = newObjNameData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/MeanCollisionAlert.ts b/lib/classes/packets/MeanCollisionAlert.ts deleted file mode 100644 index 2432d90..0000000 --- a/lib/classes/packets/MeanCollisionAlert.ts +++ /dev/null @@ -1,80 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class MeanCollisionAlertPacket implements Packet -{ - name = 'MeanCollisionAlert'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901896; - - MeanCollision: { - Victim: UUID; - Perp: UUID; - Time: number; - Mag: number; - Type: number; - }[]; - - getSize(): number - { - return ((41) * this.MeanCollision.length) + 1; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.MeanCollision.length; - buf.writeUInt8(this.MeanCollision.length, pos++); - for (let i = 0; i < count; i++) - { - this.MeanCollision[i]['Victim'].writeToBuffer(buf, pos); - pos += 16; - this.MeanCollision[i]['Perp'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.MeanCollision[i]['Time'], pos); - pos += 4; - buf.writeFloatLE(this.MeanCollision[i]['Mag'], pos); - pos += 4; - buf.writeUInt8(this.MeanCollision[i]['Type'], pos++); - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.MeanCollision = []; - for (let i = 0; i < count; i++) - { - const newObjMeanCollision: { - Victim: UUID, - Perp: UUID, - Time: number, - Mag: number, - Type: number - } = { - Victim: UUID.zero(), - Perp: UUID.zero(), - Time: 0, - Mag: 0, - Type: 0 - }; - newObjMeanCollision['Victim'] = new UUID(buf, pos); - pos += 16; - newObjMeanCollision['Perp'] = new UUID(buf, pos); - pos += 16; - newObjMeanCollision['Time'] = buf.readUInt32LE(pos); - pos += 4; - newObjMeanCollision['Mag'] = buf.readFloatLE(pos); - pos += 4; - newObjMeanCollision['Type'] = buf.readUInt8(pos++); - this.MeanCollision.push(newObjMeanCollision); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/MergeParcel.ts b/lib/classes/packets/MergeParcel.ts deleted file mode 100644 index 1e525eb..0000000 --- a/lib/classes/packets/MergeParcel.ts +++ /dev/null @@ -1,67 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class MergeParcelPacket implements Packet -{ - name = 'MergeParcel'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901983; - - MasterParcelData: { - MasterID: UUID; - }; - SlaveParcelData: { - SlaveID: UUID; - }[]; - - getSize(): number - { - return ((16) * this.SlaveParcelData.length) + 17; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.MasterParcelData['MasterID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.SlaveParcelData.length; - buf.writeUInt8(this.SlaveParcelData.length, pos++); - for (let i = 0; i < count; i++) - { - this.SlaveParcelData[i]['SlaveID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjMasterParcelData: { - MasterID: UUID - } = { - MasterID: UUID.zero() - }; - newObjMasterParcelData['MasterID'] = new UUID(buf, pos); - pos += 16; - this.MasterParcelData = newObjMasterParcelData; - const count = buf.readUInt8(pos++); - this.SlaveParcelData = []; - for (let i = 0; i < count; i++) - { - const newObjSlaveParcelData: { - SlaveID: UUID - } = { - SlaveID: UUID.zero() - }; - newObjSlaveParcelData['SlaveID'] = new UUID(buf, pos); - pos += 16; - this.SlaveParcelData.push(newObjSlaveParcelData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ModifyLand.ts b/lib/classes/packets/ModifyLand.ts deleted file mode 100644 index 855661e..0000000 --- a/lib/classes/packets/ModifyLand.ts +++ /dev/null @@ -1,155 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ModifyLandPacket implements Packet -{ - name = 'ModifyLand'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901884; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ModifyBlock: { - Action: number; - BrushSize: number; - Seconds: number; - Height: number; - }; - ParcelData: { - LocalID: number; - West: number; - South: number; - East: number; - North: number; - }[]; - ModifyBlockExtended: { - BrushSize: number; - }[]; - - getSize(): number - { - return ((20) * this.ParcelData.length) + ((4) * this.ModifyBlockExtended.length) + 44; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.ModifyBlock['Action'], pos++); - buf.writeUInt8(this.ModifyBlock['BrushSize'], pos++); - buf.writeFloatLE(this.ModifyBlock['Seconds'], pos); - pos += 4; - buf.writeFloatLE(this.ModifyBlock['Height'], pos); - pos += 4; - let count = this.ParcelData.length; - buf.writeUInt8(this.ParcelData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeInt32LE(this.ParcelData[i]['LocalID'], pos); - pos += 4; - buf.writeFloatLE(this.ParcelData[i]['West'], pos); - pos += 4; - buf.writeFloatLE(this.ParcelData[i]['South'], pos); - pos += 4; - buf.writeFloatLE(this.ParcelData[i]['East'], pos); - pos += 4; - buf.writeFloatLE(this.ParcelData[i]['North'], pos); - pos += 4; - } - count = this.ModifyBlockExtended.length; - buf.writeUInt8(this.ModifyBlockExtended.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeFloatLE(this.ModifyBlockExtended[i]['BrushSize'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjModifyBlock: { - Action: number, - BrushSize: number, - Seconds: number, - Height: number - } = { - Action: 0, - BrushSize: 0, - Seconds: 0, - Height: 0 - }; - newObjModifyBlock['Action'] = buf.readUInt8(pos++); - newObjModifyBlock['BrushSize'] = buf.readUInt8(pos++); - newObjModifyBlock['Seconds'] = buf.readFloatLE(pos); - pos += 4; - newObjModifyBlock['Height'] = buf.readFloatLE(pos); - pos += 4; - this.ModifyBlock = newObjModifyBlock; - let count = buf.readUInt8(pos++); - this.ParcelData = []; - for (let i = 0; i < count; i++) - { - const newObjParcelData: { - LocalID: number, - West: number, - South: number, - East: number, - North: number - } = { - LocalID: 0, - West: 0, - South: 0, - East: 0, - North: 0 - }; - newObjParcelData['LocalID'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['West'] = buf.readFloatLE(pos); - pos += 4; - newObjParcelData['South'] = buf.readFloatLE(pos); - pos += 4; - newObjParcelData['East'] = buf.readFloatLE(pos); - pos += 4; - newObjParcelData['North'] = buf.readFloatLE(pos); - pos += 4; - this.ParcelData.push(newObjParcelData); - } - count = buf.readUInt8(pos++); - this.ModifyBlockExtended = []; - for (let i = 0; i < count; i++) - { - const newObjModifyBlockExtended: { - BrushSize: number - } = { - BrushSize: 0 - }; - newObjModifyBlockExtended['BrushSize'] = buf.readFloatLE(pos); - pos += 4; - this.ModifyBlockExtended.push(newObjModifyBlockExtended); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/MoneyBalanceReply.ts b/lib/classes/packets/MoneyBalanceReply.ts deleted file mode 100644 index e5fb689..0000000 --- a/lib/classes/packets/MoneyBalanceReply.ts +++ /dev/null @@ -1,135 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class MoneyBalanceReplyPacket implements Packet -{ - name = 'MoneyBalanceReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902074; - - MoneyData: { - AgentID: UUID; - TransactionID: UUID; - TransactionSuccess: boolean; - MoneyBalance: number; - SquareMetersCredit: number; - SquareMetersCommitted: number; - Description: string; - }; - TransactionInfo: { - TransactionType: number; - SourceID: UUID; - IsSourceGroup: boolean; - DestID: UUID; - IsDestGroup: boolean; - Amount: number; - ItemDescription: string; - }; - - getSize(): number - { - return (this.MoneyData['Description'].length + 1) + (this.TransactionInfo['ItemDescription'].length + 1) + 87; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.MoneyData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.MoneyData['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.MoneyData['TransactionSuccess']) ? 1 : 0, pos++); - buf.writeInt32LE(this.MoneyData['MoneyBalance'], pos); - pos += 4; - buf.writeInt32LE(this.MoneyData['SquareMetersCredit'], pos); - pos += 4; - buf.writeInt32LE(this.MoneyData['SquareMetersCommitted'], pos); - pos += 4; - buf.write(this.MoneyData['Description'], pos); - pos += this.MoneyData['Description'].length; - buf.writeInt32LE(this.TransactionInfo['TransactionType'], pos); - pos += 4; - this.TransactionInfo['SourceID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.TransactionInfo['IsSourceGroup']) ? 1 : 0, pos++); - this.TransactionInfo['DestID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.TransactionInfo['IsDestGroup']) ? 1 : 0, pos++); - buf.writeInt32LE(this.TransactionInfo['Amount'], pos); - pos += 4; - buf.write(this.TransactionInfo['ItemDescription'], pos); - pos += this.TransactionInfo['ItemDescription'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjMoneyData: { - AgentID: UUID, - TransactionID: UUID, - TransactionSuccess: boolean, - MoneyBalance: number, - SquareMetersCredit: number, - SquareMetersCommitted: number, - Description: string - } = { - AgentID: UUID.zero(), - TransactionID: UUID.zero(), - TransactionSuccess: false, - MoneyBalance: 0, - SquareMetersCredit: 0, - SquareMetersCommitted: 0, - Description: '' - }; - newObjMoneyData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjMoneyData['TransactionID'] = new UUID(buf, pos); - pos += 16; - newObjMoneyData['TransactionSuccess'] = (buf.readUInt8(pos++) === 1); - newObjMoneyData['MoneyBalance'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['SquareMetersCredit'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['SquareMetersCommitted'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['Description'] = buf.toString('utf8', pos, length); - pos += length; - this.MoneyData = newObjMoneyData; - const newObjTransactionInfo: { - TransactionType: number, - SourceID: UUID, - IsSourceGroup: boolean, - DestID: UUID, - IsDestGroup: boolean, - Amount: number, - ItemDescription: string - } = { - TransactionType: 0, - SourceID: UUID.zero(), - IsSourceGroup: false, - DestID: UUID.zero(), - IsDestGroup: false, - Amount: 0, - ItemDescription: '' - }; - newObjTransactionInfo['TransactionType'] = buf.readInt32LE(pos); - pos += 4; - newObjTransactionInfo['SourceID'] = new UUID(buf, pos); - pos += 16; - newObjTransactionInfo['IsSourceGroup'] = (buf.readUInt8(pos++) === 1); - newObjTransactionInfo['DestID'] = new UUID(buf, pos); - pos += 16; - newObjTransactionInfo['IsDestGroup'] = (buf.readUInt8(pos++) === 1); - newObjTransactionInfo['Amount'] = buf.readInt32LE(pos); - pos += 4; - newObjTransactionInfo['ItemDescription'] = buf.toString('utf8', pos, length); - pos += length; - this.TransactionInfo = newObjTransactionInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/MoneyBalanceRequest.ts b/lib/classes/packets/MoneyBalanceRequest.ts deleted file mode 100644 index a5e1793..0000000 --- a/lib/classes/packets/MoneyBalanceRequest.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class MoneyBalanceRequestPacket implements Packet -{ - name = 'MoneyBalanceRequest'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902073; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - MoneyData: { - TransactionID: UUID; - }; - - getSize(): number - { - return 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.MoneyData['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjMoneyData: { - TransactionID: UUID - } = { - TransactionID: UUID.zero() - }; - newObjMoneyData['TransactionID'] = new UUID(buf, pos); - pos += 16; - this.MoneyData = newObjMoneyData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/MoneyTransferBackend.ts b/lib/classes/packets/MoneyTransferBackend.ts deleted file mode 100644 index 2f20c6e..0000000 --- a/lib/classes/packets/MoneyTransferBackend.ts +++ /dev/null @@ -1,122 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class MoneyTransferBackendPacket implements Packet -{ - name = 'MoneyTransferBackend'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902072; - - MoneyData: { - TransactionID: UUID; - TransactionTime: number; - SourceID: UUID; - DestID: UUID; - Flags: number; - Amount: number; - AggregatePermNextOwner: number; - AggregatePermInventory: number; - TransactionType: number; - RegionID: UUID; - GridX: number; - GridY: number; - Description: string; - }; - - getSize(): number - { - return (this.MoneyData['Description'].length + 1) + 87; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.MoneyData['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.MoneyData['TransactionTime'], pos); - pos += 4; - this.MoneyData['SourceID'].writeToBuffer(buf, pos); - pos += 16; - this.MoneyData['DestID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.MoneyData['Flags'], pos++); - buf.writeInt32LE(this.MoneyData['Amount'], pos); - pos += 4; - buf.writeUInt8(this.MoneyData['AggregatePermNextOwner'], pos++); - buf.writeUInt8(this.MoneyData['AggregatePermInventory'], pos++); - buf.writeInt32LE(this.MoneyData['TransactionType'], pos); - pos += 4; - this.MoneyData['RegionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.MoneyData['GridX'], pos); - pos += 4; - buf.writeUInt32LE(this.MoneyData['GridY'], pos); - pos += 4; - buf.write(this.MoneyData['Description'], pos); - pos += this.MoneyData['Description'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjMoneyData: { - TransactionID: UUID, - TransactionTime: number, - SourceID: UUID, - DestID: UUID, - Flags: number, - Amount: number, - AggregatePermNextOwner: number, - AggregatePermInventory: number, - TransactionType: number, - RegionID: UUID, - GridX: number, - GridY: number, - Description: string - } = { - TransactionID: UUID.zero(), - TransactionTime: 0, - SourceID: UUID.zero(), - DestID: UUID.zero(), - Flags: 0, - Amount: 0, - AggregatePermNextOwner: 0, - AggregatePermInventory: 0, - TransactionType: 0, - RegionID: UUID.zero(), - GridX: 0, - GridY: 0, - Description: '' - }; - newObjMoneyData['TransactionID'] = new UUID(buf, pos); - pos += 16; - newObjMoneyData['TransactionTime'] = buf.readUInt32LE(pos); - pos += 4; - newObjMoneyData['SourceID'] = new UUID(buf, pos); - pos += 16; - newObjMoneyData['DestID'] = new UUID(buf, pos); - pos += 16; - newObjMoneyData['Flags'] = buf.readUInt8(pos++); - newObjMoneyData['Amount'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['AggregatePermNextOwner'] = buf.readUInt8(pos++); - newObjMoneyData['AggregatePermInventory'] = buf.readUInt8(pos++); - newObjMoneyData['TransactionType'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['RegionID'] = new UUID(buf, pos); - pos += 16; - newObjMoneyData['GridX'] = buf.readUInt32LE(pos); - pos += 4; - newObjMoneyData['GridY'] = buf.readUInt32LE(pos); - pos += 4; - newObjMoneyData['Description'] = buf.toString('utf8', pos, length); - pos += length; - this.MoneyData = newObjMoneyData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/MoneyTransferRequest.ts b/lib/classes/packets/MoneyTransferRequest.ts deleted file mode 100644 index 5483a3f..0000000 --- a/lib/classes/packets/MoneyTransferRequest.ts +++ /dev/null @@ -1,107 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class MoneyTransferRequestPacket implements Packet -{ - name = 'MoneyTransferRequest'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902071; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - MoneyData: { - SourceID: UUID; - DestID: UUID; - Flags: number; - Amount: number; - AggregatePermNextOwner: number; - AggregatePermInventory: number; - TransactionType: number; - Description: string; - }; - - getSize(): number - { - return (this.MoneyData['Description'].length + 1) + 75; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.MoneyData['SourceID'].writeToBuffer(buf, pos); - pos += 16; - this.MoneyData['DestID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.MoneyData['Flags'], pos++); - buf.writeInt32LE(this.MoneyData['Amount'], pos); - pos += 4; - buf.writeUInt8(this.MoneyData['AggregatePermNextOwner'], pos++); - buf.writeUInt8(this.MoneyData['AggregatePermInventory'], pos++); - buf.writeInt32LE(this.MoneyData['TransactionType'], pos); - pos += 4; - buf.write(this.MoneyData['Description'], pos); - pos += this.MoneyData['Description'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjMoneyData: { - SourceID: UUID, - DestID: UUID, - Flags: number, - Amount: number, - AggregatePermNextOwner: number, - AggregatePermInventory: number, - TransactionType: number, - Description: string - } = { - SourceID: UUID.zero(), - DestID: UUID.zero(), - Flags: 0, - Amount: 0, - AggregatePermNextOwner: 0, - AggregatePermInventory: 0, - TransactionType: 0, - Description: '' - }; - newObjMoneyData['SourceID'] = new UUID(buf, pos); - pos += 16; - newObjMoneyData['DestID'] = new UUID(buf, pos); - pos += 16; - newObjMoneyData['Flags'] = buf.readUInt8(pos++); - newObjMoneyData['Amount'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['AggregatePermNextOwner'] = buf.readUInt8(pos++); - newObjMoneyData['AggregatePermInventory'] = buf.readUInt8(pos++); - newObjMoneyData['TransactionType'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['Description'] = buf.toString('utf8', pos, length); - pos += length; - this.MoneyData = newObjMoneyData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/MoveInventoryFolder.ts b/lib/classes/packets/MoveInventoryFolder.ts deleted file mode 100644 index 19bafa2..0000000 --- a/lib/classes/packets/MoveInventoryFolder.ts +++ /dev/null @@ -1,86 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class MoveInventoryFolderPacket implements Packet -{ - name = 'MoveInventoryFolder'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902035; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - Stamp: boolean; - }; - InventoryData: { - FolderID: UUID; - ParentID: UUID; - }[]; - - getSize(): number - { - return ((32) * this.InventoryData.length) + 34; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.AgentData['Stamp']) ? 1 : 0, pos++); - const count = this.InventoryData.length; - buf.writeUInt8(this.InventoryData.length, pos++); - for (let i = 0; i < count; i++) - { - this.InventoryData[i]['FolderID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData[i]['ParentID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - Stamp: boolean - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - Stamp: false - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['Stamp'] = (buf.readUInt8(pos++) === 1); - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.InventoryData = []; - for (let i = 0; i < count; i++) - { - const newObjInventoryData: { - FolderID: UUID, - ParentID: UUID - } = { - FolderID: UUID.zero(), - ParentID: UUID.zero() - }; - newObjInventoryData['FolderID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['ParentID'] = new UUID(buf, pos); - pos += 16; - this.InventoryData.push(newObjInventoryData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/MoveInventoryItem.ts b/lib/classes/packets/MoveInventoryItem.ts deleted file mode 100644 index 60968a1..0000000 --- a/lib/classes/packets/MoveInventoryItem.ts +++ /dev/null @@ -1,103 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class MoveInventoryItemPacket implements Packet -{ - name = 'MoveInventoryItem'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902028; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - Stamp: boolean; - }; - InventoryData: { - ItemID: UUID; - FolderID: UUID; - NewName: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.InventoryData, 'NewName', 1) + 32) * this.InventoryData.length) + 34; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.AgentData['Stamp']) ? 1 : 0, pos++); - const count = this.InventoryData.length; - buf.writeUInt8(this.InventoryData.length, pos++); - for (let i = 0; i < count; i++) - { - this.InventoryData[i]['ItemID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData[i]['FolderID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.InventoryData[i]['NewName'], pos); - pos += this.InventoryData[i]['NewName'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - Stamp: boolean - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - Stamp: false - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['Stamp'] = (buf.readUInt8(pos++) === 1); - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.InventoryData = []; - for (let i = 0; i < count; i++) - { - const newObjInventoryData: { - ItemID: UUID, - FolderID: UUID, - NewName: string - } = { - ItemID: UUID.zero(), - FolderID: UUID.zero(), - NewName: '' - }; - newObjInventoryData['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['FolderID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['NewName'] = buf.toString('utf8', pos, length); - pos += length; - this.InventoryData.push(newObjInventoryData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/MoveTaskInventory.ts b/lib/classes/packets/MoveTaskInventory.ts deleted file mode 100644 index 9b16493..0000000 --- a/lib/classes/packets/MoveTaskInventory.ts +++ /dev/null @@ -1,78 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class MoveTaskInventoryPacket implements Packet -{ - name = 'MoveTaskInventory'; - flags = MessageFlags.FrequencyLow; - id = 4294902048; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - FolderID: UUID; - }; - InventoryData: { - LocalID: number; - ItemID: UUID; - }; - - getSize(): number - { - return 68; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['FolderID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.InventoryData['LocalID'], pos); - pos += 4; - this.InventoryData['ItemID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - FolderID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - FolderID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['FolderID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjInventoryData: { - LocalID: number, - ItemID: UUID - } = { - LocalID: 0, - ItemID: UUID.zero() - }; - newObjInventoryData['LocalID'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['ItemID'] = new UUID(buf, pos); - pos += 16; - this.InventoryData = newObjInventoryData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/MultipleObjectUpdate.ts b/lib/classes/packets/MultipleObjectUpdate.ts deleted file mode 100644 index a37f7dd..0000000 --- a/lib/classes/packets/MultipleObjectUpdate.ts +++ /dev/null @@ -1,96 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class MultipleObjectUpdatePacket implements Packet -{ - name = 'MultipleObjectUpdate'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyMedium; - id = 65282; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - ObjectLocalID: number; - Type: number; - Data: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.ObjectData, 'Data', 1) + 5) * this.ObjectData.length) + 33; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); - pos += 4; - buf.writeUInt8(this.ObjectData[i]['Type'], pos++); - buf.write(this.ObjectData[i]['Data'], pos); - pos += this.ObjectData[i]['Data'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectLocalID: number, - Type: number, - Data: string - } = { - ObjectLocalID: 0, - Type: 0, - Data: '' - }; - newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['Type'] = buf.readUInt8(pos++); - newObjObjectData['Data'] = buf.toString('utf8', pos, length); - pos += length; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/MuteListRequest.ts b/lib/classes/packets/MuteListRequest.ts deleted file mode 100644 index a1a06f2..0000000 --- a/lib/classes/packets/MuteListRequest.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class MuteListRequestPacket implements Packet -{ - name = 'MuteListRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294902022; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - MuteData: { - MuteCRC: number; - }; - - getSize(): number - { - return 36; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.MuteData['MuteCRC'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjMuteData: { - MuteCRC: number - } = { - MuteCRC: 0 - }; - newObjMuteData['MuteCRC'] = buf.readUInt32LE(pos); - pos += 4; - this.MuteData = newObjMuteData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/MuteListUpdate.ts b/lib/classes/packets/MuteListUpdate.ts deleted file mode 100644 index 94cd955..0000000 --- a/lib/classes/packets/MuteListUpdate.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class MuteListUpdatePacket implements Packet -{ - name = 'MuteListUpdate'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902078; - - MuteData: { - AgentID: UUID; - Filename: string; - }; - - getSize(): number - { - return (this.MuteData['Filename'].length + 1) + 16; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.MuteData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.MuteData['Filename'], pos); - pos += this.MuteData['Filename'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjMuteData: { - AgentID: UUID, - Filename: string - } = { - AgentID: UUID.zero(), - Filename: '' - }; - newObjMuteData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjMuteData['Filename'] = buf.toString('utf8', pos, length); - pos += length; - this.MuteData = newObjMuteData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/NameValuePair.ts b/lib/classes/packets/NameValuePair.ts deleted file mode 100644 index 8111dbd..0000000 --- a/lib/classes/packets/NameValuePair.ts +++ /dev/null @@ -1,77 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class NameValuePairPacket implements Packet -{ - name = 'NameValuePair'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902089; - - TaskData: { - ID: UUID; - }; - NameValueData: { - NVPair: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.NameValueData, 'NVPair', 2)) * this.NameValueData.length) + 17; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.TaskData['ID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.NameValueData.length; - buf.writeUInt8(this.NameValueData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.write(this.NameValueData[i]['NVPair'], pos); - pos += this.NameValueData[i]['NVPair'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjTaskData: { - ID: UUID - } = { - ID: UUID.zero() - }; - newObjTaskData['ID'] = new UUID(buf, pos); - pos += 16; - this.TaskData = newObjTaskData; - const count = buf.readUInt8(pos++); - this.NameValueData = []; - for (let i = 0; i < count; i++) - { - const newObjNameValueData: { - NVPair: string - } = { - NVPair: '' - }; - newObjNameValueData['NVPair'] = buf.toString('utf8', pos, length); - pos += length; - this.NameValueData.push(newObjNameValueData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/NearestLandingRegionReply.ts b/lib/classes/packets/NearestLandingRegionReply.ts deleted file mode 100644 index 5ad3353..0000000 --- a/lib/classes/packets/NearestLandingRegionReply.ts +++ /dev/null @@ -1,46 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class NearestLandingRegionReplyPacket implements Packet -{ - name = 'NearestLandingRegionReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901905; - - LandingRegionData: { - RegionHandle: Long; - }; - - getSize(): number - { - return 8; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeInt32LE(this.LandingRegionData['RegionHandle'].low, pos); - pos += 4; - buf.writeInt32LE(this.LandingRegionData['RegionHandle'].high, pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjLandingRegionData: { - RegionHandle: Long - } = { - RegionHandle: Long.ZERO - }; - newObjLandingRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - this.LandingRegionData = newObjLandingRegionData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/NearestLandingRegionRequest.ts b/lib/classes/packets/NearestLandingRegionRequest.ts deleted file mode 100644 index 523e049..0000000 --- a/lib/classes/packets/NearestLandingRegionRequest.ts +++ /dev/null @@ -1,46 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class NearestLandingRegionRequestPacket implements Packet -{ - name = 'NearestLandingRegionRequest'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901904; - - RequestingRegionData: { - RegionHandle: Long; - }; - - getSize(): number - { - return 8; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeInt32LE(this.RequestingRegionData['RegionHandle'].low, pos); - pos += 4; - buf.writeInt32LE(this.RequestingRegionData['RegionHandle'].high, pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjRequestingRegionData: { - RegionHandle: Long - } = { - RegionHandle: Long.ZERO - }; - newObjRequestingRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - this.RequestingRegionData = newObjRequestingRegionData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/NearestLandingRegionUpdated.ts b/lib/classes/packets/NearestLandingRegionUpdated.ts deleted file mode 100644 index 8018c47..0000000 --- a/lib/classes/packets/NearestLandingRegionUpdated.ts +++ /dev/null @@ -1,46 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class NearestLandingRegionUpdatedPacket implements Packet -{ - name = 'NearestLandingRegionUpdated'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901906; - - RegionData: { - RegionHandle: Long; - }; - - getSize(): number - { - return 8; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeInt32LE(this.RegionData['RegionHandle'].low, pos); - pos += 4; - buf.writeInt32LE(this.RegionData['RegionHandle'].high, pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjRegionData: { - RegionHandle: Long - } = { - RegionHandle: Long.ZERO - }; - newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - this.RegionData = newObjRegionData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/NeighborList.ts b/lib/classes/packets/NeighborList.ts deleted file mode 100644 index fbe2c48..0000000 --- a/lib/classes/packets/NeighborList.ts +++ /dev/null @@ -1,103 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {IPAddress} from '../IPAddress'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class NeighborListPacket implements Packet -{ - name = 'NeighborList'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyHigh; - id = 3; - - NeighborBlock: { - IP: IPAddress; - Port: number; - PublicIP: IPAddress; - PublicPort: number; - RegionID: UUID; - Name: string; - SimAccess: number; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.NeighborBlock, 'Name', 1)) * 4) + 116; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = 4; - for (let i = 0; i < count; i++) - { - this.NeighborBlock[i]['IP'].writeToBuffer(buf, pos); - pos += 4; - buf.writeUInt16LE(this.NeighborBlock[i]['Port'], pos); - pos += 2; - this.NeighborBlock[i]['PublicIP'].writeToBuffer(buf, pos); - pos += 4; - buf.writeUInt16LE(this.NeighborBlock[i]['PublicPort'], pos); - pos += 2; - this.NeighborBlock[i]['RegionID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.NeighborBlock[i]['Name'], pos); - pos += this.NeighborBlock[i]['Name'].length; - buf.writeUInt8(this.NeighborBlock[i]['SimAccess'], pos++); - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = 4; - this.NeighborBlock = []; for (let i = 0; i < count; i++) - { - const newObjNeighborBlock: { - IP: IPAddress, - Port: number, - PublicIP: IPAddress, - PublicPort: number, - RegionID: UUID, - Name: string, - SimAccess: number - } = { - IP: IPAddress.zero(), - Port: 0, - PublicIP: IPAddress.zero(), - PublicPort: 0, - RegionID: UUID.zero(), - Name: '', - SimAccess: 0 - }; - newObjNeighborBlock['IP'] = new IPAddress(buf, pos); - pos += 4; - newObjNeighborBlock['Port'] = buf.readUInt16LE(pos); - pos += 2; - newObjNeighborBlock['PublicIP'] = new IPAddress(buf, pos); - pos += 4; - newObjNeighborBlock['PublicPort'] = buf.readUInt16LE(pos); - pos += 2; - newObjNeighborBlock['RegionID'] = new UUID(buf, pos); - pos += 16; - newObjNeighborBlock['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjNeighborBlock['SimAccess'] = buf.readUInt8(pos++); - this.NeighborBlock.push(newObjNeighborBlock); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/NetTest.ts b/lib/classes/packets/NetTest.ts deleted file mode 100644 index 9b68d53..0000000 --- a/lib/classes/packets/NetTest.ts +++ /dev/null @@ -1,43 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class NetTestPacket implements Packet -{ - name = 'NetTest'; - flags = MessageFlags.FrequencyLow; - id = 4294902086; - - NetBlock: { - Port: number; - }; - - getSize(): number - { - return 2; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeUInt16LE(this.NetBlock['Port'], pos); - pos += 2; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjNetBlock: { - Port: number - } = { - Port: 0 - }; - newObjNetBlock['Port'] = buf.readUInt16LE(pos); - pos += 2; - this.NetBlock = newObjNetBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectAdd.ts b/lib/classes/packets/ObjectAdd.ts deleted file mode 100644 index 9a37857..0000000 --- a/lib/classes/packets/ObjectAdd.ts +++ /dev/null @@ -1,233 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {Quaternion} from '../Quaternion'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectAddPacket implements Packet -{ - name = 'ObjectAdd'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyMedium; - id = 65281; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - GroupID: UUID; - }; - ObjectData: { - PCode: number; - Material: number; - AddFlags: 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; - BypassRaycast: number; - RayStart: Vector3; - RayEnd: Vector3; - RayTargetID: UUID; - RayEndIsIntersection: number; - Scale: Vector3; - Rotation: Quaternion; - State: number; - }; - - getSize(): number - { - return 144; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.ObjectData['PCode'], pos++); - buf.writeUInt8(this.ObjectData['Material'], pos++); - buf.writeUInt32LE(this.ObjectData['AddFlags'], pos); - pos += 4; - buf.writeUInt8(this.ObjectData['PathCurve'], pos++); - buf.writeUInt8(this.ObjectData['ProfileCurve'], pos++); - buf.writeUInt16LE(this.ObjectData['PathBegin'], pos); - pos += 2; - buf.writeUInt16LE(this.ObjectData['PathEnd'], pos); - pos += 2; - buf.writeUInt8(this.ObjectData['PathScaleX'], pos++); - buf.writeUInt8(this.ObjectData['PathScaleY'], pos++); - buf.writeUInt8(this.ObjectData['PathShearX'], pos++); - buf.writeUInt8(this.ObjectData['PathShearY'], pos++); - buf.writeInt8(this.ObjectData['PathTwist'], pos++); - buf.writeInt8(this.ObjectData['PathTwistBegin'], pos++); - buf.writeInt8(this.ObjectData['PathRadiusOffset'], pos++); - buf.writeInt8(this.ObjectData['PathTaperX'], pos++); - buf.writeInt8(this.ObjectData['PathTaperY'], pos++); - buf.writeUInt8(this.ObjectData['PathRevolutions'], pos++); - buf.writeInt8(this.ObjectData['PathSkew'], pos++); - buf.writeUInt16LE(this.ObjectData['ProfileBegin'], pos); - pos += 2; - buf.writeUInt16LE(this.ObjectData['ProfileEnd'], pos); - pos += 2; - buf.writeUInt16LE(this.ObjectData['ProfileHollow'], pos); - pos += 2; - buf.writeUInt8(this.ObjectData['BypassRaycast'], pos++); - this.ObjectData['RayStart'].writeToBuffer(buf, pos, false); - pos += 12; - this.ObjectData['RayEnd'].writeToBuffer(buf, pos, false); - pos += 12; - this.ObjectData['RayTargetID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.ObjectData['RayEndIsIntersection'], pos++); - this.ObjectData['Scale'].writeToBuffer(buf, pos, false); - pos += 12; - this.ObjectData['Rotation'].writeToBuffer(buf, pos); - pos += 12; - buf.writeUInt8(this.ObjectData['State'], pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - GroupID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - GroupID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjObjectData: { - PCode: number, - Material: number, - AddFlags: 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, - BypassRaycast: number, - RayStart: Vector3, - RayEnd: Vector3, - RayTargetID: UUID, - RayEndIsIntersection: number, - Scale: Vector3, - Rotation: Quaternion, - State: number - } = { - PCode: 0, - Material: 0, - AddFlags: 0, - PathCurve: 0, - ProfileCurve: 0, - PathBegin: 0, - PathEnd: 0, - PathScaleX: 0, - PathScaleY: 0, - PathShearX: 0, - PathShearY: 0, - PathTwist: 0, - PathTwistBegin: 0, - PathRadiusOffset: 0, - PathTaperX: 0, - PathTaperY: 0, - PathRevolutions: 0, - PathSkew: 0, - ProfileBegin: 0, - ProfileEnd: 0, - ProfileHollow: 0, - BypassRaycast: 0, - RayStart: Vector3.getZero(), - RayEnd: Vector3.getZero(), - RayTargetID: UUID.zero(), - RayEndIsIntersection: 0, - Scale: Vector3.getZero(), - Rotation: Quaternion.getIdentity(), - State: 0 - }; - newObjObjectData['PCode'] = buf.readUInt8(pos++); - newObjObjectData['Material'] = buf.readUInt8(pos++); - newObjObjectData['AddFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['PathCurve'] = buf.readUInt8(pos++); - newObjObjectData['ProfileCurve'] = buf.readUInt8(pos++); - newObjObjectData['PathBegin'] = buf.readUInt16LE(pos); - pos += 2; - newObjObjectData['PathEnd'] = buf.readUInt16LE(pos); - pos += 2; - newObjObjectData['PathScaleX'] = buf.readUInt8(pos++); - newObjObjectData['PathScaleY'] = buf.readUInt8(pos++); - newObjObjectData['PathShearX'] = buf.readUInt8(pos++); - newObjObjectData['PathShearY'] = buf.readUInt8(pos++); - newObjObjectData['PathTwist'] = buf.readInt8(pos++); - newObjObjectData['PathTwistBegin'] = buf.readInt8(pos++); - newObjObjectData['PathRadiusOffset'] = buf.readInt8(pos++); - newObjObjectData['PathTaperX'] = buf.readInt8(pos++); - newObjObjectData['PathTaperY'] = buf.readInt8(pos++); - newObjObjectData['PathRevolutions'] = buf.readUInt8(pos++); - newObjObjectData['PathSkew'] = buf.readInt8(pos++); - newObjObjectData['ProfileBegin'] = buf.readUInt16LE(pos); - pos += 2; - newObjObjectData['ProfileEnd'] = buf.readUInt16LE(pos); - pos += 2; - newObjObjectData['ProfileHollow'] = buf.readUInt16LE(pos); - pos += 2; - newObjObjectData['BypassRaycast'] = buf.readUInt8(pos++); - newObjObjectData['RayStart'] = new Vector3(buf, pos, false); - pos += 12; - newObjObjectData['RayEnd'] = new Vector3(buf, pos, false); - pos += 12; - newObjObjectData['RayTargetID'] = new UUID(buf, pos); - pos += 16; - newObjObjectData['RayEndIsIntersection'] = buf.readUInt8(pos++); - newObjObjectData['Scale'] = new Vector3(buf, pos, false); - pos += 12; - newObjObjectData['Rotation'] = new Quaternion(buf, pos); - pos += 12; - newObjObjectData['State'] = buf.readUInt8(pos++); - this.ObjectData = newObjObjectData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectAttach.ts b/lib/classes/packets/ObjectAttach.ts deleted file mode 100644 index ec7a3cc..0000000 --- a/lib/classes/packets/ObjectAttach.ts +++ /dev/null @@ -1,87 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Quaternion} from '../Quaternion'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectAttachPacket implements Packet -{ - name = 'ObjectAttach'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901872; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - AttachmentPoint: number; - }; - ObjectData: { - ObjectLocalID: number; - Rotation: Quaternion; - }[]; - - getSize(): number - { - return ((16) * this.ObjectData.length) + 34; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.AgentData['AttachmentPoint'], pos++); - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); - pos += 4; - this.ObjectData[i]['Rotation'].writeToBuffer(buf, pos); - pos += 12; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - AttachmentPoint: number - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - AttachmentPoint: 0 - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['AttachmentPoint'] = buf.readUInt8(pos++); - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectLocalID: number, - Rotation: Quaternion - } = { - ObjectLocalID: 0, - Rotation: Quaternion.getIdentity() - }; - newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['Rotation'] = new Quaternion(buf, pos); - pos += 12; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectBuy.ts b/lib/classes/packets/ObjectBuy.ts deleted file mode 100644 index 8f81fbd..0000000 --- a/lib/classes/packets/ObjectBuy.ts +++ /dev/null @@ -1,100 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectBuyPacket implements Packet -{ - name = 'ObjectBuy'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901862; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - GroupID: UUID; - CategoryID: UUID; - }; - ObjectData: { - ObjectLocalID: number; - SaleType: number; - SalePrice: number; - }[]; - - getSize(): number - { - return ((9) * this.ObjectData.length) + 65; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['CategoryID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); - pos += 4; - buf.writeUInt8(this.ObjectData[i]['SaleType'], pos++); - buf.writeInt32LE(this.ObjectData[i]['SalePrice'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - GroupID: UUID, - CategoryID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - GroupID: UUID.zero(), - CategoryID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['CategoryID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectLocalID: number, - SaleType: number, - SalePrice: number - } = { - ObjectLocalID: 0, - SaleType: 0, - SalePrice: 0 - }; - newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['SaleType'] = buf.readUInt8(pos++); - newObjObjectData['SalePrice'] = buf.readInt32LE(pos); - pos += 4; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectCategory.ts b/lib/classes/packets/ObjectCategory.ts deleted file mode 100644 index 7d1589e..0000000 --- a/lib/classes/packets/ObjectCategory.ts +++ /dev/null @@ -1,81 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectCategoryPacket implements Packet -{ - name = 'ObjectCategory'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901869; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - LocalID: number; - Category: number; - }[]; - - getSize(): number - { - return ((8) * this.ObjectData.length) + 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['LocalID'], pos); - pos += 4; - buf.writeUInt32LE(this.ObjectData[i]['Category'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - LocalID: number, - Category: number - } = { - LocalID: 0, - Category: 0 - }; - newObjObjectData['LocalID'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['Category'] = buf.readUInt32LE(pos); - pos += 4; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectClickAction.ts b/lib/classes/packets/ObjectClickAction.ts deleted file mode 100644 index f2aefff..0000000 --- a/lib/classes/packets/ObjectClickAction.ts +++ /dev/null @@ -1,79 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectClickActionPacket implements Packet -{ - name = 'ObjectClickAction'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901855; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - ObjectLocalID: number; - ClickAction: number; - }[]; - - getSize(): number - { - return ((5) * this.ObjectData.length) + 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); - pos += 4; - buf.writeUInt8(this.ObjectData[i]['ClickAction'], pos++); - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectLocalID: number, - ClickAction: number - } = { - ObjectLocalID: 0, - ClickAction: 0 - }; - newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['ClickAction'] = buf.readUInt8(pos++); - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectDeGrab.ts b/lib/classes/packets/ObjectDeGrab.ts deleted file mode 100644 index 145c15c..0000000 --- a/lib/classes/packets/ObjectDeGrab.ts +++ /dev/null @@ -1,123 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectDeGrabPacket implements Packet -{ - name = 'ObjectDeGrab'; - flags = MessageFlags.FrequencyLow; - id = 4294901879; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - LocalID: number; - }; - SurfaceInfo: { - UVCoord: Vector3; - STCoord: Vector3; - FaceIndex: number; - Position: Vector3; - Normal: Vector3; - Binormal: Vector3; - }[]; - - getSize(): number - { - return ((64) * this.SurfaceInfo.length) + 37; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.ObjectData['LocalID'], pos); - pos += 4; - const count = this.SurfaceInfo.length; - buf.writeUInt8(this.SurfaceInfo.length, pos++); - for (let i = 0; i < count; i++) - { - this.SurfaceInfo[i]['UVCoord'].writeToBuffer(buf, pos, false); - pos += 12; - this.SurfaceInfo[i]['STCoord'].writeToBuffer(buf, pos, false); - pos += 12; - buf.writeInt32LE(this.SurfaceInfo[i]['FaceIndex'], pos); - pos += 4; - this.SurfaceInfo[i]['Position'].writeToBuffer(buf, pos, false); - pos += 12; - this.SurfaceInfo[i]['Normal'].writeToBuffer(buf, pos, false); - pos += 12; - this.SurfaceInfo[i]['Binormal'].writeToBuffer(buf, pos, false); - pos += 12; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjObjectData: { - LocalID: number - } = { - LocalID: 0 - }; - newObjObjectData['LocalID'] = buf.readUInt32LE(pos); - pos += 4; - this.ObjectData = newObjObjectData; - const count = buf.readUInt8(pos++); - this.SurfaceInfo = []; - for (let i = 0; i < count; i++) - { - const newObjSurfaceInfo: { - UVCoord: Vector3, - STCoord: Vector3, - FaceIndex: number, - Position: Vector3, - Normal: Vector3, - Binormal: Vector3 - } = { - UVCoord: Vector3.getZero(), - STCoord: Vector3.getZero(), - FaceIndex: 0, - Position: Vector3.getZero(), - Normal: Vector3.getZero(), - Binormal: Vector3.getZero() - }; - newObjSurfaceInfo['UVCoord'] = new Vector3(buf, pos, false); - pos += 12; - newObjSurfaceInfo['STCoord'] = new Vector3(buf, pos, false); - pos += 12; - newObjSurfaceInfo['FaceIndex'] = buf.readInt32LE(pos); - pos += 4; - newObjSurfaceInfo['Position'] = new Vector3(buf, pos, false); - pos += 12; - newObjSurfaceInfo['Normal'] = new Vector3(buf, pos, false); - pos += 12; - newObjSurfaceInfo['Binormal'] = new Vector3(buf, pos, false); - pos += 12; - this.SurfaceInfo.push(newObjSurfaceInfo); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectDelete.ts b/lib/classes/packets/ObjectDelete.ts deleted file mode 100644 index ae8c452..0000000 --- a/lib/classes/packets/ObjectDelete.ts +++ /dev/null @@ -1,79 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectDeletePacket implements Packet -{ - name = 'ObjectDelete'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901849; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - Force: boolean; - }; - ObjectData: { - ObjectLocalID: number; - }[]; - - getSize(): number - { - return ((4) * this.ObjectData.length) + 34; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.AgentData['Force']) ? 1 : 0, pos++); - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - Force: boolean - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - Force: false - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['Force'] = (buf.readUInt8(pos++) === 1); - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectLocalID: number - } = { - ObjectLocalID: 0 - }; - newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); - pos += 4; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectDelink.ts b/lib/classes/packets/ObjectDelink.ts deleted file mode 100644 index ff7497b..0000000 --- a/lib/classes/packets/ObjectDelink.ts +++ /dev/null @@ -1,74 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectDelinkPacket implements Packet -{ - name = 'ObjectDelink'; - flags = MessageFlags.FrequencyLow; - id = 4294901876; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - ObjectLocalID: number; - }[]; - - getSize(): number - { - return ((4) * this.ObjectData.length) + 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectLocalID: number - } = { - ObjectLocalID: 0 - }; - newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); - pos += 4; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectDescription.ts b/lib/classes/packets/ObjectDescription.ts deleted file mode 100644 index 37e238f..0000000 --- a/lib/classes/packets/ObjectDescription.ts +++ /dev/null @@ -1,91 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectDescriptionPacket implements Packet -{ - name = 'ObjectDescription'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901868; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - LocalID: number; - Description: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.ObjectData, 'Description', 1) + 4) * this.ObjectData.length) + 33; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['LocalID'], pos); - pos += 4; - buf.write(this.ObjectData[i]['Description'], pos); - pos += this.ObjectData[i]['Description'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - LocalID: number, - Description: string - } = { - LocalID: 0, - Description: '' - }; - newObjObjectData['LocalID'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['Description'] = buf.toString('utf8', pos, length); - pos += length; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectDeselect.ts b/lib/classes/packets/ObjectDeselect.ts deleted file mode 100644 index 098127b..0000000 --- a/lib/classes/packets/ObjectDeselect.ts +++ /dev/null @@ -1,74 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectDeselectPacket implements Packet -{ - name = 'ObjectDeselect'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901871; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - ObjectLocalID: number; - }[]; - - getSize(): number - { - return ((4) * this.ObjectData.length) + 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectLocalID: number - } = { - ObjectLocalID: 0 - }; - newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); - pos += 4; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectDetach.ts b/lib/classes/packets/ObjectDetach.ts deleted file mode 100644 index 77214e5..0000000 --- a/lib/classes/packets/ObjectDetach.ts +++ /dev/null @@ -1,74 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectDetachPacket implements Packet -{ - name = 'ObjectDetach'; - flags = MessageFlags.FrequencyLow; - id = 4294901873; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - ObjectLocalID: number; - }[]; - - getSize(): number - { - return ((4) * this.ObjectData.length) + 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectLocalID: number - } = { - ObjectLocalID: 0 - }; - newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); - pos += 4; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectDrop.ts b/lib/classes/packets/ObjectDrop.ts deleted file mode 100644 index 58c893b..0000000 --- a/lib/classes/packets/ObjectDrop.ts +++ /dev/null @@ -1,74 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectDropPacket implements Packet -{ - name = 'ObjectDrop'; - flags = MessageFlags.FrequencyLow; - id = 4294901874; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - ObjectLocalID: number; - }[]; - - getSize(): number - { - return ((4) * this.ObjectData.length) + 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectLocalID: number - } = { - ObjectLocalID: 0 - }; - newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); - pos += 4; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectDuplicate.ts b/lib/classes/packets/ObjectDuplicate.ts deleted file mode 100644 index 76a844c..0000000 --- a/lib/classes/packets/ObjectDuplicate.ts +++ /dev/null @@ -1,102 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectDuplicatePacket implements Packet -{ - name = 'ObjectDuplicate'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901850; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - GroupID: UUID; - }; - SharedData: { - Offset: Vector3; - DuplicateFlags: number; - }; - ObjectData: { - ObjectLocalID: number; - }[]; - - getSize(): number - { - return ((4) * this.ObjectData.length) + 65; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - this.SharedData['Offset'].writeToBuffer(buf, pos, false); - pos += 12; - buf.writeUInt32LE(this.SharedData['DuplicateFlags'], pos); - pos += 4; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - GroupID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - GroupID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjSharedData: { - Offset: Vector3, - DuplicateFlags: number - } = { - Offset: Vector3.getZero(), - DuplicateFlags: 0 - }; - newObjSharedData['Offset'] = new Vector3(buf, pos, false); - pos += 12; - newObjSharedData['DuplicateFlags'] = buf.readUInt32LE(pos); - pos += 4; - this.SharedData = newObjSharedData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectLocalID: number - } = { - ObjectLocalID: 0 - }; - newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); - pos += 4; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectDuplicateOnRay.ts b/lib/classes/packets/ObjectDuplicateOnRay.ts deleted file mode 100644 index 3e904cb..0000000 --- a/lib/classes/packets/ObjectDuplicateOnRay.ts +++ /dev/null @@ -1,130 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectDuplicateOnRayPacket implements Packet -{ - name = 'ObjectDuplicateOnRay'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901851; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - GroupID: UUID; - RayStart: Vector3; - RayEnd: Vector3; - BypassRaycast: boolean; - RayEndIsIntersection: boolean; - CopyCenters: boolean; - CopyRotates: boolean; - RayTargetID: UUID; - DuplicateFlags: number; - }; - ObjectData: { - ObjectLocalID: number; - }[]; - - getSize(): number - { - return ((4) * this.ObjectData.length) + 97; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['RayStart'].writeToBuffer(buf, pos, false); - pos += 12; - this.AgentData['RayEnd'].writeToBuffer(buf, pos, false); - pos += 12; - buf.writeUInt8((this.AgentData['BypassRaycast']) ? 1 : 0, pos++); - buf.writeUInt8((this.AgentData['RayEndIsIntersection']) ? 1 : 0, pos++); - buf.writeUInt8((this.AgentData['CopyCenters']) ? 1 : 0, pos++); - buf.writeUInt8((this.AgentData['CopyRotates']) ? 1 : 0, pos++); - this.AgentData['RayTargetID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.AgentData['DuplicateFlags'], pos); - pos += 4; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - GroupID: UUID, - RayStart: Vector3, - RayEnd: Vector3, - BypassRaycast: boolean, - RayEndIsIntersection: boolean, - CopyCenters: boolean, - CopyRotates: boolean, - RayTargetID: UUID, - DuplicateFlags: number - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - GroupID: UUID.zero(), - RayStart: Vector3.getZero(), - RayEnd: Vector3.getZero(), - BypassRaycast: false, - RayEndIsIntersection: false, - CopyCenters: false, - CopyRotates: false, - RayTargetID: UUID.zero(), - DuplicateFlags: 0 - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['RayStart'] = new Vector3(buf, pos, false); - pos += 12; - newObjAgentData['RayEnd'] = new Vector3(buf, pos, false); - pos += 12; - newObjAgentData['BypassRaycast'] = (buf.readUInt8(pos++) === 1); - newObjAgentData['RayEndIsIntersection'] = (buf.readUInt8(pos++) === 1); - newObjAgentData['CopyCenters'] = (buf.readUInt8(pos++) === 1); - newObjAgentData['CopyRotates'] = (buf.readUInt8(pos++) === 1); - newObjAgentData['RayTargetID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['DuplicateFlags'] = buf.readUInt32LE(pos); - pos += 4; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectLocalID: number - } = { - ObjectLocalID: 0 - }; - newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); - pos += 4; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectExportSelected.ts b/lib/classes/packets/ObjectExportSelected.ts deleted file mode 100644 index 5fbeac2..0000000 --- a/lib/classes/packets/ObjectExportSelected.ts +++ /dev/null @@ -1,81 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectExportSelectedPacket implements Packet -{ - name = 'ObjectExportSelected'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901883; - - AgentData: { - AgentID: UUID; - RequestID: UUID; - VolumeDetail: number; - }; - ObjectData: { - ObjectID: UUID; - }[]; - - getSize(): number - { - return ((16) * this.ObjectData.length) + 35; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['RequestID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt16LE(this.AgentData['VolumeDetail'], pos); - pos += 2; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - this.ObjectData[i]['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - RequestID: UUID, - VolumeDetail: number - } = { - AgentID: UUID.zero(), - RequestID: UUID.zero(), - VolumeDetail: 0 - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['RequestID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['VolumeDetail'] = buf.readInt16LE(pos); - pos += 2; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectID: UUID - } = { - ObjectID: UUID.zero() - }; - newObjObjectData['ObjectID'] = new UUID(buf, pos); - pos += 16; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectExtraParams.ts b/lib/classes/packets/ObjectExtraParams.ts deleted file mode 100644 index 0ae5d21..0000000 --- a/lib/classes/packets/ObjectExtraParams.ts +++ /dev/null @@ -1,110 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectExtraParamsPacket implements Packet -{ - name = 'ObjectExtraParams'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901859; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - ObjectLocalID: number; - ParamType: number; - ParamInUse: boolean; - ParamSize: number; - ParamData: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.ObjectData, 'ParamData', 1) + 11) * this.ObjectData.length) + 33; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); - pos += 4; - buf.writeUInt16LE(this.ObjectData[i]['ParamType'], pos); - pos += 2; - buf.writeUInt8((this.ObjectData[i]['ParamInUse']) ? 1 : 0, pos++); - buf.writeUInt32LE(this.ObjectData[i]['ParamSize'], pos); - pos += 4; - buf.write(this.ObjectData[i]['ParamData'], pos); - pos += this.ObjectData[i]['ParamData'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectLocalID: number, - ParamType: number, - ParamInUse: boolean, - ParamSize: number, - ParamData: string - } = { - ObjectLocalID: 0, - ParamType: 0, - ParamInUse: false, - ParamSize: 0, - ParamData: '' - }; - newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['ParamType'] = buf.readUInt16LE(pos); - pos += 2; - newObjObjectData['ParamInUse'] = (buf.readUInt8(pos++) === 1); - newObjObjectData['ParamSize'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['ParamData'] = buf.toString('utf8', pos, length); - pos += length; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectFlagUpdate.ts b/lib/classes/packets/ObjectFlagUpdate.ts deleted file mode 100644 index 58dbc6f..0000000 --- a/lib/classes/packets/ObjectFlagUpdate.ts +++ /dev/null @@ -1,127 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectFlagUpdatePacket implements Packet -{ - name = 'ObjectFlagUpdate'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901854; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - ObjectLocalID: number; - UsePhysics: boolean; - IsTemporary: boolean; - IsPhantom: boolean; - CastsShadows: boolean; - }; - ExtraPhysics: { - PhysicsShapeType: number; - Density: number; - Friction: number; - Restitution: number; - GravityMultiplier: number; - }[]; - - getSize(): number - { - return ((17) * this.ExtraPhysics.length) + 41; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.AgentData['ObjectLocalID'], pos); - pos += 4; - buf.writeUInt8((this.AgentData['UsePhysics']) ? 1 : 0, pos++); - buf.writeUInt8((this.AgentData['IsTemporary']) ? 1 : 0, pos++); - buf.writeUInt8((this.AgentData['IsPhantom']) ? 1 : 0, pos++); - buf.writeUInt8((this.AgentData['CastsShadows']) ? 1 : 0, pos++); - const count = this.ExtraPhysics.length; - buf.writeUInt8(this.ExtraPhysics.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt8(this.ExtraPhysics[i]['PhysicsShapeType'], pos++); - buf.writeFloatLE(this.ExtraPhysics[i]['Density'], pos); - pos += 4; - buf.writeFloatLE(this.ExtraPhysics[i]['Friction'], pos); - pos += 4; - buf.writeFloatLE(this.ExtraPhysics[i]['Restitution'], pos); - pos += 4; - buf.writeFloatLE(this.ExtraPhysics[i]['GravityMultiplier'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - ObjectLocalID: number, - UsePhysics: boolean, - IsTemporary: boolean, - IsPhantom: boolean, - CastsShadows: boolean - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - ObjectLocalID: 0, - UsePhysics: false, - IsTemporary: false, - IsPhantom: false, - CastsShadows: false - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['ObjectLocalID'] = buf.readUInt32LE(pos); - pos += 4; - newObjAgentData['UsePhysics'] = (buf.readUInt8(pos++) === 1); - newObjAgentData['IsTemporary'] = (buf.readUInt8(pos++) === 1); - newObjAgentData['IsPhantom'] = (buf.readUInt8(pos++) === 1); - newObjAgentData['CastsShadows'] = (buf.readUInt8(pos++) === 1); - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ExtraPhysics = []; - for (let i = 0; i < count; i++) - { - const newObjExtraPhysics: { - PhysicsShapeType: number, - Density: number, - Friction: number, - Restitution: number, - GravityMultiplier: number - } = { - PhysicsShapeType: 0, - Density: 0, - Friction: 0, - Restitution: 0, - GravityMultiplier: 0 - }; - newObjExtraPhysics['PhysicsShapeType'] = buf.readUInt8(pos++); - newObjExtraPhysics['Density'] = buf.readFloatLE(pos); - pos += 4; - newObjExtraPhysics['Friction'] = buf.readFloatLE(pos); - pos += 4; - newObjExtraPhysics['Restitution'] = buf.readFloatLE(pos); - pos += 4; - newObjExtraPhysics['GravityMultiplier'] = buf.readFloatLE(pos); - pos += 4; - this.ExtraPhysics.push(newObjExtraPhysics); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectGrab.ts b/lib/classes/packets/ObjectGrab.ts deleted file mode 100644 index 111de07..0000000 --- a/lib/classes/packets/ObjectGrab.ts +++ /dev/null @@ -1,130 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectGrabPacket implements Packet -{ - name = 'ObjectGrab'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901877; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - LocalID: number; - GrabOffset: Vector3; - }; - SurfaceInfo: { - UVCoord: Vector3; - STCoord: Vector3; - FaceIndex: number; - Position: Vector3; - Normal: Vector3; - Binormal: Vector3; - }[]; - - getSize(): number - { - return ((64) * this.SurfaceInfo.length) + 49; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.ObjectData['LocalID'], pos); - pos += 4; - this.ObjectData['GrabOffset'].writeToBuffer(buf, pos, false); - pos += 12; - const count = this.SurfaceInfo.length; - buf.writeUInt8(this.SurfaceInfo.length, pos++); - for (let i = 0; i < count; i++) - { - this.SurfaceInfo[i]['UVCoord'].writeToBuffer(buf, pos, false); - pos += 12; - this.SurfaceInfo[i]['STCoord'].writeToBuffer(buf, pos, false); - pos += 12; - buf.writeInt32LE(this.SurfaceInfo[i]['FaceIndex'], pos); - pos += 4; - this.SurfaceInfo[i]['Position'].writeToBuffer(buf, pos, false); - pos += 12; - this.SurfaceInfo[i]['Normal'].writeToBuffer(buf, pos, false); - pos += 12; - this.SurfaceInfo[i]['Binormal'].writeToBuffer(buf, pos, false); - pos += 12; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjObjectData: { - LocalID: number, - GrabOffset: Vector3 - } = { - LocalID: 0, - GrabOffset: Vector3.getZero() - }; - newObjObjectData['LocalID'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['GrabOffset'] = new Vector3(buf, pos, false); - pos += 12; - this.ObjectData = newObjObjectData; - const count = buf.readUInt8(pos++); - this.SurfaceInfo = []; - for (let i = 0; i < count; i++) - { - const newObjSurfaceInfo: { - UVCoord: Vector3, - STCoord: Vector3, - FaceIndex: number, - Position: Vector3, - Normal: Vector3, - Binormal: Vector3 - } = { - UVCoord: Vector3.getZero(), - STCoord: Vector3.getZero(), - FaceIndex: 0, - Position: Vector3.getZero(), - Normal: Vector3.getZero(), - Binormal: Vector3.getZero() - }; - newObjSurfaceInfo['UVCoord'] = new Vector3(buf, pos, false); - pos += 12; - newObjSurfaceInfo['STCoord'] = new Vector3(buf, pos, false); - pos += 12; - newObjSurfaceInfo['FaceIndex'] = buf.readInt32LE(pos); - pos += 4; - newObjSurfaceInfo['Position'] = new Vector3(buf, pos, false); - pos += 12; - newObjSurfaceInfo['Normal'] = new Vector3(buf, pos, false); - pos += 12; - newObjSurfaceInfo['Binormal'] = new Vector3(buf, pos, false); - pos += 12; - this.SurfaceInfo.push(newObjSurfaceInfo); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectGrabUpdate.ts b/lib/classes/packets/ObjectGrabUpdate.ts deleted file mode 100644 index c4106ea..0000000 --- a/lib/classes/packets/ObjectGrabUpdate.ts +++ /dev/null @@ -1,144 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectGrabUpdatePacket implements Packet -{ - name = 'ObjectGrabUpdate'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901878; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - ObjectID: UUID; - GrabOffsetInitial: Vector3; - GrabPosition: Vector3; - TimeSinceLast: number; - }; - SurfaceInfo: { - UVCoord: Vector3; - STCoord: Vector3; - FaceIndex: number; - Position: Vector3; - Normal: Vector3; - Binormal: Vector3; - }[]; - - getSize(): number - { - return ((64) * this.SurfaceInfo.length) + 77; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.ObjectData['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - this.ObjectData['GrabOffsetInitial'].writeToBuffer(buf, pos, false); - pos += 12; - this.ObjectData['GrabPosition'].writeToBuffer(buf, pos, false); - pos += 12; - buf.writeUInt32LE(this.ObjectData['TimeSinceLast'], pos); - pos += 4; - const count = this.SurfaceInfo.length; - buf.writeUInt8(this.SurfaceInfo.length, pos++); - for (let i = 0; i < count; i++) - { - this.SurfaceInfo[i]['UVCoord'].writeToBuffer(buf, pos, false); - pos += 12; - this.SurfaceInfo[i]['STCoord'].writeToBuffer(buf, pos, false); - pos += 12; - buf.writeInt32LE(this.SurfaceInfo[i]['FaceIndex'], pos); - pos += 4; - this.SurfaceInfo[i]['Position'].writeToBuffer(buf, pos, false); - pos += 12; - this.SurfaceInfo[i]['Normal'].writeToBuffer(buf, pos, false); - pos += 12; - this.SurfaceInfo[i]['Binormal'].writeToBuffer(buf, pos, false); - pos += 12; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjObjectData: { - ObjectID: UUID, - GrabOffsetInitial: Vector3, - GrabPosition: Vector3, - TimeSinceLast: number - } = { - ObjectID: UUID.zero(), - GrabOffsetInitial: Vector3.getZero(), - GrabPosition: Vector3.getZero(), - TimeSinceLast: 0 - }; - newObjObjectData['ObjectID'] = new UUID(buf, pos); - pos += 16; - newObjObjectData['GrabOffsetInitial'] = new Vector3(buf, pos, false); - pos += 12; - newObjObjectData['GrabPosition'] = new Vector3(buf, pos, false); - pos += 12; - newObjObjectData['TimeSinceLast'] = buf.readUInt32LE(pos); - pos += 4; - this.ObjectData = newObjObjectData; - const count = buf.readUInt8(pos++); - this.SurfaceInfo = []; - for (let i = 0; i < count; i++) - { - const newObjSurfaceInfo: { - UVCoord: Vector3, - STCoord: Vector3, - FaceIndex: number, - Position: Vector3, - Normal: Vector3, - Binormal: Vector3 - } = { - UVCoord: Vector3.getZero(), - STCoord: Vector3.getZero(), - FaceIndex: 0, - Position: Vector3.getZero(), - Normal: Vector3.getZero(), - Binormal: Vector3.getZero() - }; - newObjSurfaceInfo['UVCoord'] = new Vector3(buf, pos, false); - pos += 12; - newObjSurfaceInfo['STCoord'] = new Vector3(buf, pos, false); - pos += 12; - newObjSurfaceInfo['FaceIndex'] = buf.readInt32LE(pos); - pos += 4; - newObjSurfaceInfo['Position'] = new Vector3(buf, pos, false); - pos += 12; - newObjSurfaceInfo['Normal'] = new Vector3(buf, pos, false); - pos += 12; - newObjSurfaceInfo['Binormal'] = new Vector3(buf, pos, false); - pos += 12; - this.SurfaceInfo.push(newObjSurfaceInfo); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectGroup.ts b/lib/classes/packets/ObjectGroup.ts deleted file mode 100644 index 86ae6a9..0000000 --- a/lib/classes/packets/ObjectGroup.ts +++ /dev/null @@ -1,81 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectGroupPacket implements Packet -{ - name = 'ObjectGroup'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901861; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - GroupID: UUID; - }; - ObjectData: { - ObjectLocalID: number; - }[]; - - getSize(): number - { - return ((4) * this.ObjectData.length) + 49; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - GroupID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - GroupID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectLocalID: number - } = { - ObjectLocalID: 0 - }; - newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); - pos += 4; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectImage.ts b/lib/classes/packets/ObjectImage.ts deleted file mode 100644 index 49db6ba..0000000 --- a/lib/classes/packets/ObjectImage.ts +++ /dev/null @@ -1,98 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectImagePacket implements Packet -{ - name = 'ObjectImage'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901856; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - ObjectLocalID: number; - MediaURL: string; - TextureEntry: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.ObjectData, 'MediaURL', 1) + this.calculateVarVarSize(this.ObjectData, 'TextureEntry', 2) + 4) * this.ObjectData.length) + 33; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); - pos += 4; - buf.write(this.ObjectData[i]['MediaURL'], pos); - pos += this.ObjectData[i]['MediaURL'].length; - buf.write(this.ObjectData[i]['TextureEntry'], pos); - pos += this.ObjectData[i]['TextureEntry'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectLocalID: number, - MediaURL: string, - TextureEntry: string - } = { - ObjectLocalID: 0, - MediaURL: '', - TextureEntry: '' - }; - newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['MediaURL'] = buf.toString('utf8', pos, length); - pos += length; - newObjObjectData['TextureEntry'] = buf.toString('utf8', pos, length); - pos += length; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectIncludeInSearch.ts b/lib/classes/packets/ObjectIncludeInSearch.ts deleted file mode 100644 index b3dad56..0000000 --- a/lib/classes/packets/ObjectIncludeInSearch.ts +++ /dev/null @@ -1,79 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectIncludeInSearchPacket implements Packet -{ - name = 'ObjectIncludeInSearch'; - flags = MessageFlags.FrequencyLow; - id = 4294902184; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - ObjectLocalID: number; - IncludeInSearch: boolean; - }[]; - - getSize(): number - { - return ((5) * this.ObjectData.length) + 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); - pos += 4; - buf.writeUInt8((this.ObjectData[i]['IncludeInSearch']) ? 1 : 0, pos++); - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectLocalID: number, - IncludeInSearch: boolean - } = { - ObjectLocalID: 0, - IncludeInSearch: false - }; - newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['IncludeInSearch'] = (buf.readUInt8(pos++) === 1); - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectLink.ts b/lib/classes/packets/ObjectLink.ts deleted file mode 100644 index f6ef049..0000000 --- a/lib/classes/packets/ObjectLink.ts +++ /dev/null @@ -1,74 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectLinkPacket implements Packet -{ - name = 'ObjectLink'; - flags = MessageFlags.FrequencyLow; - id = 4294901875; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - ObjectLocalID: number; - }[]; - - getSize(): number - { - return ((4) * this.ObjectData.length) + 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectLocalID: number - } = { - ObjectLocalID: 0 - }; - newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); - pos += 4; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectMaterial.ts b/lib/classes/packets/ObjectMaterial.ts deleted file mode 100644 index ec07ee5..0000000 --- a/lib/classes/packets/ObjectMaterial.ts +++ /dev/null @@ -1,79 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectMaterialPacket implements Packet -{ - name = 'ObjectMaterial'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901857; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - ObjectLocalID: number; - Material: number; - }[]; - - getSize(): number - { - return ((5) * this.ObjectData.length) + 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); - pos += 4; - buf.writeUInt8(this.ObjectData[i]['Material'], pos++); - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectLocalID: number, - Material: number - } = { - ObjectLocalID: 0, - Material: 0 - }; - newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['Material'] = buf.readUInt8(pos++); - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectName.ts b/lib/classes/packets/ObjectName.ts deleted file mode 100644 index 1d79cb9..0000000 --- a/lib/classes/packets/ObjectName.ts +++ /dev/null @@ -1,91 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectNamePacket implements Packet -{ - name = 'ObjectName'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901867; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - LocalID: number; - Name: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.ObjectData, 'Name', 1) + 4) * this.ObjectData.length) + 33; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['LocalID'], pos); - pos += 4; - buf.write(this.ObjectData[i]['Name'], pos); - pos += this.ObjectData[i]['Name'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - LocalID: number, - Name: string - } = { - LocalID: 0, - Name: '' - }; - newObjObjectData['LocalID'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['Name'] = buf.toString('utf8', pos, length); - pos += length; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectOwner.ts b/lib/classes/packets/ObjectOwner.ts deleted file mode 100644 index 1e28dda..0000000 --- a/lib/classes/packets/ObjectOwner.ts +++ /dev/null @@ -1,99 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectOwnerPacket implements Packet -{ - name = 'ObjectOwner'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901860; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - HeaderData: { - Override: boolean; - OwnerID: UUID; - GroupID: UUID; - }; - ObjectData: { - ObjectLocalID: number; - }[]; - - getSize(): number - { - return ((4) * this.ObjectData.length) + 66; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.HeaderData['Override']) ? 1 : 0, pos++); - this.HeaderData['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - this.HeaderData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjHeaderData: { - Override: boolean, - OwnerID: UUID, - GroupID: UUID - } = { - Override: false, - OwnerID: UUID.zero(), - GroupID: UUID.zero() - }; - newObjHeaderData['Override'] = (buf.readUInt8(pos++) === 1); - newObjHeaderData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjHeaderData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.HeaderData = newObjHeaderData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectLocalID: number - } = { - ObjectLocalID: 0 - }; - newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); - pos += 4; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectPermissions.ts b/lib/classes/packets/ObjectPermissions.ts deleted file mode 100644 index 419647c..0000000 --- a/lib/classes/packets/ObjectPermissions.ts +++ /dev/null @@ -1,102 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectPermissionsPacket implements Packet -{ - name = 'ObjectPermissions'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901865; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - HeaderData: { - Override: boolean; - }; - ObjectData: { - ObjectLocalID: number; - Field: number; - Set: number; - Mask: number; - }[]; - - getSize(): number - { - return ((10) * this.ObjectData.length) + 34; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.HeaderData['Override']) ? 1 : 0, pos++); - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); - pos += 4; - buf.writeUInt8(this.ObjectData[i]['Field'], pos++); - buf.writeUInt8(this.ObjectData[i]['Set'], pos++); - buf.writeUInt32LE(this.ObjectData[i]['Mask'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjHeaderData: { - Override: boolean - } = { - Override: false - }; - newObjHeaderData['Override'] = (buf.readUInt8(pos++) === 1); - this.HeaderData = newObjHeaderData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectLocalID: number, - Field: number, - Set: number, - Mask: number - } = { - ObjectLocalID: 0, - Field: 0, - Set: 0, - Mask: 0 - }; - newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['Field'] = buf.readUInt8(pos++); - newObjObjectData['Set'] = buf.readUInt8(pos++); - newObjObjectData['Mask'] = buf.readUInt32LE(pos); - pos += 4; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectPosition.ts b/lib/classes/packets/ObjectPosition.ts deleted file mode 100644 index 7a58a3c..0000000 --- a/lib/classes/packets/ObjectPosition.ts +++ /dev/null @@ -1,82 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectPositionPacket implements Packet -{ - name = 'ObjectPosition'; - flags = MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyMedium; - id = 65284; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - ObjectLocalID: number; - Position: Vector3; - }[]; - - getSize(): number - { - return ((16) * this.ObjectData.length) + 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); - pos += 4; - this.ObjectData[i]['Position'].writeToBuffer(buf, pos, false); - pos += 12; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectLocalID: number, - Position: Vector3 - } = { - ObjectLocalID: 0, - Position: Vector3.getZero() - }; - newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['Position'] = new Vector3(buf, pos, false); - pos += 12; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectProperties.ts b/lib/classes/packets/ObjectProperties.ts deleted file mode 100644 index c84969f..0000000 --- a/lib/classes/packets/ObjectProperties.ts +++ /dev/null @@ -1,241 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectPropertiesPacket implements Packet -{ - name = 'ObjectProperties'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyMedium; - id = 65289; - - ObjectData: { - ObjectID: UUID; - CreatorID: UUID; - OwnerID: UUID; - GroupID: UUID; - CreationDate: Long; - BaseMask: number; - OwnerMask: number; - GroupMask: number; - EveryoneMask: number; - NextOwnerMask: number; - OwnershipCost: number; - SaleType: number; - SalePrice: number; - AggregatePerms: number; - AggregatePermTextures: number; - AggregatePermTexturesOwner: number; - Category: number; - InventorySerial: number; - ItemID: UUID; - FolderID: UUID; - FromTaskID: UUID; - LastOwnerID: UUID; - Name: string; - Description: string; - TouchName: string; - SitName: string; - TextureID: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.ObjectData, 'Name', 1) + this.calculateVarVarSize(this.ObjectData, 'Description', 1) + this.calculateVarVarSize(this.ObjectData, 'TouchName', 1) + this.calculateVarVarSize(this.ObjectData, 'SitName', 1) + this.calculateVarVarSize(this.ObjectData, 'TextureID', 1) + 174) * this.ObjectData.length) + 1; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - this.ObjectData[i]['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - this.ObjectData[i]['CreatorID'].writeToBuffer(buf, pos); - pos += 16; - this.ObjectData[i]['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - this.ObjectData[i]['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.ObjectData[i]['CreationDate'].low, pos); - pos += 4; - buf.writeInt32LE(this.ObjectData[i]['CreationDate'].high, pos); - pos += 4; - buf.writeUInt32LE(this.ObjectData[i]['BaseMask'], pos); - pos += 4; - buf.writeUInt32LE(this.ObjectData[i]['OwnerMask'], pos); - pos += 4; - buf.writeUInt32LE(this.ObjectData[i]['GroupMask'], pos); - pos += 4; - buf.writeUInt32LE(this.ObjectData[i]['EveryoneMask'], pos); - pos += 4; - buf.writeUInt32LE(this.ObjectData[i]['NextOwnerMask'], pos); - pos += 4; - buf.writeInt32LE(this.ObjectData[i]['OwnershipCost'], pos); - pos += 4; - buf.writeUInt8(this.ObjectData[i]['SaleType'], pos++); - buf.writeInt32LE(this.ObjectData[i]['SalePrice'], pos); - pos += 4; - buf.writeUInt8(this.ObjectData[i]['AggregatePerms'], pos++); - buf.writeUInt8(this.ObjectData[i]['AggregatePermTextures'], pos++); - buf.writeUInt8(this.ObjectData[i]['AggregatePermTexturesOwner'], pos++); - buf.writeUInt32LE(this.ObjectData[i]['Category'], pos); - pos += 4; - buf.writeInt16LE(this.ObjectData[i]['InventorySerial'], pos); - pos += 2; - this.ObjectData[i]['ItemID'].writeToBuffer(buf, pos); - pos += 16; - this.ObjectData[i]['FolderID'].writeToBuffer(buf, pos); - pos += 16; - this.ObjectData[i]['FromTaskID'].writeToBuffer(buf, pos); - pos += 16; - this.ObjectData[i]['LastOwnerID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.ObjectData[i]['Name'], pos); - pos += this.ObjectData[i]['Name'].length; - buf.write(this.ObjectData[i]['Description'], pos); - pos += this.ObjectData[i]['Description'].length; - buf.write(this.ObjectData[i]['TouchName'], pos); - pos += this.ObjectData[i]['TouchName'].length; - buf.write(this.ObjectData[i]['SitName'], pos); - pos += this.ObjectData[i]['SitName'].length; - buf.write(this.ObjectData[i]['TextureID'], pos); - pos += this.ObjectData[i]['TextureID'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectID: UUID, - CreatorID: UUID, - OwnerID: UUID, - GroupID: UUID, - CreationDate: Long, - BaseMask: number, - OwnerMask: number, - GroupMask: number, - EveryoneMask: number, - NextOwnerMask: number, - OwnershipCost: number, - SaleType: number, - SalePrice: number, - AggregatePerms: number, - AggregatePermTextures: number, - AggregatePermTexturesOwner: number, - Category: number, - InventorySerial: number, - ItemID: UUID, - FolderID: UUID, - FromTaskID: UUID, - LastOwnerID: UUID, - Name: string, - Description: string, - TouchName: string, - SitName: string, - TextureID: string - } = { - ObjectID: UUID.zero(), - CreatorID: UUID.zero(), - OwnerID: UUID.zero(), - GroupID: UUID.zero(), - CreationDate: Long.ZERO, - BaseMask: 0, - OwnerMask: 0, - GroupMask: 0, - EveryoneMask: 0, - NextOwnerMask: 0, - OwnershipCost: 0, - SaleType: 0, - SalePrice: 0, - AggregatePerms: 0, - AggregatePermTextures: 0, - AggregatePermTexturesOwner: 0, - Category: 0, - InventorySerial: 0, - ItemID: UUID.zero(), - FolderID: UUID.zero(), - FromTaskID: UUID.zero(), - LastOwnerID: UUID.zero(), - Name: '', - Description: '', - TouchName: '', - SitName: '', - TextureID: '' - }; - newObjObjectData['ObjectID'] = new UUID(buf, pos); - pos += 16; - newObjObjectData['CreatorID'] = new UUID(buf, pos); - pos += 16; - newObjObjectData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjObjectData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjObjectData['CreationDate'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjObjectData['BaseMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['OwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['GroupMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['EveryoneMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['NextOwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['OwnershipCost'] = buf.readInt32LE(pos); - pos += 4; - newObjObjectData['SaleType'] = buf.readUInt8(pos++); - newObjObjectData['SalePrice'] = buf.readInt32LE(pos); - pos += 4; - newObjObjectData['AggregatePerms'] = buf.readUInt8(pos++); - newObjObjectData['AggregatePermTextures'] = buf.readUInt8(pos++); - newObjObjectData['AggregatePermTexturesOwner'] = buf.readUInt8(pos++); - newObjObjectData['Category'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['InventorySerial'] = buf.readInt16LE(pos); - pos += 2; - newObjObjectData['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjObjectData['FolderID'] = new UUID(buf, pos); - pos += 16; - newObjObjectData['FromTaskID'] = new UUID(buf, pos); - pos += 16; - newObjObjectData['LastOwnerID'] = new UUID(buf, pos); - pos += 16; - newObjObjectData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjObjectData['Description'] = buf.toString('utf8', pos, length); - pos += length; - newObjObjectData['TouchName'] = buf.toString('utf8', pos, length); - pos += length; - newObjObjectData['SitName'] = buf.toString('utf8', pos, length); - pos += length; - newObjObjectData['TextureID'] = buf.toString('utf8', pos, length); - pos += length; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectPropertiesFamily.ts b/lib/classes/packets/ObjectPropertiesFamily.ts deleted file mode 100644 index 8a9b805..0000000 --- a/lib/classes/packets/ObjectPropertiesFamily.ts +++ /dev/null @@ -1,147 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectPropertiesFamilyPacket implements Packet -{ - name = 'ObjectPropertiesFamily'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyMedium; - id = 65290; - - ObjectData: { - RequestFlags: number; - ObjectID: UUID; - OwnerID: UUID; - GroupID: UUID; - BaseMask: number; - OwnerMask: number; - GroupMask: number; - EveryoneMask: number; - NextOwnerMask: number; - OwnershipCost: number; - SaleType: number; - SalePrice: number; - Category: number; - LastOwnerID: UUID; - Name: string; - Description: string; - }; - - getSize(): number - { - return (this.ObjectData['Name'].length + 1 + this.ObjectData['Description'].length + 1) + 101; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeUInt32LE(this.ObjectData['RequestFlags'], pos); - pos += 4; - this.ObjectData['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - this.ObjectData['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - this.ObjectData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.ObjectData['BaseMask'], pos); - pos += 4; - buf.writeUInt32LE(this.ObjectData['OwnerMask'], pos); - pos += 4; - buf.writeUInt32LE(this.ObjectData['GroupMask'], pos); - pos += 4; - buf.writeUInt32LE(this.ObjectData['EveryoneMask'], pos); - pos += 4; - buf.writeUInt32LE(this.ObjectData['NextOwnerMask'], pos); - pos += 4; - buf.writeInt32LE(this.ObjectData['OwnershipCost'], pos); - pos += 4; - buf.writeUInt8(this.ObjectData['SaleType'], pos++); - buf.writeInt32LE(this.ObjectData['SalePrice'], pos); - pos += 4; - buf.writeUInt32LE(this.ObjectData['Category'], pos); - pos += 4; - this.ObjectData['LastOwnerID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.ObjectData['Name'], pos); - pos += this.ObjectData['Name'].length; - buf.write(this.ObjectData['Description'], pos); - pos += this.ObjectData['Description'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjObjectData: { - RequestFlags: number, - ObjectID: UUID, - OwnerID: UUID, - GroupID: UUID, - BaseMask: number, - OwnerMask: number, - GroupMask: number, - EveryoneMask: number, - NextOwnerMask: number, - OwnershipCost: number, - SaleType: number, - SalePrice: number, - Category: number, - LastOwnerID: UUID, - Name: string, - Description: string - } = { - RequestFlags: 0, - ObjectID: UUID.zero(), - OwnerID: UUID.zero(), - GroupID: UUID.zero(), - BaseMask: 0, - OwnerMask: 0, - GroupMask: 0, - EveryoneMask: 0, - NextOwnerMask: 0, - OwnershipCost: 0, - SaleType: 0, - SalePrice: 0, - Category: 0, - LastOwnerID: UUID.zero(), - Name: '', - Description: '' - }; - newObjObjectData['RequestFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['ObjectID'] = new UUID(buf, pos); - pos += 16; - newObjObjectData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjObjectData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjObjectData['BaseMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['OwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['GroupMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['EveryoneMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['NextOwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['OwnershipCost'] = buf.readInt32LE(pos); - pos += 4; - newObjObjectData['SaleType'] = buf.readUInt8(pos++); - newObjObjectData['SalePrice'] = buf.readInt32LE(pos); - pos += 4; - newObjObjectData['Category'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['LastOwnerID'] = new UUID(buf, pos); - pos += 16; - newObjObjectData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjObjectData['Description'] = buf.toString('utf8', pos, length); - pos += length; - this.ObjectData = newObjObjectData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectRotation.ts b/lib/classes/packets/ObjectRotation.ts deleted file mode 100644 index c7be3ee..0000000 --- a/lib/classes/packets/ObjectRotation.ts +++ /dev/null @@ -1,82 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Quaternion} from '../Quaternion'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectRotationPacket implements Packet -{ - name = 'ObjectRotation'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901853; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - ObjectLocalID: number; - Rotation: Quaternion; - }[]; - - getSize(): number - { - return ((16) * this.ObjectData.length) + 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); - pos += 4; - this.ObjectData[i]['Rotation'].writeToBuffer(buf, pos); - pos += 12; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectLocalID: number, - Rotation: Quaternion - } = { - ObjectLocalID: 0, - Rotation: Quaternion.getIdentity() - }; - newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['Rotation'] = new Quaternion(buf, pos); - pos += 12; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectSaleInfo.ts b/lib/classes/packets/ObjectSaleInfo.ts deleted file mode 100644 index e691dce..0000000 --- a/lib/classes/packets/ObjectSaleInfo.ts +++ /dev/null @@ -1,86 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectSaleInfoPacket implements Packet -{ - name = 'ObjectSaleInfo'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901866; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - LocalID: number; - SaleType: number; - SalePrice: number; - }[]; - - getSize(): number - { - return ((9) * this.ObjectData.length) + 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['LocalID'], pos); - pos += 4; - buf.writeUInt8(this.ObjectData[i]['SaleType'], pos++); - buf.writeInt32LE(this.ObjectData[i]['SalePrice'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - LocalID: number, - SaleType: number, - SalePrice: number - } = { - LocalID: 0, - SaleType: 0, - SalePrice: 0 - }; - newObjObjectData['LocalID'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['SaleType'] = buf.readUInt8(pos++); - newObjObjectData['SalePrice'] = buf.readInt32LE(pos); - pos += 4; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectScale.ts b/lib/classes/packets/ObjectScale.ts deleted file mode 100644 index 0b69bfe..0000000 --- a/lib/classes/packets/ObjectScale.ts +++ /dev/null @@ -1,82 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectScalePacket implements Packet -{ - name = 'ObjectScale'; - flags = MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyLow; - id = 4294901852; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - ObjectLocalID: number; - Scale: Vector3; - }[]; - - getSize(): number - { - return ((16) * this.ObjectData.length) + 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); - pos += 4; - this.ObjectData[i]['Scale'].writeToBuffer(buf, pos, false); - pos += 12; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectLocalID: number, - Scale: Vector3 - } = { - ObjectLocalID: 0, - Scale: Vector3.getZero() - }; - newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['Scale'] = new Vector3(buf, pos, false); - pos += 12; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectSelect.ts b/lib/classes/packets/ObjectSelect.ts deleted file mode 100644 index 6e5809e..0000000 --- a/lib/classes/packets/ObjectSelect.ts +++ /dev/null @@ -1,74 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectSelectPacket implements Packet -{ - name = 'ObjectSelect'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901870; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - ObjectLocalID: number; - }[]; - - getSize(): number - { - return ((4) * this.ObjectData.length) + 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectLocalID: number - } = { - ObjectLocalID: 0 - }; - newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); - pos += 4; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectShape.ts b/lib/classes/packets/ObjectShape.ts deleted file mode 100644 index 0e726a1..0000000 --- a/lib/classes/packets/ObjectShape.ts +++ /dev/null @@ -1,174 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectShapePacket implements Packet -{ - name = 'ObjectShape'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901858; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - ObjectLocalID: 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; - }[]; - - getSize(): number - { - return ((27) * this.ObjectData.length) + 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ObjectLocalID'], pos); - pos += 4; - buf.writeUInt8(this.ObjectData[i]['PathCurve'], pos++); - buf.writeUInt8(this.ObjectData[i]['ProfileCurve'], pos++); - buf.writeUInt16LE(this.ObjectData[i]['PathBegin'], pos); - pos += 2; - buf.writeUInt16LE(this.ObjectData[i]['PathEnd'], pos); - pos += 2; - buf.writeUInt8(this.ObjectData[i]['PathScaleX'], pos++); - buf.writeUInt8(this.ObjectData[i]['PathScaleY'], pos++); - buf.writeUInt8(this.ObjectData[i]['PathShearX'], pos++); - buf.writeUInt8(this.ObjectData[i]['PathShearY'], pos++); - buf.writeInt8(this.ObjectData[i]['PathTwist'], pos++); - buf.writeInt8(this.ObjectData[i]['PathTwistBegin'], pos++); - buf.writeInt8(this.ObjectData[i]['PathRadiusOffset'], pos++); - buf.writeInt8(this.ObjectData[i]['PathTaperX'], pos++); - buf.writeInt8(this.ObjectData[i]['PathTaperY'], pos++); - buf.writeUInt8(this.ObjectData[i]['PathRevolutions'], pos++); - buf.writeInt8(this.ObjectData[i]['PathSkew'], pos++); - buf.writeUInt16LE(this.ObjectData[i]['ProfileBegin'], pos); - pos += 2; - buf.writeUInt16LE(this.ObjectData[i]['ProfileEnd'], pos); - pos += 2; - buf.writeUInt16LE(this.ObjectData[i]['ProfileHollow'], pos); - pos += 2; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectLocalID: 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 - } = { - ObjectLocalID: 0, - PathCurve: 0, - ProfileCurve: 0, - PathBegin: 0, - PathEnd: 0, - PathScaleX: 0, - PathScaleY: 0, - PathShearX: 0, - PathShearY: 0, - PathTwist: 0, - PathTwistBegin: 0, - PathRadiusOffset: 0, - PathTaperX: 0, - PathTaperY: 0, - PathRevolutions: 0, - PathSkew: 0, - ProfileBegin: 0, - ProfileEnd: 0, - ProfileHollow: 0 - }; - newObjObjectData['ObjectLocalID'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['PathCurve'] = buf.readUInt8(pos++); - newObjObjectData['ProfileCurve'] = buf.readUInt8(pos++); - newObjObjectData['PathBegin'] = buf.readUInt16LE(pos); - pos += 2; - newObjObjectData['PathEnd'] = buf.readUInt16LE(pos); - pos += 2; - newObjObjectData['PathScaleX'] = buf.readUInt8(pos++); - newObjObjectData['PathScaleY'] = buf.readUInt8(pos++); - newObjObjectData['PathShearX'] = buf.readUInt8(pos++); - newObjObjectData['PathShearY'] = buf.readUInt8(pos++); - newObjObjectData['PathTwist'] = buf.readInt8(pos++); - newObjObjectData['PathTwistBegin'] = buf.readInt8(pos++); - newObjObjectData['PathRadiusOffset'] = buf.readInt8(pos++); - newObjObjectData['PathTaperX'] = buf.readInt8(pos++); - newObjObjectData['PathTaperY'] = buf.readInt8(pos++); - newObjObjectData['PathRevolutions'] = buf.readUInt8(pos++); - newObjObjectData['PathSkew'] = buf.readInt8(pos++); - newObjObjectData['ProfileBegin'] = buf.readUInt16LE(pos); - pos += 2; - newObjObjectData['ProfileEnd'] = buf.readUInt16LE(pos); - pos += 2; - newObjObjectData['ProfileHollow'] = buf.readUInt16LE(pos); - pos += 2; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectSpinStart.ts b/lib/classes/packets/ObjectSpinStart.ts deleted file mode 100644 index 1d7458e..0000000 --- a/lib/classes/packets/ObjectSpinStart.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectSpinStartPacket implements Packet -{ - name = 'ObjectSpinStart'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901880; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - ObjectID: UUID; - }; - - getSize(): number - { - return 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.ObjectData['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjObjectData: { - ObjectID: UUID - } = { - ObjectID: UUID.zero() - }; - newObjObjectData['ObjectID'] = new UUID(buf, pos); - pos += 16; - this.ObjectData = newObjObjectData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectSpinStop.ts b/lib/classes/packets/ObjectSpinStop.ts deleted file mode 100644 index ee7ede6..0000000 --- a/lib/classes/packets/ObjectSpinStop.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectSpinStopPacket implements Packet -{ - name = 'ObjectSpinStop'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901882; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - ObjectID: UUID; - }; - - getSize(): number - { - return 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.ObjectData['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjObjectData: { - ObjectID: UUID - } = { - ObjectID: UUID.zero() - }; - newObjObjectData['ObjectID'] = new UUID(buf, pos); - pos += 16; - this.ObjectData = newObjObjectData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectSpinUpdate.ts b/lib/classes/packets/ObjectSpinUpdate.ts deleted file mode 100644 index a088cb1..0000000 --- a/lib/classes/packets/ObjectSpinUpdate.ts +++ /dev/null @@ -1,72 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Quaternion} from '../Quaternion'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectSpinUpdatePacket implements Packet -{ - name = 'ObjectSpinUpdate'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901881; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - ObjectID: UUID; - Rotation: Quaternion; - }; - - getSize(): number - { - return 60; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.ObjectData['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - this.ObjectData['Rotation'].writeToBuffer(buf, pos); - pos += 12; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjObjectData: { - ObjectID: UUID, - Rotation: Quaternion - } = { - ObjectID: UUID.zero(), - Rotation: Quaternion.getIdentity() - }; - newObjObjectData['ObjectID'] = new UUID(buf, pos); - pos += 16; - newObjObjectData['Rotation'] = new Quaternion(buf, pos); - pos += 12; - this.ObjectData = newObjObjectData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectUpdate.ts b/lib/classes/packets/ObjectUpdate.ts deleted file mode 100644 index 99abf2b..0000000 --- a/lib/classes/packets/ObjectUpdate.ts +++ /dev/null @@ -1,365 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectUpdatePacket implements Packet -{ - name = 'ObjectUpdate'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyHigh; - id = 12; - - RegionData: { - RegionHandle: Long; - TimeDilation: number; - }; - ObjectData: { - ID: number; - State: number; - FullID: UUID; - CRC: number; - PCode: number; - Material: number; - ClickAction: number; - Scale: Vector3; - ObjectData: string; - ParentID: number; - UpdateFlags: 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: string; - TextureAnim: string; - NameValue: string; - Data: string; - Text: string; - TextColor: Buffer; - MediaURL: string; - PSBlock: string; - ExtraParams: string; - Sound: UUID; - OwnerID: UUID; - Gain: number; - Flags: number; - Radius: number; - JointType: number; - JointPivot: Vector3; - JointAxisOrAnchor: Vector3; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.ObjectData, 'ObjectData', 1) + this.calculateVarVarSize(this.ObjectData, 'TextureEntry', 2) + this.calculateVarVarSize(this.ObjectData, 'TextureAnim', 1) + this.calculateVarVarSize(this.ObjectData, 'NameValue', 2) + this.calculateVarVarSize(this.ObjectData, 'Data', 2) + this.calculateVarVarSize(this.ObjectData, 'Text', 1) + this.calculateVarVarSize(this.ObjectData, 'MediaURL', 1) + this.calculateVarVarSize(this.ObjectData, 'PSBlock', 1) + this.calculateVarVarSize(this.ObjectData, 'ExtraParams', 1) + 141) * this.ObjectData.length) + 11; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeInt32LE(this.RegionData['RegionHandle'].low, pos); - pos += 4; - buf.writeInt32LE(this.RegionData['RegionHandle'].high, pos); - pos += 4; - buf.writeUInt16LE(this.RegionData['TimeDilation'], pos); - pos += 2; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ID'], pos); - pos += 4; - buf.writeUInt8(this.ObjectData[i]['State'], pos++); - this.ObjectData[i]['FullID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.ObjectData[i]['CRC'], pos); - pos += 4; - buf.writeUInt8(this.ObjectData[i]['PCode'], pos++); - buf.writeUInt8(this.ObjectData[i]['Material'], pos++); - buf.writeUInt8(this.ObjectData[i]['ClickAction'], pos++); - this.ObjectData[i]['Scale'].writeToBuffer(buf, pos, false); - pos += 12; - buf.write(this.ObjectData[i]['ObjectData'], pos); - pos += this.ObjectData[i]['ObjectData'].length; - buf.writeUInt32LE(this.ObjectData[i]['ParentID'], pos); - pos += 4; - buf.writeUInt32LE(this.ObjectData[i]['UpdateFlags'], pos); - pos += 4; - buf.writeUInt8(this.ObjectData[i]['PathCurve'], pos++); - buf.writeUInt8(this.ObjectData[i]['ProfileCurve'], pos++); - buf.writeUInt16LE(this.ObjectData[i]['PathBegin'], pos); - pos += 2; - buf.writeUInt16LE(this.ObjectData[i]['PathEnd'], pos); - pos += 2; - buf.writeUInt8(this.ObjectData[i]['PathScaleX'], pos++); - buf.writeUInt8(this.ObjectData[i]['PathScaleY'], pos++); - buf.writeUInt8(this.ObjectData[i]['PathShearX'], pos++); - buf.writeUInt8(this.ObjectData[i]['PathShearY'], pos++); - buf.writeInt8(this.ObjectData[i]['PathTwist'], pos++); - buf.writeInt8(this.ObjectData[i]['PathTwistBegin'], pos++); - buf.writeInt8(this.ObjectData[i]['PathRadiusOffset'], pos++); - buf.writeInt8(this.ObjectData[i]['PathTaperX'], pos++); - buf.writeInt8(this.ObjectData[i]['PathTaperY'], pos++); - buf.writeUInt8(this.ObjectData[i]['PathRevolutions'], pos++); - buf.writeInt8(this.ObjectData[i]['PathSkew'], pos++); - buf.writeUInt16LE(this.ObjectData[i]['ProfileBegin'], pos); - pos += 2; - buf.writeUInt16LE(this.ObjectData[i]['ProfileEnd'], pos); - pos += 2; - buf.writeUInt16LE(this.ObjectData[i]['ProfileHollow'], pos); - pos += 2; - buf.write(this.ObjectData[i]['TextureEntry'], pos); - pos += this.ObjectData[i]['TextureEntry'].length; - buf.write(this.ObjectData[i]['TextureAnim'], pos); - pos += this.ObjectData[i]['TextureAnim'].length; - buf.write(this.ObjectData[i]['NameValue'], pos); - pos += this.ObjectData[i]['NameValue'].length; - buf.write(this.ObjectData[i]['Data'], pos); - pos += this.ObjectData[i]['Data'].length; - buf.write(this.ObjectData[i]['Text'], pos); - pos += this.ObjectData[i]['Text'].length; - this.ObjectData[i]['TextColor'].copy(buf, pos); - pos += 4; - buf.write(this.ObjectData[i]['MediaURL'], pos); - pos += this.ObjectData[i]['MediaURL'].length; - buf.write(this.ObjectData[i]['PSBlock'], pos); - pos += this.ObjectData[i]['PSBlock'].length; - buf.write(this.ObjectData[i]['ExtraParams'], pos); - pos += this.ObjectData[i]['ExtraParams'].length; - this.ObjectData[i]['Sound'].writeToBuffer(buf, pos); - pos += 16; - this.ObjectData[i]['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeFloatLE(this.ObjectData[i]['Gain'], pos); - pos += 4; - buf.writeUInt8(this.ObjectData[i]['Flags'], pos++); - buf.writeFloatLE(this.ObjectData[i]['Radius'], pos); - pos += 4; - buf.writeUInt8(this.ObjectData[i]['JointType'], pos++); - this.ObjectData[i]['JointPivot'].writeToBuffer(buf, pos, false); - pos += 12; - this.ObjectData[i]['JointAxisOrAnchor'].writeToBuffer(buf, pos, false); - pos += 12; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjRegionData: { - RegionHandle: Long, - TimeDilation: number - } = { - RegionHandle: Long.ZERO, - TimeDilation: 0 - }; - newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjRegionData['TimeDilation'] = buf.readUInt16LE(pos); - pos += 2; - this.RegionData = newObjRegionData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ID: number, - State: number, - FullID: UUID, - CRC: number, - PCode: number, - Material: number, - ClickAction: number, - Scale: Vector3, - ObjectData: string, - ParentID: number, - UpdateFlags: 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: string, - TextureAnim: string, - NameValue: string, - Data: string, - Text: string, - TextColor: Buffer, - MediaURL: string, - PSBlock: string, - ExtraParams: string, - Sound: UUID, - OwnerID: UUID, - Gain: number, - Flags: number, - Radius: number, - JointType: number, - JointPivot: Vector3, - JointAxisOrAnchor: Vector3 - } = { - ID: 0, - State: 0, - FullID: UUID.zero(), - CRC: 0, - PCode: 0, - Material: 0, - ClickAction: 0, - Scale: Vector3.getZero(), - ObjectData: '', - ParentID: 0, - UpdateFlags: 0, - PathCurve: 0, - ProfileCurve: 0, - PathBegin: 0, - PathEnd: 0, - PathScaleX: 0, - PathScaleY: 0, - PathShearX: 0, - PathShearY: 0, - PathTwist: 0, - PathTwistBegin: 0, - PathRadiusOffset: 0, - PathTaperX: 0, - PathTaperY: 0, - PathRevolutions: 0, - PathSkew: 0, - ProfileBegin: 0, - ProfileEnd: 0, - ProfileHollow: 0, - TextureEntry: '', - TextureAnim: '', - NameValue: '', - Data: '', - Text: '', - TextColor: Buffer.allocUnsafe(0), - MediaURL: '', - PSBlock: '', - ExtraParams: '', - Sound: UUID.zero(), - OwnerID: UUID.zero(), - Gain: 0, - Flags: 0, - Radius: 0, - JointType: 0, - JointPivot: Vector3.getZero(), - JointAxisOrAnchor: Vector3.getZero() - }; - newObjObjectData['ID'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['State'] = buf.readUInt8(pos++); - newObjObjectData['FullID'] = new UUID(buf, pos); - pos += 16; - newObjObjectData['CRC'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['PCode'] = buf.readUInt8(pos++); - newObjObjectData['Material'] = buf.readUInt8(pos++); - newObjObjectData['ClickAction'] = buf.readUInt8(pos++); - newObjObjectData['Scale'] = new Vector3(buf, pos, false); - pos += 12; - newObjObjectData['ObjectData'] = buf.toString('utf8', pos, length); - pos += length; - newObjObjectData['ParentID'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['UpdateFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['PathCurve'] = buf.readUInt8(pos++); - newObjObjectData['ProfileCurve'] = buf.readUInt8(pos++); - newObjObjectData['PathBegin'] = buf.readUInt16LE(pos); - pos += 2; - newObjObjectData['PathEnd'] = buf.readUInt16LE(pos); - pos += 2; - newObjObjectData['PathScaleX'] = buf.readUInt8(pos++); - newObjObjectData['PathScaleY'] = buf.readUInt8(pos++); - newObjObjectData['PathShearX'] = buf.readUInt8(pos++); - newObjObjectData['PathShearY'] = buf.readUInt8(pos++); - newObjObjectData['PathTwist'] = buf.readInt8(pos++); - newObjObjectData['PathTwistBegin'] = buf.readInt8(pos++); - newObjObjectData['PathRadiusOffset'] = buf.readInt8(pos++); - newObjObjectData['PathTaperX'] = buf.readInt8(pos++); - newObjObjectData['PathTaperY'] = buf.readInt8(pos++); - newObjObjectData['PathRevolutions'] = buf.readUInt8(pos++); - newObjObjectData['PathSkew'] = buf.readInt8(pos++); - newObjObjectData['ProfileBegin'] = buf.readUInt16LE(pos); - pos += 2; - newObjObjectData['ProfileEnd'] = buf.readUInt16LE(pos); - pos += 2; - newObjObjectData['ProfileHollow'] = buf.readUInt16LE(pos); - pos += 2; - newObjObjectData['TextureEntry'] = buf.toString('utf8', pos, length); - pos += length; - newObjObjectData['TextureAnim'] = buf.toString('utf8', pos, length); - pos += length; - newObjObjectData['NameValue'] = buf.toString('utf8', pos, length); - pos += length; - newObjObjectData['Data'] = buf.toString('utf8', pos, length); - pos += length; - newObjObjectData['Text'] = buf.toString('utf8', pos, length); - pos += length; - newObjObjectData['TextColor'] = buf.slice(pos, pos + 4); - pos += 4; - newObjObjectData['MediaURL'] = buf.toString('utf8', pos, length); - pos += length; - newObjObjectData['PSBlock'] = buf.toString('utf8', pos, length); - pos += length; - newObjObjectData['ExtraParams'] = buf.toString('utf8', pos, length); - pos += length; - newObjObjectData['Sound'] = new UUID(buf, pos); - pos += 16; - newObjObjectData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjObjectData['Gain'] = buf.readFloatLE(pos); - pos += 4; - newObjObjectData['Flags'] = buf.readUInt8(pos++); - newObjObjectData['Radius'] = buf.readFloatLE(pos); - pos += 4; - newObjObjectData['JointType'] = buf.readUInt8(pos++); - newObjObjectData['JointPivot'] = new Vector3(buf, pos, false); - pos += 12; - newObjObjectData['JointAxisOrAnchor'] = new Vector3(buf, pos, false); - pos += 12; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectUpdateCached.ts b/lib/classes/packets/ObjectUpdateCached.ts deleted file mode 100644 index 7a92872..0000000 --- a/lib/classes/packets/ObjectUpdateCached.ts +++ /dev/null @@ -1,90 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectUpdateCachedPacket implements Packet -{ - name = 'ObjectUpdateCached'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyHigh; - id = 14; - - RegionData: { - RegionHandle: Long; - TimeDilation: number; - }; - ObjectData: { - ID: number; - CRC: number; - UpdateFlags: number; - }[]; - - getSize(): number - { - return ((12) * this.ObjectData.length) + 11; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeInt32LE(this.RegionData['RegionHandle'].low, pos); - pos += 4; - buf.writeInt32LE(this.RegionData['RegionHandle'].high, pos); - pos += 4; - buf.writeUInt16LE(this.RegionData['TimeDilation'], pos); - pos += 2; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['ID'], pos); - pos += 4; - buf.writeUInt32LE(this.ObjectData[i]['CRC'], pos); - pos += 4; - buf.writeUInt32LE(this.ObjectData[i]['UpdateFlags'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjRegionData: { - RegionHandle: Long, - TimeDilation: number - } = { - RegionHandle: Long.ZERO, - TimeDilation: 0 - }; - newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjRegionData['TimeDilation'] = buf.readUInt16LE(pos); - pos += 2; - this.RegionData = newObjRegionData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ID: number, - CRC: number, - UpdateFlags: number - } = { - ID: 0, - CRC: 0, - UpdateFlags: 0 - }; - newObjObjectData['ID'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['CRC'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['UpdateFlags'] = buf.readUInt32LE(pos); - pos += 4; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ObjectUpdateCompressed.ts b/lib/classes/packets/ObjectUpdateCompressed.ts deleted file mode 100644 index 535d052..0000000 --- a/lib/classes/packets/ObjectUpdateCompressed.ts +++ /dev/null @@ -1,93 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ObjectUpdateCompressedPacket implements Packet -{ - name = 'ObjectUpdateCompressed'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyHigh; - id = 13; - - RegionData: { - RegionHandle: Long; - TimeDilation: number; - }; - ObjectData: { - UpdateFlags: number; - Data: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.ObjectData, 'Data', 2) + 4) * this.ObjectData.length) + 11; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeInt32LE(this.RegionData['RegionHandle'].low, pos); - pos += 4; - buf.writeInt32LE(this.RegionData['RegionHandle'].high, pos); - pos += 4; - buf.writeUInt16LE(this.RegionData['TimeDilation'], pos); - pos += 2; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.ObjectData[i]['UpdateFlags'], pos); - pos += 4; - buf.write(this.ObjectData[i]['Data'], pos); - pos += this.ObjectData[i]['Data'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjRegionData: { - RegionHandle: Long, - TimeDilation: number - } = { - RegionHandle: Long.ZERO, - TimeDilation: 0 - }; - newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjRegionData['TimeDilation'] = buf.readUInt16LE(pos); - pos += 2; - this.RegionData = newObjRegionData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - UpdateFlags: number, - Data: string - } = { - UpdateFlags: 0, - Data: '' - }; - newObjObjectData['UpdateFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['Data'] = buf.toString('utf8', pos, length); - pos += length; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/OfferCallingCard.ts b/lib/classes/packets/OfferCallingCard.ts deleted file mode 100644 index 6fc9c5f..0000000 --- a/lib/classes/packets/OfferCallingCard.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class OfferCallingCardPacket implements Packet -{ - name = 'OfferCallingCard'; - flags = MessageFlags.FrequencyLow; - id = 4294902061; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - AgentBlock: { - DestID: UUID; - TransactionID: UUID; - }; - - getSize(): number - { - return 64; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentBlock['DestID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentBlock['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjAgentBlock: { - DestID: UUID, - TransactionID: UUID - } = { - DestID: UUID.zero(), - TransactionID: UUID.zero() - }; - newObjAgentBlock['DestID'] = new UUID(buf, pos); - pos += 16; - newObjAgentBlock['TransactionID'] = new UUID(buf, pos); - pos += 16; - this.AgentBlock = newObjAgentBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/OfflineNotification.ts b/lib/classes/packets/OfflineNotification.ts deleted file mode 100644 index 2cf07d1..0000000 --- a/lib/classes/packets/OfflineNotification.ts +++ /dev/null @@ -1,54 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class OfflineNotificationPacket implements Packet -{ - name = 'OfflineNotification'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902083; - - AgentBlock: { - AgentID: UUID; - }[]; - - getSize(): number - { - return ((16) * this.AgentBlock.length) + 1; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.AgentBlock.length; - buf.writeUInt8(this.AgentBlock.length, pos++); - for (let i = 0; i < count; i++) - { - this.AgentBlock[i]['AgentID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.AgentBlock = []; - for (let i = 0; i < count; i++) - { - const newObjAgentBlock: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentBlock['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentBlock.push(newObjAgentBlock); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/OnlineNotification.ts b/lib/classes/packets/OnlineNotification.ts deleted file mode 100644 index 0500726..0000000 --- a/lib/classes/packets/OnlineNotification.ts +++ /dev/null @@ -1,54 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class OnlineNotificationPacket implements Packet -{ - name = 'OnlineNotification'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902082; - - AgentBlock: { - AgentID: UUID; - }[]; - - getSize(): number - { - return ((16) * this.AgentBlock.length) + 1; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.AgentBlock.length; - buf.writeUInt8(this.AgentBlock.length, pos++); - for (let i = 0; i < count; i++) - { - this.AgentBlock[i]['AgentID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.AgentBlock = []; - for (let i = 0; i < count; i++) - { - const newObjAgentBlock: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentBlock['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentBlock.push(newObjAgentBlock); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/OpenCircuit.ts b/lib/classes/packets/OpenCircuit.ts deleted file mode 100644 index a9bfffe..0000000 --- a/lib/classes/packets/OpenCircuit.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {IPAddress} from '../IPAddress'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class OpenCircuitPacket implements Packet -{ - name = 'OpenCircuit'; - flags = MessageFlags.Blacklisted | MessageFlags.FrequencyFixed; - id = 4294967292; - - CircuitInfo: { - IP: IPAddress; - Port: number; - }; - - getSize(): number - { - return 6; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.CircuitInfo['IP'].writeToBuffer(buf, pos); - pos += 4; - buf.writeUInt16LE(this.CircuitInfo['Port'], pos); - pos += 2; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjCircuitInfo: { - IP: IPAddress, - Port: number - } = { - IP: IPAddress.zero(), - Port: 0 - }; - newObjCircuitInfo['IP'] = new IPAddress(buf, pos); - pos += 4; - newObjCircuitInfo['Port'] = buf.readUInt16LE(pos); - pos += 2; - this.CircuitInfo = newObjCircuitInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/PacketAck.ts b/lib/classes/packets/PacketAck.ts deleted file mode 100644 index f454d8e..0000000 --- a/lib/classes/packets/PacketAck.ts +++ /dev/null @@ -1,53 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class PacketAckPacket implements Packet -{ - name = 'PacketAck'; - flags = MessageFlags.FrequencyFixed; - id = 4294967291; - - Packets: { - ID: number; - }[]; - - getSize(): number - { - return ((4) * this.Packets.length) + 1; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.Packets.length; - buf.writeUInt8(this.Packets.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.Packets[i]['ID'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.Packets = []; - for (let i = 0; i < count; i++) - { - const newObjPackets: { - ID: number - } = { - ID: 0 - }; - newObjPackets['ID'] = buf.readUInt32LE(pos); - pos += 4; - this.Packets.push(newObjPackets); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelAccessListReply.ts b/lib/classes/packets/ParcelAccessListReply.ts deleted file mode 100644 index dea8af2..0000000 --- a/lib/classes/packets/ParcelAccessListReply.ts +++ /dev/null @@ -1,102 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelAccessListReplyPacket implements Packet -{ - name = 'ParcelAccessListReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901976; - - Data: { - AgentID: UUID; - SequenceID: number; - Flags: number; - LocalID: number; - }; - List: { - ID: UUID; - Time: number; - Flags: number; - }[]; - - getSize(): number - { - return ((24) * this.List.length) + 29; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.Data['AgentID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.Data['SequenceID'], pos); - pos += 4; - buf.writeUInt32LE(this.Data['Flags'], pos); - pos += 4; - buf.writeInt32LE(this.Data['LocalID'], pos); - pos += 4; - const count = this.List.length; - buf.writeUInt8(this.List.length, pos++); - for (let i = 0; i < count; i++) - { - this.List[i]['ID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.List[i]['Time'], pos); - pos += 4; - buf.writeUInt32LE(this.List[i]['Flags'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjData: { - AgentID: UUID, - SequenceID: number, - Flags: number, - LocalID: number - } = { - AgentID: UUID.zero(), - SequenceID: 0, - Flags: 0, - LocalID: 0 - }; - newObjData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjData['SequenceID'] = buf.readInt32LE(pos); - pos += 4; - newObjData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - newObjData['LocalID'] = buf.readInt32LE(pos); - pos += 4; - this.Data = newObjData; - const count = buf.readUInt8(pos++); - this.List = []; - for (let i = 0; i < count; i++) - { - const newObjList: { - ID: UUID, - Time: number, - Flags: number - } = { - ID: UUID.zero(), - Time: 0, - Flags: 0 - }; - newObjList['ID'] = new UUID(buf, pos); - pos += 16; - newObjList['Time'] = buf.readInt32LE(pos); - pos += 4; - newObjList['Flags'] = buf.readUInt32LE(pos); - pos += 4; - this.List.push(newObjList); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelAccessListRequest.ts b/lib/classes/packets/ParcelAccessListRequest.ts deleted file mode 100644 index ac9afa2..0000000 --- a/lib/classes/packets/ParcelAccessListRequest.ts +++ /dev/null @@ -1,78 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelAccessListRequestPacket implements Packet -{ - name = 'ParcelAccessListRequest'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901975; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - SequenceID: number; - Flags: number; - LocalID: number; - }; - - getSize(): number - { - return 44; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.Data['SequenceID'], pos); - pos += 4; - buf.writeUInt32LE(this.Data['Flags'], pos); - pos += 4; - buf.writeInt32LE(this.Data['LocalID'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - SequenceID: number, - Flags: number, - LocalID: number - } = { - SequenceID: 0, - Flags: 0, - LocalID: 0 - }; - newObjData['SequenceID'] = buf.readInt32LE(pos); - pos += 4; - newObjData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - newObjData['LocalID'] = buf.readInt32LE(pos); - pos += 4; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelAccessListUpdate.ts b/lib/classes/packets/ParcelAccessListUpdate.ts deleted file mode 100644 index 02ad5b8..0000000 --- a/lib/classes/packets/ParcelAccessListUpdate.ts +++ /dev/null @@ -1,129 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelAccessListUpdatePacket implements Packet -{ - name = 'ParcelAccessListUpdate'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901977; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - Flags: number; - LocalID: number; - TransactionID: UUID; - SequenceID: number; - Sections: number; - }; - List: { - ID: UUID; - Time: number; - Flags: number; - }[]; - - getSize(): number - { - return ((24) * this.List.length) + 65; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.Data['Flags'], pos); - pos += 4; - buf.writeInt32LE(this.Data['LocalID'], pos); - pos += 4; - this.Data['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.Data['SequenceID'], pos); - pos += 4; - buf.writeInt32LE(this.Data['Sections'], pos); - pos += 4; - const count = this.List.length; - buf.writeUInt8(this.List.length, pos++); - for (let i = 0; i < count; i++) - { - this.List[i]['ID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.List[i]['Time'], pos); - pos += 4; - buf.writeUInt32LE(this.List[i]['Flags'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - Flags: number, - LocalID: number, - TransactionID: UUID, - SequenceID: number, - Sections: number - } = { - Flags: 0, - LocalID: 0, - TransactionID: UUID.zero(), - SequenceID: 0, - Sections: 0 - }; - newObjData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - newObjData['LocalID'] = buf.readInt32LE(pos); - pos += 4; - newObjData['TransactionID'] = new UUID(buf, pos); - pos += 16; - newObjData['SequenceID'] = buf.readInt32LE(pos); - pos += 4; - newObjData['Sections'] = buf.readInt32LE(pos); - pos += 4; - this.Data = newObjData; - const count = buf.readUInt8(pos++); - this.List = []; - for (let i = 0; i < count; i++) - { - const newObjList: { - ID: UUID, - Time: number, - Flags: number - } = { - ID: UUID.zero(), - Time: 0, - Flags: 0 - }; - newObjList['ID'] = new UUID(buf, pos); - pos += 16; - newObjList['Time'] = buf.readInt32LE(pos); - pos += 4; - newObjList['Flags'] = buf.readUInt32LE(pos); - pos += 4; - this.List.push(newObjList); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelAuctions.ts b/lib/classes/packets/ParcelAuctions.ts deleted file mode 100644 index 4e900d0..0000000 --- a/lib/classes/packets/ParcelAuctions.ts +++ /dev/null @@ -1,61 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelAuctionsPacket implements Packet -{ - name = 'ParcelAuctions'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901994; - - ParcelData: { - ParcelID: UUID; - WinnerID: UUID; - }[]; - - getSize(): number - { - return ((32) * this.ParcelData.length) + 1; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.ParcelData.length; - buf.writeUInt8(this.ParcelData.length, pos++); - for (let i = 0; i < count; i++) - { - this.ParcelData[i]['ParcelID'].writeToBuffer(buf, pos); - pos += 16; - this.ParcelData[i]['WinnerID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.ParcelData = []; - for (let i = 0; i < count; i++) - { - const newObjParcelData: { - ParcelID: UUID, - WinnerID: UUID - } = { - ParcelID: UUID.zero(), - WinnerID: UUID.zero() - }; - newObjParcelData['ParcelID'] = new UUID(buf, pos); - pos += 16; - newObjParcelData['WinnerID'] = new UUID(buf, pos); - pos += 16; - this.ParcelData.push(newObjParcelData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelBuy.ts b/lib/classes/packets/ParcelBuy.ts deleted file mode 100644 index 9164985..0000000 --- a/lib/classes/packets/ParcelBuy.ts +++ /dev/null @@ -1,106 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelBuyPacket implements Packet -{ - name = 'ParcelBuy'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901973; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - GroupID: UUID; - IsGroupOwned: boolean; - RemoveContribution: boolean; - LocalID: number; - Final: boolean; - }; - ParcelData: { - Price: number; - Area: number; - }; - - getSize(): number - { - return 63; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.Data['IsGroupOwned']) ? 1 : 0, pos++); - buf.writeUInt8((this.Data['RemoveContribution']) ? 1 : 0, pos++); - buf.writeInt32LE(this.Data['LocalID'], pos); - pos += 4; - buf.writeUInt8((this.Data['Final']) ? 1 : 0, pos++); - buf.writeInt32LE(this.ParcelData['Price'], pos); - pos += 4; - buf.writeInt32LE(this.ParcelData['Area'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - GroupID: UUID, - IsGroupOwned: boolean, - RemoveContribution: boolean, - LocalID: number, - Final: boolean - } = { - GroupID: UUID.zero(), - IsGroupOwned: false, - RemoveContribution: false, - LocalID: 0, - Final: false - }; - newObjData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjData['IsGroupOwned'] = (buf.readUInt8(pos++) === 1); - newObjData['RemoveContribution'] = (buf.readUInt8(pos++) === 1); - newObjData['LocalID'] = buf.readInt32LE(pos); - pos += 4; - newObjData['Final'] = (buf.readUInt8(pos++) === 1); - this.Data = newObjData; - const newObjParcelData: { - Price: number, - Area: number - } = { - Price: 0, - Area: 0 - }; - newObjParcelData['Price'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['Area'] = buf.readInt32LE(pos); - pos += 4; - this.ParcelData = newObjParcelData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelBuyPass.ts b/lib/classes/packets/ParcelBuyPass.ts deleted file mode 100644 index e725e8f..0000000 --- a/lib/classes/packets/ParcelBuyPass.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelBuyPassPacket implements Packet -{ - name = 'ParcelBuyPass'; - flags = MessageFlags.FrequencyLow; - id = 4294901966; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ParcelData: { - LocalID: number; - }; - - getSize(): number - { - return 36; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.ParcelData['LocalID'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjParcelData: { - LocalID: number - } = { - LocalID: 0 - }; - newObjParcelData['LocalID'] = buf.readInt32LE(pos); - pos += 4; - this.ParcelData = newObjParcelData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelClaim.ts b/lib/classes/packets/ParcelClaim.ts deleted file mode 100644 index cb889e5..0000000 --- a/lib/classes/packets/ParcelClaim.ts +++ /dev/null @@ -1,118 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelClaimPacket implements Packet -{ - name = 'ParcelClaim'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901969; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - GroupID: UUID; - IsGroupOwned: boolean; - Final: boolean; - }; - ParcelData: { - West: number; - South: number; - East: number; - North: number; - }[]; - - getSize(): number - { - return ((16) * this.ParcelData.length) + 51; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.Data['IsGroupOwned']) ? 1 : 0, pos++); - buf.writeUInt8((this.Data['Final']) ? 1 : 0, pos++); - const count = this.ParcelData.length; - buf.writeUInt8(this.ParcelData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeFloatLE(this.ParcelData[i]['West'], pos); - pos += 4; - buf.writeFloatLE(this.ParcelData[i]['South'], pos); - pos += 4; - buf.writeFloatLE(this.ParcelData[i]['East'], pos); - pos += 4; - buf.writeFloatLE(this.ParcelData[i]['North'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - GroupID: UUID, - IsGroupOwned: boolean, - Final: boolean - } = { - GroupID: UUID.zero(), - IsGroupOwned: false, - Final: false - }; - newObjData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjData['IsGroupOwned'] = (buf.readUInt8(pos++) === 1); - newObjData['Final'] = (buf.readUInt8(pos++) === 1); - this.Data = newObjData; - const count = buf.readUInt8(pos++); - this.ParcelData = []; - for (let i = 0; i < count; i++) - { - const newObjParcelData: { - West: number, - South: number, - East: number, - North: number - } = { - West: 0, - South: 0, - East: 0, - North: 0 - }; - newObjParcelData['West'] = buf.readFloatLE(pos); - pos += 4; - newObjParcelData['South'] = buf.readFloatLE(pos); - pos += 4; - newObjParcelData['East'] = buf.readFloatLE(pos); - pos += 4; - newObjParcelData['North'] = buf.readFloatLE(pos); - pos += 4; - this.ParcelData.push(newObjParcelData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelDeedToGroup.ts b/lib/classes/packets/ParcelDeedToGroup.ts deleted file mode 100644 index b16933b..0000000 --- a/lib/classes/packets/ParcelDeedToGroup.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelDeedToGroupPacket implements Packet -{ - name = 'ParcelDeedToGroup'; - flags = MessageFlags.FrequencyLow; - id = 4294901967; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - GroupID: UUID; - LocalID: number; - }; - - getSize(): number - { - return 52; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.Data['LocalID'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - GroupID: UUID, - LocalID: number - } = { - GroupID: UUID.zero(), - LocalID: 0 - }; - newObjData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjData['LocalID'] = buf.readInt32LE(pos); - pos += 4; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelDisableObjects.ts b/lib/classes/packets/ParcelDisableObjects.ts deleted file mode 100644 index 8fc7362..0000000 --- a/lib/classes/packets/ParcelDisableObjects.ts +++ /dev/null @@ -1,117 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelDisableObjectsPacket implements Packet -{ - name = 'ParcelDisableObjects'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901961; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ParcelData: { - LocalID: number; - ReturnType: number; - }; - TaskIDs: { - TaskID: UUID; - }[]; - OwnerIDs: { - OwnerID: UUID; - }[]; - - getSize(): number - { - return ((16) * this.TaskIDs.length) + ((16) * this.OwnerIDs.length) + 42; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.ParcelData['LocalID'], pos); - pos += 4; - buf.writeUInt32LE(this.ParcelData['ReturnType'], pos); - pos += 4; - let count = this.TaskIDs.length; - buf.writeUInt8(this.TaskIDs.length, pos++); - for (let i = 0; i < count; i++) - { - this.TaskIDs[i]['TaskID'].writeToBuffer(buf, pos); - pos += 16; - } - count = this.OwnerIDs.length; - buf.writeUInt8(this.OwnerIDs.length, pos++); - for (let i = 0; i < count; i++) - { - this.OwnerIDs[i]['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjParcelData: { - LocalID: number, - ReturnType: number - } = { - LocalID: 0, - ReturnType: 0 - }; - newObjParcelData['LocalID'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['ReturnType'] = buf.readUInt32LE(pos); - pos += 4; - this.ParcelData = newObjParcelData; - let count = buf.readUInt8(pos++); - this.TaskIDs = []; - for (let i = 0; i < count; i++) - { - const newObjTaskIDs: { - TaskID: UUID - } = { - TaskID: UUID.zero() - }; - newObjTaskIDs['TaskID'] = new UUID(buf, pos); - pos += 16; - this.TaskIDs.push(newObjTaskIDs); - } - count = buf.readUInt8(pos++); - this.OwnerIDs = []; - for (let i = 0; i < count; i++) - { - const newObjOwnerIDs: { - OwnerID: UUID - } = { - OwnerID: UUID.zero() - }; - newObjOwnerIDs['OwnerID'] = new UUID(buf, pos); - pos += 16; - this.OwnerIDs.push(newObjOwnerIDs); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelDivide.ts b/lib/classes/packets/ParcelDivide.ts deleted file mode 100644 index d9bea4f..0000000 --- a/lib/classes/packets/ParcelDivide.ts +++ /dev/null @@ -1,85 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelDividePacket implements Packet -{ - name = 'ParcelDivide'; - flags = MessageFlags.FrequencyLow; - id = 4294901971; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ParcelData: { - West: number; - South: number; - East: number; - North: number; - }; - - getSize(): number - { - return 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeFloatLE(this.ParcelData['West'], pos); - pos += 4; - buf.writeFloatLE(this.ParcelData['South'], pos); - pos += 4; - buf.writeFloatLE(this.ParcelData['East'], pos); - pos += 4; - buf.writeFloatLE(this.ParcelData['North'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjParcelData: { - West: number, - South: number, - East: number, - North: number - } = { - West: 0, - South: 0, - East: 0, - North: 0 - }; - newObjParcelData['West'] = buf.readFloatLE(pos); - pos += 4; - newObjParcelData['South'] = buf.readFloatLE(pos); - pos += 4; - newObjParcelData['East'] = buf.readFloatLE(pos); - pos += 4; - newObjParcelData['North'] = buf.readFloatLE(pos); - pos += 4; - this.ParcelData = newObjParcelData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelDwellReply.ts b/lib/classes/packets/ParcelDwellReply.ts deleted file mode 100644 index f545713..0000000 --- a/lib/classes/packets/ParcelDwellReply.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelDwellReplyPacket implements Packet -{ - name = 'ParcelDwellReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901979; - - AgentData: { - AgentID: UUID; - }; - Data: { - LocalID: number; - ParcelID: UUID; - Dwell: number; - }; - - getSize(): number - { - return 40; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.Data['LocalID'], pos); - pos += 4; - this.Data['ParcelID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeFloatLE(this.Data['Dwell'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - LocalID: number, - ParcelID: UUID, - Dwell: number - } = { - LocalID: 0, - ParcelID: UUID.zero(), - Dwell: 0 - }; - newObjData['LocalID'] = buf.readInt32LE(pos); - pos += 4; - newObjData['ParcelID'] = new UUID(buf, pos); - pos += 16; - newObjData['Dwell'] = buf.readFloatLE(pos); - pos += 4; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelDwellRequest.ts b/lib/classes/packets/ParcelDwellRequest.ts deleted file mode 100644 index 96a28e5..0000000 --- a/lib/classes/packets/ParcelDwellRequest.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelDwellRequestPacket implements Packet -{ - name = 'ParcelDwellRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294901978; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - LocalID: number; - ParcelID: UUID; - }; - - getSize(): number - { - return 52; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.Data['LocalID'], pos); - pos += 4; - this.Data['ParcelID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - LocalID: number, - ParcelID: UUID - } = { - LocalID: 0, - ParcelID: UUID.zero() - }; - newObjData['LocalID'] = buf.readInt32LE(pos); - pos += 4; - newObjData['ParcelID'] = new UUID(buf, pos); - pos += 16; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelGodForceOwner.ts b/lib/classes/packets/ParcelGodForceOwner.ts deleted file mode 100644 index 9b0b411..0000000 --- a/lib/classes/packets/ParcelGodForceOwner.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelGodForceOwnerPacket implements Packet -{ - name = 'ParcelGodForceOwner'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901974; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - OwnerID: UUID; - LocalID: number; - }; - - getSize(): number - { - return 52; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.Data['LocalID'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - OwnerID: UUID, - LocalID: number - } = { - OwnerID: UUID.zero(), - LocalID: 0 - }; - newObjData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjData['LocalID'] = buf.readInt32LE(pos); - pos += 4; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelGodMarkAsContent.ts b/lib/classes/packets/ParcelGodMarkAsContent.ts deleted file mode 100644 index 3a1767e..0000000 --- a/lib/classes/packets/ParcelGodMarkAsContent.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelGodMarkAsContentPacket implements Packet -{ - name = 'ParcelGodMarkAsContent'; - flags = MessageFlags.FrequencyLow; - id = 4294901987; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ParcelData: { - LocalID: number; - }; - - getSize(): number - { - return 36; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.ParcelData['LocalID'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjParcelData: { - LocalID: number - } = { - LocalID: 0 - }; - newObjParcelData['LocalID'] = buf.readInt32LE(pos); - pos += 4; - this.ParcelData = newObjParcelData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelInfoReply.ts b/lib/classes/packets/ParcelInfoReply.ts deleted file mode 100644 index 0ea508f..0000000 --- a/lib/classes/packets/ParcelInfoReply.ts +++ /dev/null @@ -1,153 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelInfoReplyPacket implements Packet -{ - name = 'ParcelInfoReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901815; - - AgentData: { - AgentID: UUID; - }; - Data: { - ParcelID: UUID; - OwnerID: UUID; - Name: string; - Desc: string; - ActualArea: number; - BillableArea: number; - Flags: number; - GlobalX: number; - GlobalY: number; - GlobalZ: number; - SimName: string; - SnapshotID: UUID; - Dwell: number; - SalePrice: number; - AuctionID: number; - }; - - getSize(): number - { - return (this.Data['Name'].length + 1 + this.Data['Desc'].length + 1 + this.Data['SimName'].length + 1) + 97; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['ParcelID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.Data['Name'], pos); - pos += this.Data['Name'].length; - buf.write(this.Data['Desc'], pos); - pos += this.Data['Desc'].length; - buf.writeInt32LE(this.Data['ActualArea'], pos); - pos += 4; - buf.writeInt32LE(this.Data['BillableArea'], pos); - pos += 4; - buf.writeUInt8(this.Data['Flags'], pos++); - buf.writeFloatLE(this.Data['GlobalX'], pos); - pos += 4; - buf.writeFloatLE(this.Data['GlobalY'], pos); - pos += 4; - buf.writeFloatLE(this.Data['GlobalZ'], pos); - pos += 4; - buf.write(this.Data['SimName'], pos); - pos += this.Data['SimName'].length; - this.Data['SnapshotID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeFloatLE(this.Data['Dwell'], pos); - pos += 4; - buf.writeInt32LE(this.Data['SalePrice'], pos); - pos += 4; - buf.writeInt32LE(this.Data['AuctionID'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - ParcelID: UUID, - OwnerID: UUID, - Name: string, - Desc: string, - ActualArea: number, - BillableArea: number, - Flags: number, - GlobalX: number, - GlobalY: number, - GlobalZ: number, - SimName: string, - SnapshotID: UUID, - Dwell: number, - SalePrice: number, - AuctionID: number - } = { - ParcelID: UUID.zero(), - OwnerID: UUID.zero(), - Name: '', - Desc: '', - ActualArea: 0, - BillableArea: 0, - Flags: 0, - GlobalX: 0, - GlobalY: 0, - GlobalZ: 0, - SimName: '', - SnapshotID: UUID.zero(), - Dwell: 0, - SalePrice: 0, - AuctionID: 0 - }; - newObjData['ParcelID'] = new UUID(buf, pos); - pos += 16; - newObjData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['Desc'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['ActualArea'] = buf.readInt32LE(pos); - pos += 4; - newObjData['BillableArea'] = buf.readInt32LE(pos); - pos += 4; - newObjData['Flags'] = buf.readUInt8(pos++); - newObjData['GlobalX'] = buf.readFloatLE(pos); - pos += 4; - newObjData['GlobalY'] = buf.readFloatLE(pos); - pos += 4; - newObjData['GlobalZ'] = buf.readFloatLE(pos); - pos += 4; - newObjData['SimName'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['SnapshotID'] = new UUID(buf, pos); - pos += 16; - newObjData['Dwell'] = buf.readFloatLE(pos); - pos += 4; - newObjData['SalePrice'] = buf.readInt32LE(pos); - pos += 4; - newObjData['AuctionID'] = buf.readInt32LE(pos); - pos += 4; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelInfoRequest.ts b/lib/classes/packets/ParcelInfoRequest.ts deleted file mode 100644 index cad1adb..0000000 --- a/lib/classes/packets/ParcelInfoRequest.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelInfoRequestPacket implements Packet -{ - name = 'ParcelInfoRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294901814; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - ParcelID: UUID; - }; - - getSize(): number - { - return 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['ParcelID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - ParcelID: UUID - } = { - ParcelID: UUID.zero() - }; - newObjData['ParcelID'] = new UUID(buf, pos); - pos += 16; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelJoin.ts b/lib/classes/packets/ParcelJoin.ts deleted file mode 100644 index 07e0211..0000000 --- a/lib/classes/packets/ParcelJoin.ts +++ /dev/null @@ -1,85 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelJoinPacket implements Packet -{ - name = 'ParcelJoin'; - flags = MessageFlags.FrequencyLow; - id = 4294901970; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ParcelData: { - West: number; - South: number; - East: number; - North: number; - }; - - getSize(): number - { - return 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeFloatLE(this.ParcelData['West'], pos); - pos += 4; - buf.writeFloatLE(this.ParcelData['South'], pos); - pos += 4; - buf.writeFloatLE(this.ParcelData['East'], pos); - pos += 4; - buf.writeFloatLE(this.ParcelData['North'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjParcelData: { - West: number, - South: number, - East: number, - North: number - } = { - West: 0, - South: 0, - East: 0, - North: 0 - }; - newObjParcelData['West'] = buf.readFloatLE(pos); - pos += 4; - newObjParcelData['South'] = buf.readFloatLE(pos); - pos += 4; - newObjParcelData['East'] = buf.readFloatLE(pos); - pos += 4; - newObjParcelData['North'] = buf.readFloatLE(pos); - pos += 4; - this.ParcelData = newObjParcelData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelMediaCommandMessage.ts b/lib/classes/packets/ParcelMediaCommandMessage.ts deleted file mode 100644 index 874e9c2..0000000 --- a/lib/classes/packets/ParcelMediaCommandMessage.ts +++ /dev/null @@ -1,57 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelMediaCommandMessagePacket implements Packet -{ - name = 'ParcelMediaCommandMessage'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902179; - - CommandBlock: { - Flags: number; - Command: number; - Time: number; - }; - - getSize(): number - { - return 12; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeUInt32LE(this.CommandBlock['Flags'], pos); - pos += 4; - buf.writeUInt32LE(this.CommandBlock['Command'], pos); - pos += 4; - buf.writeFloatLE(this.CommandBlock['Time'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjCommandBlock: { - Flags: number, - Command: number, - Time: number - } = { - Flags: 0, - Command: 0, - Time: 0 - }; - newObjCommandBlock['Flags'] = buf.readUInt32LE(pos); - pos += 4; - newObjCommandBlock['Command'] = buf.readUInt32LE(pos); - pos += 4; - newObjCommandBlock['Time'] = buf.readFloatLE(pos); - pos += 4; - this.CommandBlock = newObjCommandBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelMediaUpdate.ts b/lib/classes/packets/ParcelMediaUpdate.ts deleted file mode 100644 index ca94d75..0000000 --- a/lib/classes/packets/ParcelMediaUpdate.ts +++ /dev/null @@ -1,95 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelMediaUpdatePacket implements Packet -{ - name = 'ParcelMediaUpdate'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902180; - - DataBlock: { - MediaURL: string; - MediaID: UUID; - MediaAutoScale: number; - }; - DataBlockExtended: { - MediaType: string; - MediaDesc: string; - MediaWidth: number; - MediaHeight: number; - MediaLoop: number; - }; - - getSize(): number - { - return (this.DataBlock['MediaURL'].length + 1) + (this.DataBlockExtended['MediaType'].length + 1 + this.DataBlockExtended['MediaDesc'].length + 1) + 26; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.write(this.DataBlock['MediaURL'], pos); - pos += this.DataBlock['MediaURL'].length; - this.DataBlock['MediaID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.DataBlock['MediaAutoScale'], pos++); - buf.write(this.DataBlockExtended['MediaType'], pos); - pos += this.DataBlockExtended['MediaType'].length; - buf.write(this.DataBlockExtended['MediaDesc'], pos); - pos += this.DataBlockExtended['MediaDesc'].length; - buf.writeInt32LE(this.DataBlockExtended['MediaWidth'], pos); - pos += 4; - buf.writeInt32LE(this.DataBlockExtended['MediaHeight'], pos); - pos += 4; - buf.writeUInt8(this.DataBlockExtended['MediaLoop'], pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjDataBlock: { - MediaURL: string, - MediaID: UUID, - MediaAutoScale: number - } = { - MediaURL: '', - MediaID: UUID.zero(), - MediaAutoScale: 0 - }; - newObjDataBlock['MediaURL'] = buf.toString('utf8', pos, length); - pos += length; - newObjDataBlock['MediaID'] = new UUID(buf, pos); - pos += 16; - newObjDataBlock['MediaAutoScale'] = buf.readUInt8(pos++); - this.DataBlock = newObjDataBlock; - const newObjDataBlockExtended: { - MediaType: string, - MediaDesc: string, - MediaWidth: number, - MediaHeight: number, - MediaLoop: number - } = { - MediaType: '', - MediaDesc: '', - MediaWidth: 0, - MediaHeight: 0, - MediaLoop: 0 - }; - newObjDataBlockExtended['MediaType'] = buf.toString('utf8', pos, length); - pos += length; - newObjDataBlockExtended['MediaDesc'] = buf.toString('utf8', pos, length); - pos += length; - newObjDataBlockExtended['MediaWidth'] = buf.readInt32LE(pos); - pos += 4; - newObjDataBlockExtended['MediaHeight'] = buf.readInt32LE(pos); - pos += 4; - newObjDataBlockExtended['MediaLoop'] = buf.readUInt8(pos++); - this.DataBlockExtended = newObjDataBlockExtended; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelObjectOwnersReply.ts b/lib/classes/packets/ParcelObjectOwnersReply.ts deleted file mode 100644 index c72b933..0000000 --- a/lib/classes/packets/ParcelObjectOwnersReply.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelObjectOwnersReplyPacket implements Packet -{ - name = 'ParcelObjectOwnersReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyLow; - id = 4294901817; - - Data: { - OwnerID: UUID; - IsGroupOwned: boolean; - Count: number; - OnlineStatus: boolean; - }[]; - - getSize(): number - { - return ((22) * this.Data.length) + 1; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.Data.length; - buf.writeUInt8(this.Data.length, pos++); - for (let i = 0; i < count; i++) - { - this.Data[i]['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.Data[i]['IsGroupOwned']) ? 1 : 0, pos++); - buf.writeInt32LE(this.Data[i]['Count'], pos); - pos += 4; - buf.writeUInt8((this.Data[i]['OnlineStatus']) ? 1 : 0, pos++); - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.Data = []; - for (let i = 0; i < count; i++) - { - const newObjData: { - OwnerID: UUID, - IsGroupOwned: boolean, - Count: number, - OnlineStatus: boolean - } = { - OwnerID: UUID.zero(), - IsGroupOwned: false, - Count: 0, - OnlineStatus: false - }; - newObjData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjData['IsGroupOwned'] = (buf.readUInt8(pos++) === 1); - newObjData['Count'] = buf.readInt32LE(pos); - pos += 4; - newObjData['OnlineStatus'] = (buf.readUInt8(pos++) === 1); - this.Data.push(newObjData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelObjectOwnersRequest.ts b/lib/classes/packets/ParcelObjectOwnersRequest.ts deleted file mode 100644 index e580b3a..0000000 --- a/lib/classes/packets/ParcelObjectOwnersRequest.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelObjectOwnersRequestPacket implements Packet -{ - name = 'ParcelObjectOwnersRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294901816; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ParcelData: { - LocalID: number; - }; - - getSize(): number - { - return 36; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.ParcelData['LocalID'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjParcelData: { - LocalID: number - } = { - LocalID: 0 - }; - newObjParcelData['LocalID'] = buf.readInt32LE(pos); - pos += 4; - this.ParcelData = newObjParcelData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelOverlay.ts b/lib/classes/packets/ParcelOverlay.ts deleted file mode 100644 index 643b916..0000000 --- a/lib/classes/packets/ParcelOverlay.ts +++ /dev/null @@ -1,50 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelOverlayPacket implements Packet -{ - name = 'ParcelOverlay'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901956; - - ParcelData: { - SequenceID: number; - Data: string; - }; - - getSize(): number - { - return (this.ParcelData['Data'].length + 2) + 4; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeInt32LE(this.ParcelData['SequenceID'], pos); - pos += 4; - buf.write(this.ParcelData['Data'], pos); - pos += this.ParcelData['Data'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjParcelData: { - SequenceID: number, - Data: string - } = { - SequenceID: 0, - Data: '' - }; - newObjParcelData['SequenceID'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['Data'] = buf.toString('utf8', pos, length); - pos += length; - this.ParcelData = newObjParcelData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelProperties.ts b/lib/classes/packets/ParcelProperties.ts deleted file mode 100644 index 71e09d4..0000000 --- a/lib/classes/packets/ParcelProperties.ts +++ /dev/null @@ -1,383 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelPropertiesPacket implements Packet -{ - name = 'ParcelProperties'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyHigh; - id = 23; - - ParcelData: { - RequestResult: number; - SequenceID: number; - SnapSelection: boolean; - SelfCount: number; - OtherCount: number; - PublicCount: number; - LocalID: number; - OwnerID: UUID; - IsGroupOwned: boolean; - AuctionID: number; - ClaimDate: number; - ClaimPrice: number; - RentPrice: number; - AABBMin: Vector3; - AABBMax: Vector3; - Bitmap: string; - Area: number; - Status: number; - SimWideMaxPrims: number; - SimWideTotalPrims: number; - MaxPrims: number; - TotalPrims: number; - OwnerPrims: number; - GroupPrims: number; - OtherPrims: number; - SelectedPrims: number; - ParcelPrimBonus: number; - OtherCleanTime: number; - ParcelFlags: number; - SalePrice: number; - Name: string; - Desc: string; - MusicURL: string; - MediaURL: string; - MediaID: UUID; - MediaAutoScale: number; - GroupID: UUID; - PassPrice: number; - PassHours: number; - Category: number; - AuthBuyerID: UUID; - SnapshotID: UUID; - UserLocation: Vector3; - UserLookAt: Vector3; - LandingType: number; - RegionPushOverride: boolean; - RegionDenyAnonymous: boolean; - RegionDenyIdentified: boolean; - RegionDenyTransacted: boolean; - }; - AgeVerificationBlock: { - RegionDenyAgeUnverified: boolean; - }; - RegionAllowAccessBlock: { - RegionAllowAccessOverride: boolean; - }; - - getSize(): number - { - return (this.ParcelData['Bitmap'].length + 2 + this.ParcelData['Name'].length + 1 + this.ParcelData['Desc'].length + 1 + this.ParcelData['MusicURL'].length + 1 + this.ParcelData['MediaURL'].length + 1) + 240; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeInt32LE(this.ParcelData['RequestResult'], pos); - pos += 4; - buf.writeInt32LE(this.ParcelData['SequenceID'], pos); - pos += 4; - buf.writeUInt8((this.ParcelData['SnapSelection']) ? 1 : 0, pos++); - buf.writeInt32LE(this.ParcelData['SelfCount'], pos); - pos += 4; - buf.writeInt32LE(this.ParcelData['OtherCount'], pos); - pos += 4; - buf.writeInt32LE(this.ParcelData['PublicCount'], pos); - pos += 4; - buf.writeInt32LE(this.ParcelData['LocalID'], pos); - pos += 4; - this.ParcelData['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.ParcelData['IsGroupOwned']) ? 1 : 0, pos++); - buf.writeUInt32LE(this.ParcelData['AuctionID'], pos); - pos += 4; - buf.writeInt32LE(this.ParcelData['ClaimDate'], pos); - pos += 4; - buf.writeInt32LE(this.ParcelData['ClaimPrice'], pos); - pos += 4; - buf.writeInt32LE(this.ParcelData['RentPrice'], pos); - pos += 4; - this.ParcelData['AABBMin'].writeToBuffer(buf, pos, false); - pos += 12; - this.ParcelData['AABBMax'].writeToBuffer(buf, pos, false); - pos += 12; - buf.write(this.ParcelData['Bitmap'], pos); - pos += this.ParcelData['Bitmap'].length; - buf.writeInt32LE(this.ParcelData['Area'], pos); - pos += 4; - buf.writeUInt8(this.ParcelData['Status'], pos++); - buf.writeInt32LE(this.ParcelData['SimWideMaxPrims'], pos); - pos += 4; - buf.writeInt32LE(this.ParcelData['SimWideTotalPrims'], pos); - pos += 4; - buf.writeInt32LE(this.ParcelData['MaxPrims'], pos); - pos += 4; - buf.writeInt32LE(this.ParcelData['TotalPrims'], pos); - pos += 4; - buf.writeInt32LE(this.ParcelData['OwnerPrims'], pos); - pos += 4; - buf.writeInt32LE(this.ParcelData['GroupPrims'], pos); - pos += 4; - buf.writeInt32LE(this.ParcelData['OtherPrims'], pos); - pos += 4; - buf.writeInt32LE(this.ParcelData['SelectedPrims'], pos); - pos += 4; - buf.writeFloatLE(this.ParcelData['ParcelPrimBonus'], pos); - pos += 4; - buf.writeInt32LE(this.ParcelData['OtherCleanTime'], pos); - pos += 4; - buf.writeUInt32LE(this.ParcelData['ParcelFlags'], pos); - pos += 4; - buf.writeInt32LE(this.ParcelData['SalePrice'], pos); - pos += 4; - buf.write(this.ParcelData['Name'], pos); - pos += this.ParcelData['Name'].length; - buf.write(this.ParcelData['Desc'], pos); - pos += this.ParcelData['Desc'].length; - buf.write(this.ParcelData['MusicURL'], pos); - pos += this.ParcelData['MusicURL'].length; - buf.write(this.ParcelData['MediaURL'], pos); - pos += this.ParcelData['MediaURL'].length; - this.ParcelData['MediaID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.ParcelData['MediaAutoScale'], pos++); - this.ParcelData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.ParcelData['PassPrice'], pos); - pos += 4; - buf.writeFloatLE(this.ParcelData['PassHours'], pos); - pos += 4; - buf.writeUInt8(this.ParcelData['Category'], pos++); - this.ParcelData['AuthBuyerID'].writeToBuffer(buf, pos); - pos += 16; - this.ParcelData['SnapshotID'].writeToBuffer(buf, pos); - pos += 16; - this.ParcelData['UserLocation'].writeToBuffer(buf, pos, false); - pos += 12; - this.ParcelData['UserLookAt'].writeToBuffer(buf, pos, false); - pos += 12; - buf.writeUInt8(this.ParcelData['LandingType'], pos++); - buf.writeUInt8((this.ParcelData['RegionPushOverride']) ? 1 : 0, pos++); - buf.writeUInt8((this.ParcelData['RegionDenyAnonymous']) ? 1 : 0, pos++); - buf.writeUInt8((this.ParcelData['RegionDenyIdentified']) ? 1 : 0, pos++); - buf.writeUInt8((this.ParcelData['RegionDenyTransacted']) ? 1 : 0, pos++); - buf.writeUInt8((this.AgeVerificationBlock['RegionDenyAgeUnverified']) ? 1 : 0, pos++); - buf.writeUInt8((this.RegionAllowAccessBlock['RegionAllowAccessOverride']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjParcelData: { - RequestResult: number, - SequenceID: number, - SnapSelection: boolean, - SelfCount: number, - OtherCount: number, - PublicCount: number, - LocalID: number, - OwnerID: UUID, - IsGroupOwned: boolean, - AuctionID: number, - ClaimDate: number, - ClaimPrice: number, - RentPrice: number, - AABBMin: Vector3, - AABBMax: Vector3, - Bitmap: string, - Area: number, - Status: number, - SimWideMaxPrims: number, - SimWideTotalPrims: number, - MaxPrims: number, - TotalPrims: number, - OwnerPrims: number, - GroupPrims: number, - OtherPrims: number, - SelectedPrims: number, - ParcelPrimBonus: number, - OtherCleanTime: number, - ParcelFlags: number, - SalePrice: number, - Name: string, - Desc: string, - MusicURL: string, - MediaURL: string, - MediaID: UUID, - MediaAutoScale: number, - GroupID: UUID, - PassPrice: number, - PassHours: number, - Category: number, - AuthBuyerID: UUID, - SnapshotID: UUID, - UserLocation: Vector3, - UserLookAt: Vector3, - LandingType: number, - RegionPushOverride: boolean, - RegionDenyAnonymous: boolean, - RegionDenyIdentified: boolean, - RegionDenyTransacted: boolean - } = { - RequestResult: 0, - SequenceID: 0, - SnapSelection: false, - SelfCount: 0, - OtherCount: 0, - PublicCount: 0, - LocalID: 0, - OwnerID: UUID.zero(), - IsGroupOwned: false, - AuctionID: 0, - ClaimDate: 0, - ClaimPrice: 0, - RentPrice: 0, - AABBMin: Vector3.getZero(), - AABBMax: Vector3.getZero(), - Bitmap: '', - Area: 0, - Status: 0, - SimWideMaxPrims: 0, - SimWideTotalPrims: 0, - MaxPrims: 0, - TotalPrims: 0, - OwnerPrims: 0, - GroupPrims: 0, - OtherPrims: 0, - SelectedPrims: 0, - ParcelPrimBonus: 0, - OtherCleanTime: 0, - ParcelFlags: 0, - SalePrice: 0, - Name: '', - Desc: '', - MusicURL: '', - MediaURL: '', - MediaID: UUID.zero(), - MediaAutoScale: 0, - GroupID: UUID.zero(), - PassPrice: 0, - PassHours: 0, - Category: 0, - AuthBuyerID: UUID.zero(), - SnapshotID: UUID.zero(), - UserLocation: Vector3.getZero(), - UserLookAt: Vector3.getZero(), - LandingType: 0, - RegionPushOverride: false, - RegionDenyAnonymous: false, - RegionDenyIdentified: false, - RegionDenyTransacted: false - }; - newObjParcelData['RequestResult'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['SequenceID'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['SnapSelection'] = (buf.readUInt8(pos++) === 1); - newObjParcelData['SelfCount'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['OtherCount'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['PublicCount'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['LocalID'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjParcelData['IsGroupOwned'] = (buf.readUInt8(pos++) === 1); - newObjParcelData['AuctionID'] = buf.readUInt32LE(pos); - pos += 4; - newObjParcelData['ClaimDate'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['ClaimPrice'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['RentPrice'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['AABBMin'] = new Vector3(buf, pos, false); - pos += 12; - newObjParcelData['AABBMax'] = new Vector3(buf, pos, false); - pos += 12; - newObjParcelData['Bitmap'] = buf.toString('utf8', pos, length); - pos += length; - newObjParcelData['Area'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['Status'] = buf.readUInt8(pos++); - newObjParcelData['SimWideMaxPrims'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['SimWideTotalPrims'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['MaxPrims'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['TotalPrims'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['OwnerPrims'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['GroupPrims'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['OtherPrims'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['SelectedPrims'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['ParcelPrimBonus'] = buf.readFloatLE(pos); - pos += 4; - newObjParcelData['OtherCleanTime'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['ParcelFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjParcelData['SalePrice'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjParcelData['Desc'] = buf.toString('utf8', pos, length); - pos += length; - newObjParcelData['MusicURL'] = buf.toString('utf8', pos, length); - pos += length; - newObjParcelData['MediaURL'] = buf.toString('utf8', pos, length); - pos += length; - newObjParcelData['MediaID'] = new UUID(buf, pos); - pos += 16; - newObjParcelData['MediaAutoScale'] = buf.readUInt8(pos++); - newObjParcelData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjParcelData['PassPrice'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['PassHours'] = buf.readFloatLE(pos); - pos += 4; - newObjParcelData['Category'] = buf.readUInt8(pos++); - newObjParcelData['AuthBuyerID'] = new UUID(buf, pos); - pos += 16; - newObjParcelData['SnapshotID'] = new UUID(buf, pos); - pos += 16; - newObjParcelData['UserLocation'] = new Vector3(buf, pos, false); - pos += 12; - newObjParcelData['UserLookAt'] = new Vector3(buf, pos, false); - pos += 12; - newObjParcelData['LandingType'] = buf.readUInt8(pos++); - newObjParcelData['RegionPushOverride'] = (buf.readUInt8(pos++) === 1); - newObjParcelData['RegionDenyAnonymous'] = (buf.readUInt8(pos++) === 1); - newObjParcelData['RegionDenyIdentified'] = (buf.readUInt8(pos++) === 1); - newObjParcelData['RegionDenyTransacted'] = (buf.readUInt8(pos++) === 1); - this.ParcelData = newObjParcelData; - const newObjAgeVerificationBlock: { - RegionDenyAgeUnverified: boolean - } = { - RegionDenyAgeUnverified: false - }; - newObjAgeVerificationBlock['RegionDenyAgeUnverified'] = (buf.readUInt8(pos++) === 1); - this.AgeVerificationBlock = newObjAgeVerificationBlock; - const newObjRegionAllowAccessBlock: { - RegionAllowAccessOverride: boolean - } = { - RegionAllowAccessOverride: false - }; - newObjRegionAllowAccessBlock['RegionAllowAccessOverride'] = (buf.readUInt8(pos++) === 1); - this.RegionAllowAccessBlock = newObjRegionAllowAccessBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelPropertiesRequest.ts b/lib/classes/packets/ParcelPropertiesRequest.ts deleted file mode 100644 index 768bb29..0000000 --- a/lib/classes/packets/ParcelPropertiesRequest.ts +++ /dev/null @@ -1,97 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelPropertiesRequestPacket implements Packet -{ - name = 'ParcelPropertiesRequest'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyMedium; - id = 65291; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ParcelData: { - SequenceID: number; - West: number; - South: number; - East: number; - North: number; - SnapSelection: boolean; - }; - - getSize(): number - { - return 53; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.ParcelData['SequenceID'], pos); - pos += 4; - buf.writeFloatLE(this.ParcelData['West'], pos); - pos += 4; - buf.writeFloatLE(this.ParcelData['South'], pos); - pos += 4; - buf.writeFloatLE(this.ParcelData['East'], pos); - pos += 4; - buf.writeFloatLE(this.ParcelData['North'], pos); - pos += 4; - buf.writeUInt8((this.ParcelData['SnapSelection']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjParcelData: { - SequenceID: number, - West: number, - South: number, - East: number, - North: number, - SnapSelection: boolean - } = { - SequenceID: 0, - West: 0, - South: 0, - East: 0, - North: 0, - SnapSelection: false - }; - newObjParcelData['SequenceID'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['West'] = buf.readFloatLE(pos); - pos += 4; - newObjParcelData['South'] = buf.readFloatLE(pos); - pos += 4; - newObjParcelData['East'] = buf.readFloatLE(pos); - pos += 4; - newObjParcelData['North'] = buf.readFloatLE(pos); - pos += 4; - newObjParcelData['SnapSelection'] = (buf.readUInt8(pos++) === 1); - this.ParcelData = newObjParcelData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelPropertiesRequestByID.ts b/lib/classes/packets/ParcelPropertiesRequestByID.ts deleted file mode 100644 index 4b0aedd..0000000 --- a/lib/classes/packets/ParcelPropertiesRequestByID.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelPropertiesRequestByIDPacket implements Packet -{ - name = 'ParcelPropertiesRequestByID'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901957; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ParcelData: { - SequenceID: number; - LocalID: number; - }; - - getSize(): number - { - return 40; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.ParcelData['SequenceID'], pos); - pos += 4; - buf.writeInt32LE(this.ParcelData['LocalID'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjParcelData: { - SequenceID: number, - LocalID: number - } = { - SequenceID: 0, - LocalID: 0 - }; - newObjParcelData['SequenceID'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['LocalID'] = buf.readInt32LE(pos); - pos += 4; - this.ParcelData = newObjParcelData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelPropertiesUpdate.ts b/lib/classes/packets/ParcelPropertiesUpdate.ts deleted file mode 100644 index e754654..0000000 --- a/lib/classes/packets/ParcelPropertiesUpdate.ts +++ /dev/null @@ -1,185 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelPropertiesUpdatePacket implements Packet -{ - name = 'ParcelPropertiesUpdate'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901958; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ParcelData: { - LocalID: number; - Flags: number; - ParcelFlags: number; - SalePrice: number; - Name: string; - Desc: string; - MusicURL: string; - MediaURL: string; - MediaID: UUID; - MediaAutoScale: number; - GroupID: UUID; - PassPrice: number; - PassHours: number; - Category: number; - AuthBuyerID: UUID; - SnapshotID: UUID; - UserLocation: Vector3; - UserLookAt: Vector3; - LandingType: number; - }; - - getSize(): number - { - return (this.ParcelData['Name'].length + 1 + this.ParcelData['Desc'].length + 1 + this.ParcelData['MusicURL'].length + 1 + this.ParcelData['MediaURL'].length + 1) + 147; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.ParcelData['LocalID'], pos); - pos += 4; - buf.writeUInt32LE(this.ParcelData['Flags'], pos); - pos += 4; - buf.writeUInt32LE(this.ParcelData['ParcelFlags'], pos); - pos += 4; - buf.writeInt32LE(this.ParcelData['SalePrice'], pos); - pos += 4; - buf.write(this.ParcelData['Name'], pos); - pos += this.ParcelData['Name'].length; - buf.write(this.ParcelData['Desc'], pos); - pos += this.ParcelData['Desc'].length; - buf.write(this.ParcelData['MusicURL'], pos); - pos += this.ParcelData['MusicURL'].length; - buf.write(this.ParcelData['MediaURL'], pos); - pos += this.ParcelData['MediaURL'].length; - this.ParcelData['MediaID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.ParcelData['MediaAutoScale'], pos++); - this.ParcelData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.ParcelData['PassPrice'], pos); - pos += 4; - buf.writeFloatLE(this.ParcelData['PassHours'], pos); - pos += 4; - buf.writeUInt8(this.ParcelData['Category'], pos++); - this.ParcelData['AuthBuyerID'].writeToBuffer(buf, pos); - pos += 16; - this.ParcelData['SnapshotID'].writeToBuffer(buf, pos); - pos += 16; - this.ParcelData['UserLocation'].writeToBuffer(buf, pos, false); - pos += 12; - this.ParcelData['UserLookAt'].writeToBuffer(buf, pos, false); - pos += 12; - buf.writeUInt8(this.ParcelData['LandingType'], pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjParcelData: { - LocalID: number, - Flags: number, - ParcelFlags: number, - SalePrice: number, - Name: string, - Desc: string, - MusicURL: string, - MediaURL: string, - MediaID: UUID, - MediaAutoScale: number, - GroupID: UUID, - PassPrice: number, - PassHours: number, - Category: number, - AuthBuyerID: UUID, - SnapshotID: UUID, - UserLocation: Vector3, - UserLookAt: Vector3, - LandingType: number - } = { - LocalID: 0, - Flags: 0, - ParcelFlags: 0, - SalePrice: 0, - Name: '', - Desc: '', - MusicURL: '', - MediaURL: '', - MediaID: UUID.zero(), - MediaAutoScale: 0, - GroupID: UUID.zero(), - PassPrice: 0, - PassHours: 0, - Category: 0, - AuthBuyerID: UUID.zero(), - SnapshotID: UUID.zero(), - UserLocation: Vector3.getZero(), - UserLookAt: Vector3.getZero(), - LandingType: 0 - }; - newObjParcelData['LocalID'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - newObjParcelData['ParcelFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjParcelData['SalePrice'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjParcelData['Desc'] = buf.toString('utf8', pos, length); - pos += length; - newObjParcelData['MusicURL'] = buf.toString('utf8', pos, length); - pos += length; - newObjParcelData['MediaURL'] = buf.toString('utf8', pos, length); - pos += length; - newObjParcelData['MediaID'] = new UUID(buf, pos); - pos += 16; - newObjParcelData['MediaAutoScale'] = buf.readUInt8(pos++); - newObjParcelData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjParcelData['PassPrice'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['PassHours'] = buf.readFloatLE(pos); - pos += 4; - newObjParcelData['Category'] = buf.readUInt8(pos++); - newObjParcelData['AuthBuyerID'] = new UUID(buf, pos); - pos += 16; - newObjParcelData['SnapshotID'] = new UUID(buf, pos); - pos += 16; - newObjParcelData['UserLocation'] = new Vector3(buf, pos, false); - pos += 12; - newObjParcelData['UserLookAt'] = new Vector3(buf, pos, false); - pos += 12; - newObjParcelData['LandingType'] = buf.readUInt8(pos++); - this.ParcelData = newObjParcelData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelReclaim.ts b/lib/classes/packets/ParcelReclaim.ts deleted file mode 100644 index 1496274..0000000 --- a/lib/classes/packets/ParcelReclaim.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelReclaimPacket implements Packet -{ - name = 'ParcelReclaim'; - flags = MessageFlags.FrequencyLow; - id = 4294901968; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - LocalID: number; - }; - - getSize(): number - { - return 36; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.Data['LocalID'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - LocalID: number - } = { - LocalID: 0 - }; - newObjData['LocalID'] = buf.readInt32LE(pos); - pos += 4; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelRelease.ts b/lib/classes/packets/ParcelRelease.ts deleted file mode 100644 index f004c9a..0000000 --- a/lib/classes/packets/ParcelRelease.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelReleasePacket implements Packet -{ - name = 'ParcelRelease'; - flags = MessageFlags.FrequencyLow; - id = 4294901972; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - LocalID: number; - }; - - getSize(): number - { - return 36; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.Data['LocalID'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - LocalID: number - } = { - LocalID: 0 - }; - newObjData['LocalID'] = buf.readInt32LE(pos); - pos += 4; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelRename.ts b/lib/classes/packets/ParcelRename.ts deleted file mode 100644 index b520fb3..0000000 --- a/lib/classes/packets/ParcelRename.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelRenamePacket implements Packet -{ - name = 'ParcelRename'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902162; - - ParcelData: { - ParcelID: UUID; - NewName: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.ParcelData, 'NewName', 1) + 16) * this.ParcelData.length) + 1; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.ParcelData.length; - buf.writeUInt8(this.ParcelData.length, pos++); - for (let i = 0; i < count; i++) - { - this.ParcelData[i]['ParcelID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.ParcelData[i]['NewName'], pos); - pos += this.ParcelData[i]['NewName'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.ParcelData = []; - for (let i = 0; i < count; i++) - { - const newObjParcelData: { - ParcelID: UUID, - NewName: string - } = { - ParcelID: UUID.zero(), - NewName: '' - }; - newObjParcelData['ParcelID'] = new UUID(buf, pos); - pos += 16; - newObjParcelData['NewName'] = buf.toString('utf8', pos, length); - pos += length; - this.ParcelData.push(newObjParcelData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelReturnObjects.ts b/lib/classes/packets/ParcelReturnObjects.ts deleted file mode 100644 index fb1b639..0000000 --- a/lib/classes/packets/ParcelReturnObjects.ts +++ /dev/null @@ -1,117 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelReturnObjectsPacket implements Packet -{ - name = 'ParcelReturnObjects'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901959; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ParcelData: { - LocalID: number; - ReturnType: number; - }; - TaskIDs: { - TaskID: UUID; - }[]; - OwnerIDs: { - OwnerID: UUID; - }[]; - - getSize(): number - { - return ((16) * this.TaskIDs.length) + ((16) * this.OwnerIDs.length) + 42; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.ParcelData['LocalID'], pos); - pos += 4; - buf.writeUInt32LE(this.ParcelData['ReturnType'], pos); - pos += 4; - let count = this.TaskIDs.length; - buf.writeUInt8(this.TaskIDs.length, pos++); - for (let i = 0; i < count; i++) - { - this.TaskIDs[i]['TaskID'].writeToBuffer(buf, pos); - pos += 16; - } - count = this.OwnerIDs.length; - buf.writeUInt8(this.OwnerIDs.length, pos++); - for (let i = 0; i < count; i++) - { - this.OwnerIDs[i]['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjParcelData: { - LocalID: number, - ReturnType: number - } = { - LocalID: 0, - ReturnType: 0 - }; - newObjParcelData['LocalID'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['ReturnType'] = buf.readUInt32LE(pos); - pos += 4; - this.ParcelData = newObjParcelData; - let count = buf.readUInt8(pos++); - this.TaskIDs = []; - for (let i = 0; i < count; i++) - { - const newObjTaskIDs: { - TaskID: UUID - } = { - TaskID: UUID.zero() - }; - newObjTaskIDs['TaskID'] = new UUID(buf, pos); - pos += 16; - this.TaskIDs.push(newObjTaskIDs); - } - count = buf.readUInt8(pos++); - this.OwnerIDs = []; - for (let i = 0; i < count; i++) - { - const newObjOwnerIDs: { - OwnerID: UUID - } = { - OwnerID: UUID.zero() - }; - newObjOwnerIDs['OwnerID'] = new UUID(buf, pos); - pos += 16; - this.OwnerIDs.push(newObjOwnerIDs); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelSales.ts b/lib/classes/packets/ParcelSales.ts deleted file mode 100644 index ce77e14..0000000 --- a/lib/classes/packets/ParcelSales.ts +++ /dev/null @@ -1,61 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelSalesPacket implements Packet -{ - name = 'ParcelSales'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901986; - - ParcelData: { - ParcelID: UUID; - BuyerID: UUID; - }[]; - - getSize(): number - { - return ((32) * this.ParcelData.length) + 1; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.ParcelData.length; - buf.writeUInt8(this.ParcelData.length, pos++); - for (let i = 0; i < count; i++) - { - this.ParcelData[i]['ParcelID'].writeToBuffer(buf, pos); - pos += 16; - this.ParcelData[i]['BuyerID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.ParcelData = []; - for (let i = 0; i < count; i++) - { - const newObjParcelData: { - ParcelID: UUID, - BuyerID: UUID - } = { - ParcelID: UUID.zero(), - BuyerID: UUID.zero() - }; - newObjParcelData['ParcelID'] = new UUID(buf, pos); - pos += 16; - newObjParcelData['BuyerID'] = new UUID(buf, pos); - pos += 16; - this.ParcelData.push(newObjParcelData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelSelectObjects.ts b/lib/classes/packets/ParcelSelectObjects.ts deleted file mode 100644 index 2cdca0e..0000000 --- a/lib/classes/packets/ParcelSelectObjects.ts +++ /dev/null @@ -1,94 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelSelectObjectsPacket implements Packet -{ - name = 'ParcelSelectObjects'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901962; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ParcelData: { - LocalID: number; - ReturnType: number; - }; - ReturnIDs: { - ReturnID: UUID; - }[]; - - getSize(): number - { - return ((16) * this.ReturnIDs.length) + 41; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.ParcelData['LocalID'], pos); - pos += 4; - buf.writeUInt32LE(this.ParcelData['ReturnType'], pos); - pos += 4; - const count = this.ReturnIDs.length; - buf.writeUInt8(this.ReturnIDs.length, pos++); - for (let i = 0; i < count; i++) - { - this.ReturnIDs[i]['ReturnID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjParcelData: { - LocalID: number, - ReturnType: number - } = { - LocalID: 0, - ReturnType: 0 - }; - newObjParcelData['LocalID'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['ReturnType'] = buf.readUInt32LE(pos); - pos += 4; - this.ParcelData = newObjParcelData; - const count = buf.readUInt8(pos++); - this.ReturnIDs = []; - for (let i = 0; i < count; i++) - { - const newObjReturnIDs: { - ReturnID: UUID - } = { - ReturnID: UUID.zero() - }; - newObjReturnIDs['ReturnID'] = new UUID(buf, pos); - pos += 16; - this.ReturnIDs.push(newObjReturnIDs); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ParcelSetOtherCleanTime.ts b/lib/classes/packets/ParcelSetOtherCleanTime.ts deleted file mode 100644 index 4419459..0000000 --- a/lib/classes/packets/ParcelSetOtherCleanTime.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ParcelSetOtherCleanTimePacket implements Packet -{ - name = 'ParcelSetOtherCleanTime'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901960; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ParcelData: { - LocalID: number; - OtherCleanTime: number; - }; - - getSize(): number - { - return 40; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.ParcelData['LocalID'], pos); - pos += 4; - buf.writeInt32LE(this.ParcelData['OtherCleanTime'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjParcelData: { - LocalID: number, - OtherCleanTime: number - } = { - LocalID: 0, - OtherCleanTime: 0 - }; - newObjParcelData['LocalID'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['OtherCleanTime'] = buf.readInt32LE(pos); - pos += 4; - this.ParcelData = newObjParcelData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/PayPriceReply.ts b/lib/classes/packets/PayPriceReply.ts deleted file mode 100644 index b309bf1..0000000 --- a/lib/classes/packets/PayPriceReply.ts +++ /dev/null @@ -1,74 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class PayPriceReplyPacket implements Packet -{ - name = 'PayPriceReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901922; - - ObjectData: { - ObjectID: UUID; - DefaultPayPrice: number; - }; - ButtonData: { - PayButton: number; - }[]; - - getSize(): number - { - return ((4) * this.ButtonData.length) + 21; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.ObjectData['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.ObjectData['DefaultPayPrice'], pos); - pos += 4; - const count = this.ButtonData.length; - buf.writeUInt8(this.ButtonData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeInt32LE(this.ButtonData[i]['PayButton'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjObjectData: { - ObjectID: UUID, - DefaultPayPrice: number - } = { - ObjectID: UUID.zero(), - DefaultPayPrice: 0 - }; - newObjObjectData['ObjectID'] = new UUID(buf, pos); - pos += 16; - newObjObjectData['DefaultPayPrice'] = buf.readInt32LE(pos); - pos += 4; - this.ObjectData = newObjObjectData; - const count = buf.readUInt8(pos++); - this.ButtonData = []; - for (let i = 0; i < count; i++) - { - const newObjButtonData: { - PayButton: number - } = { - PayButton: 0 - }; - newObjButtonData['PayButton'] = buf.readInt32LE(pos); - pos += 4; - this.ButtonData.push(newObjButtonData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/PickDelete.ts b/lib/classes/packets/PickDelete.ts deleted file mode 100644 index 7fe012c..0000000 --- a/lib/classes/packets/PickDelete.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class PickDeletePacket implements Packet -{ - name = 'PickDelete'; - flags = MessageFlags.FrequencyLow; - id = 4294901946; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - PickID: UUID; - }; - - getSize(): number - { - return 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['PickID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - PickID: UUID - } = { - PickID: UUID.zero() - }; - newObjData['PickID'] = new UUID(buf, pos); - pos += 16; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/PickGodDelete.ts b/lib/classes/packets/PickGodDelete.ts deleted file mode 100644 index 96c4068..0000000 --- a/lib/classes/packets/PickGodDelete.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class PickGodDeletePacket implements Packet -{ - name = 'PickGodDelete'; - flags = MessageFlags.FrequencyLow; - id = 4294901947; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - PickID: UUID; - QueryID: UUID; - }; - - getSize(): number - { - return 64; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['PickID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['QueryID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - PickID: UUID, - QueryID: UUID - } = { - PickID: UUID.zero(), - QueryID: UUID.zero() - }; - newObjData['PickID'] = new UUID(buf, pos); - pos += 16; - newObjData['QueryID'] = new UUID(buf, pos); - pos += 16; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/PickInfoReply.ts b/lib/classes/packets/PickInfoReply.ts deleted file mode 100644 index 13b1876..0000000 --- a/lib/classes/packets/PickInfoReply.ts +++ /dev/null @@ -1,138 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class PickInfoReplyPacket implements Packet -{ - name = 'PickInfoReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901944; - - AgentData: { - AgentID: UUID; - }; - Data: { - PickID: UUID; - CreatorID: UUID; - TopPick: boolean; - ParcelID: UUID; - Name: string; - Desc: string; - SnapshotID: UUID; - User: string; - OriginalName: string; - SimName: string; - PosGlobal: Vector3; - SortOrder: number; - Enabled: boolean; - }; - - getSize(): number - { - return (this.Data['Name'].length + 1 + this.Data['Desc'].length + 2 + this.Data['User'].length + 1 + this.Data['OriginalName'].length + 1 + this.Data['SimName'].length + 1) + 110; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['PickID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['CreatorID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.Data['TopPick']) ? 1 : 0, pos++); - this.Data['ParcelID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.Data['Name'], pos); - pos += this.Data['Name'].length; - buf.write(this.Data['Desc'], pos); - pos += this.Data['Desc'].length; - this.Data['SnapshotID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.Data['User'], pos); - pos += this.Data['User'].length; - buf.write(this.Data['OriginalName'], pos); - pos += this.Data['OriginalName'].length; - buf.write(this.Data['SimName'], pos); - pos += this.Data['SimName'].length; - this.Data['PosGlobal'].writeToBuffer(buf, pos, true); - pos += 24; - buf.writeInt32LE(this.Data['SortOrder'], pos); - pos += 4; - buf.writeUInt8((this.Data['Enabled']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - PickID: UUID, - CreatorID: UUID, - TopPick: boolean, - ParcelID: UUID, - Name: string, - Desc: string, - SnapshotID: UUID, - User: string, - OriginalName: string, - SimName: string, - PosGlobal: Vector3, - SortOrder: number, - Enabled: boolean - } = { - PickID: UUID.zero(), - CreatorID: UUID.zero(), - TopPick: false, - ParcelID: UUID.zero(), - Name: '', - Desc: '', - SnapshotID: UUID.zero(), - User: '', - OriginalName: '', - SimName: '', - PosGlobal: Vector3.getZero(), - SortOrder: 0, - Enabled: false - }; - newObjData['PickID'] = new UUID(buf, pos); - pos += 16; - newObjData['CreatorID'] = new UUID(buf, pos); - pos += 16; - newObjData['TopPick'] = (buf.readUInt8(pos++) === 1); - newObjData['ParcelID'] = new UUID(buf, pos); - pos += 16; - newObjData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['Desc'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['SnapshotID'] = new UUID(buf, pos); - pos += 16; - newObjData['User'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['OriginalName'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['SimName'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['PosGlobal'] = new Vector3(buf, pos, true); - pos += 24; - newObjData['SortOrder'] = buf.readInt32LE(pos); - pos += 4; - newObjData['Enabled'] = (buf.readUInt8(pos++) === 1); - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/PickInfoUpdate.ts b/lib/classes/packets/PickInfoUpdate.ts deleted file mode 100644 index ccc4283..0000000 --- a/lib/classes/packets/PickInfoUpdate.ts +++ /dev/null @@ -1,124 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class PickInfoUpdatePacket implements Packet -{ - name = 'PickInfoUpdate'; - flags = MessageFlags.FrequencyLow; - id = 4294901945; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - PickID: UUID; - CreatorID: UUID; - TopPick: boolean; - ParcelID: UUID; - Name: string; - Desc: string; - SnapshotID: UUID; - PosGlobal: Vector3; - SortOrder: number; - Enabled: boolean; - }; - - getSize(): number - { - return (this.Data['Name'].length + 1 + this.Data['Desc'].length + 2) + 126; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['PickID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['CreatorID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.Data['TopPick']) ? 1 : 0, pos++); - this.Data['ParcelID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.Data['Name'], pos); - pos += this.Data['Name'].length; - buf.write(this.Data['Desc'], pos); - pos += this.Data['Desc'].length; - this.Data['SnapshotID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['PosGlobal'].writeToBuffer(buf, pos, true); - pos += 24; - buf.writeInt32LE(this.Data['SortOrder'], pos); - pos += 4; - buf.writeUInt8((this.Data['Enabled']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - PickID: UUID, - CreatorID: UUID, - TopPick: boolean, - ParcelID: UUID, - Name: string, - Desc: string, - SnapshotID: UUID, - PosGlobal: Vector3, - SortOrder: number, - Enabled: boolean - } = { - PickID: UUID.zero(), - CreatorID: UUID.zero(), - TopPick: false, - ParcelID: UUID.zero(), - Name: '', - Desc: '', - SnapshotID: UUID.zero(), - PosGlobal: Vector3.getZero(), - SortOrder: 0, - Enabled: false - }; - newObjData['PickID'] = new UUID(buf, pos); - pos += 16; - newObjData['CreatorID'] = new UUID(buf, pos); - pos += 16; - newObjData['TopPick'] = (buf.readUInt8(pos++) === 1); - newObjData['ParcelID'] = new UUID(buf, pos); - pos += 16; - newObjData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['Desc'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['SnapshotID'] = new UUID(buf, pos); - pos += 16; - newObjData['PosGlobal'] = new Vector3(buf, pos, true); - pos += 24; - newObjData['SortOrder'] = buf.readInt32LE(pos); - pos += 4; - newObjData['Enabled'] = (buf.readUInt8(pos++) === 1); - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/PlacesQuery.ts b/lib/classes/packets/PlacesQuery.ts deleted file mode 100644 index 5b5d6ae..0000000 --- a/lib/classes/packets/PlacesQuery.ts +++ /dev/null @@ -1,103 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class PlacesQueryPacket implements Packet -{ - name = 'PlacesQuery'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901789; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - QueryID: UUID; - }; - TransactionData: { - TransactionID: UUID; - }; - QueryData: { - QueryText: string; - QueryFlags: number; - Category: number; - SimName: string; - }; - - getSize(): number - { - return (this.QueryData['QueryText'].length + 1 + this.QueryData['SimName'].length + 1) + 69; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['QueryID'].writeToBuffer(buf, pos); - pos += 16; - this.TransactionData['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.QueryData['QueryText'], pos); - pos += this.QueryData['QueryText'].length; - buf.writeUInt32LE(this.QueryData['QueryFlags'], pos); - pos += 4; - buf.writeInt8(this.QueryData['Category'], pos++); - buf.write(this.QueryData['SimName'], pos); - pos += this.QueryData['SimName'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - QueryID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - QueryID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['QueryID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjTransactionData: { - TransactionID: UUID - } = { - TransactionID: UUID.zero() - }; - newObjTransactionData['TransactionID'] = new UUID(buf, pos); - pos += 16; - this.TransactionData = newObjTransactionData; - const newObjQueryData: { - QueryText: string, - QueryFlags: number, - Category: number, - SimName: string - } = { - QueryText: '', - QueryFlags: 0, - Category: 0, - SimName: '' - }; - newObjQueryData['QueryText'] = buf.toString('utf8', pos, length); - pos += length; - newObjQueryData['QueryFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjQueryData['Category'] = buf.readInt8(pos++); - newObjQueryData['SimName'] = buf.toString('utf8', pos, length); - pos += length; - this.QueryData = newObjQueryData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/PlacesReply.ts b/lib/classes/packets/PlacesReply.ts deleted file mode 100644 index 4f38d48..0000000 --- a/lib/classes/packets/PlacesReply.ts +++ /dev/null @@ -1,179 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class PlacesReplyPacket implements Packet -{ - name = 'PlacesReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyLow; - id = 4294901790; - - AgentData: { - AgentID: UUID; - QueryID: UUID; - }; - TransactionData: { - TransactionID: UUID; - }; - QueryData: { - OwnerID: UUID; - Name: string; - Desc: string; - ActualArea: number; - BillableArea: number; - Flags: number; - GlobalX: number; - GlobalY: number; - GlobalZ: number; - SimName: string; - SnapshotID: UUID; - Dwell: number; - Price: number; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.QueryData, 'Name', 1) + this.calculateVarVarSize(this.QueryData, 'Desc', 1) + this.calculateVarVarSize(this.QueryData, 'SimName', 1) + 61) * this.QueryData.length) + 49; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['QueryID'].writeToBuffer(buf, pos); - pos += 16; - this.TransactionData['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.QueryData.length; - buf.writeUInt8(this.QueryData.length, pos++); - for (let i = 0; i < count; i++) - { - this.QueryData[i]['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.QueryData[i]['Name'], pos); - pos += this.QueryData[i]['Name'].length; - buf.write(this.QueryData[i]['Desc'], pos); - pos += this.QueryData[i]['Desc'].length; - buf.writeInt32LE(this.QueryData[i]['ActualArea'], pos); - pos += 4; - buf.writeInt32LE(this.QueryData[i]['BillableArea'], pos); - pos += 4; - buf.writeUInt8(this.QueryData[i]['Flags'], pos++); - buf.writeFloatLE(this.QueryData[i]['GlobalX'], pos); - pos += 4; - buf.writeFloatLE(this.QueryData[i]['GlobalY'], pos); - pos += 4; - buf.writeFloatLE(this.QueryData[i]['GlobalZ'], pos); - pos += 4; - buf.write(this.QueryData[i]['SimName'], pos); - pos += this.QueryData[i]['SimName'].length; - this.QueryData[i]['SnapshotID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeFloatLE(this.QueryData[i]['Dwell'], pos); - pos += 4; - buf.writeInt32LE(this.QueryData[i]['Price'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - QueryID: UUID - } = { - AgentID: UUID.zero(), - QueryID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['QueryID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjTransactionData: { - TransactionID: UUID - } = { - TransactionID: UUID.zero() - }; - newObjTransactionData['TransactionID'] = new UUID(buf, pos); - pos += 16; - this.TransactionData = newObjTransactionData; - const count = buf.readUInt8(pos++); - this.QueryData = []; - for (let i = 0; i < count; i++) - { - const newObjQueryData: { - OwnerID: UUID, - Name: string, - Desc: string, - ActualArea: number, - BillableArea: number, - Flags: number, - GlobalX: number, - GlobalY: number, - GlobalZ: number, - SimName: string, - SnapshotID: UUID, - Dwell: number, - Price: number - } = { - OwnerID: UUID.zero(), - Name: '', - Desc: '', - ActualArea: 0, - BillableArea: 0, - Flags: 0, - GlobalX: 0, - GlobalY: 0, - GlobalZ: 0, - SimName: '', - SnapshotID: UUID.zero(), - Dwell: 0, - Price: 0 - }; - newObjQueryData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjQueryData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjQueryData['Desc'] = buf.toString('utf8', pos, length); - pos += length; - newObjQueryData['ActualArea'] = buf.readInt32LE(pos); - pos += 4; - newObjQueryData['BillableArea'] = buf.readInt32LE(pos); - pos += 4; - newObjQueryData['Flags'] = buf.readUInt8(pos++); - newObjQueryData['GlobalX'] = buf.readFloatLE(pos); - pos += 4; - newObjQueryData['GlobalY'] = buf.readFloatLE(pos); - pos += 4; - newObjQueryData['GlobalZ'] = buf.readFloatLE(pos); - pos += 4; - newObjQueryData['SimName'] = buf.toString('utf8', pos, length); - pos += length; - newObjQueryData['SnapshotID'] = new UUID(buf, pos); - pos += 16; - newObjQueryData['Dwell'] = buf.readFloatLE(pos); - pos += 4; - newObjQueryData['Price'] = buf.readInt32LE(pos); - pos += 4; - this.QueryData.push(newObjQueryData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/PreloadSound.ts b/lib/classes/packets/PreloadSound.ts deleted file mode 100644 index 1b43b70..0000000 --- a/lib/classes/packets/PreloadSound.ts +++ /dev/null @@ -1,68 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class PreloadSoundPacket implements Packet -{ - name = 'PreloadSound'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyMedium; - id = 65295; - - DataBlock: { - ObjectID: UUID; - OwnerID: UUID; - SoundID: UUID; - }[]; - - getSize(): number - { - return ((48) * this.DataBlock.length) + 1; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.DataBlock.length; - buf.writeUInt8(this.DataBlock.length, pos++); - for (let i = 0; i < count; i++) - { - this.DataBlock[i]['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - this.DataBlock[i]['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - this.DataBlock[i]['SoundID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.DataBlock = []; - for (let i = 0; i < count; i++) - { - const newObjDataBlock: { - ObjectID: UUID, - OwnerID: UUID, - SoundID: UUID - } = { - ObjectID: UUID.zero(), - OwnerID: UUID.zero(), - SoundID: UUID.zero() - }; - newObjDataBlock['ObjectID'] = new UUID(buf, pos); - pos += 16; - newObjDataBlock['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjDataBlock['SoundID'] = new UUID(buf, pos); - pos += 16; - this.DataBlock.push(newObjDataBlock); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/PurgeInventoryDescendents.ts b/lib/classes/packets/PurgeInventoryDescendents.ts deleted file mode 100644 index b6ee12b..0000000 --- a/lib/classes/packets/PurgeInventoryDescendents.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class PurgeInventoryDescendentsPacket implements Packet -{ - name = 'PurgeInventoryDescendents'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902045; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - InventoryData: { - FolderID: UUID; - }; - - getSize(): number - { - return 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData['FolderID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjInventoryData: { - FolderID: UUID - } = { - FolderID: UUID.zero() - }; - newObjInventoryData['FolderID'] = new UUID(buf, pos); - pos += 16; - this.InventoryData = newObjInventoryData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RebakeAvatarTextures.ts b/lib/classes/packets/RebakeAvatarTextures.ts deleted file mode 100644 index 2f862a7..0000000 --- a/lib/classes/packets/RebakeAvatarTextures.ts +++ /dev/null @@ -1,44 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RebakeAvatarTexturesPacket implements Packet -{ - name = 'RebakeAvatarTextures'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901847; - - TextureData: { - TextureID: UUID; - }; - - getSize(): number - { - return 16; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.TextureData['TextureID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjTextureData: { - TextureID: UUID - } = { - TextureID: UUID.zero() - }; - newObjTextureData['TextureID'] = new UUID(buf, pos); - pos += 16; - this.TextureData = newObjTextureData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/Redo.ts b/lib/classes/packets/Redo.ts deleted file mode 100644 index 400fc98..0000000 --- a/lib/classes/packets/Redo.ts +++ /dev/null @@ -1,81 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RedoPacket implements Packet -{ - name = 'Redo'; - flags = MessageFlags.FrequencyLow; - id = 4294901836; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - GroupID: UUID; - }; - ObjectData: { - ObjectID: UUID; - }[]; - - getSize(): number - { - return ((16) * this.ObjectData.length) + 49; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - this.ObjectData[i]['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - GroupID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - GroupID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectID: UUID - } = { - ObjectID: UUID.zero() - }; - newObjObjectData['ObjectID'] = new UUID(buf, pos); - pos += 16; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RegionHandleRequest.ts b/lib/classes/packets/RegionHandleRequest.ts deleted file mode 100644 index aa80950..0000000 --- a/lib/classes/packets/RegionHandleRequest.ts +++ /dev/null @@ -1,44 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RegionHandleRequestPacket implements Packet -{ - name = 'RegionHandleRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294902069; - - RequestBlock: { - RegionID: UUID; - }; - - getSize(): number - { - return 16; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.RequestBlock['RegionID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjRequestBlock: { - RegionID: UUID - } = { - RegionID: UUID.zero() - }; - newObjRequestBlock['RegionID'] = new UUID(buf, pos); - pos += 16; - this.RequestBlock = newObjRequestBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RegionHandshake.ts b/lib/classes/packets/RegionHandshake.ts deleted file mode 100644 index 73dd6ae..0000000 --- a/lib/classes/packets/RegionHandshake.ts +++ /dev/null @@ -1,290 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RegionHandshakePacket implements Packet -{ - name = 'RegionHandshake'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901908; - - RegionInfo: { - RegionFlags: number; - SimAccess: number; - SimName: string; - SimOwner: UUID; - IsEstateManager: boolean; - WaterHeight: number; - BillableFactor: number; - CacheID: UUID; - TerrainBase0: UUID; - TerrainBase1: UUID; - TerrainBase2: UUID; - TerrainBase3: UUID; - TerrainDetail0: UUID; - TerrainDetail1: UUID; - TerrainDetail2: UUID; - TerrainDetail3: UUID; - TerrainStartHeight00: number; - TerrainStartHeight01: number; - TerrainStartHeight10: number; - TerrainStartHeight11: number; - TerrainHeightRange00: number; - TerrainHeightRange01: number; - TerrainHeightRange10: number; - TerrainHeightRange11: number; - }; - RegionInfo2: { - RegionID: UUID; - }; - RegionInfo3: { - CPUClassID: number; - CPURatio: number; - ColoName: string; - ProductSKU: string; - ProductName: string; - }; - RegionInfo4: { - RegionFlagsExtended: Long; - RegionProtocols: Long; - }[]; - - getSize(): number - { - return (this.RegionInfo['SimName'].length + 1) + (this.RegionInfo3['ColoName'].length + 1 + this.RegionInfo3['ProductSKU'].length + 1 + this.RegionInfo3['ProductName'].length + 1) + ((16) * this.RegionInfo4.length) + 231; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeUInt32LE(this.RegionInfo['RegionFlags'], pos); - pos += 4; - buf.writeUInt8(this.RegionInfo['SimAccess'], pos++); - buf.write(this.RegionInfo['SimName'], pos); - pos += this.RegionInfo['SimName'].length; - this.RegionInfo['SimOwner'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.RegionInfo['IsEstateManager']) ? 1 : 0, pos++); - buf.writeFloatLE(this.RegionInfo['WaterHeight'], pos); - pos += 4; - buf.writeFloatLE(this.RegionInfo['BillableFactor'], pos); - pos += 4; - this.RegionInfo['CacheID'].writeToBuffer(buf, pos); - pos += 16; - this.RegionInfo['TerrainBase0'].writeToBuffer(buf, pos); - pos += 16; - this.RegionInfo['TerrainBase1'].writeToBuffer(buf, pos); - pos += 16; - this.RegionInfo['TerrainBase2'].writeToBuffer(buf, pos); - pos += 16; - this.RegionInfo['TerrainBase3'].writeToBuffer(buf, pos); - pos += 16; - this.RegionInfo['TerrainDetail0'].writeToBuffer(buf, pos); - pos += 16; - this.RegionInfo['TerrainDetail1'].writeToBuffer(buf, pos); - pos += 16; - this.RegionInfo['TerrainDetail2'].writeToBuffer(buf, pos); - pos += 16; - this.RegionInfo['TerrainDetail3'].writeToBuffer(buf, pos); - pos += 16; - buf.writeFloatLE(this.RegionInfo['TerrainStartHeight00'], pos); - pos += 4; - buf.writeFloatLE(this.RegionInfo['TerrainStartHeight01'], pos); - pos += 4; - buf.writeFloatLE(this.RegionInfo['TerrainStartHeight10'], pos); - pos += 4; - buf.writeFloatLE(this.RegionInfo['TerrainStartHeight11'], pos); - pos += 4; - buf.writeFloatLE(this.RegionInfo['TerrainHeightRange00'], pos); - pos += 4; - buf.writeFloatLE(this.RegionInfo['TerrainHeightRange01'], pos); - pos += 4; - buf.writeFloatLE(this.RegionInfo['TerrainHeightRange10'], pos); - pos += 4; - buf.writeFloatLE(this.RegionInfo['TerrainHeightRange11'], pos); - pos += 4; - this.RegionInfo2['RegionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.RegionInfo3['CPUClassID'], pos); - pos += 4; - buf.writeInt32LE(this.RegionInfo3['CPURatio'], pos); - pos += 4; - buf.write(this.RegionInfo3['ColoName'], pos); - pos += this.RegionInfo3['ColoName'].length; - buf.write(this.RegionInfo3['ProductSKU'], pos); - pos += this.RegionInfo3['ProductSKU'].length; - buf.write(this.RegionInfo3['ProductName'], pos); - pos += this.RegionInfo3['ProductName'].length; - const count = this.RegionInfo4.length; - buf.writeUInt8(this.RegionInfo4.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeInt32LE(this.RegionInfo4[i]['RegionFlagsExtended'].low, pos); - pos += 4; - buf.writeInt32LE(this.RegionInfo4[i]['RegionFlagsExtended'].high, pos); - pos += 4; - buf.writeInt32LE(this.RegionInfo4[i]['RegionProtocols'].low, pos); - pos += 4; - buf.writeInt32LE(this.RegionInfo4[i]['RegionProtocols'].high, pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjRegionInfo: { - RegionFlags: number, - SimAccess: number, - SimName: string, - SimOwner: UUID, - IsEstateManager: boolean, - WaterHeight: number, - BillableFactor: number, - CacheID: UUID, - TerrainBase0: UUID, - TerrainBase1: UUID, - TerrainBase2: UUID, - TerrainBase3: UUID, - TerrainDetail0: UUID, - TerrainDetail1: UUID, - TerrainDetail2: UUID, - TerrainDetail3: UUID, - TerrainStartHeight00: number, - TerrainStartHeight01: number, - TerrainStartHeight10: number, - TerrainStartHeight11: number, - TerrainHeightRange00: number, - TerrainHeightRange01: number, - TerrainHeightRange10: number, - TerrainHeightRange11: number - } = { - RegionFlags: 0, - SimAccess: 0, - SimName: '', - SimOwner: UUID.zero(), - IsEstateManager: false, - WaterHeight: 0, - BillableFactor: 0, - CacheID: UUID.zero(), - TerrainBase0: UUID.zero(), - TerrainBase1: UUID.zero(), - TerrainBase2: UUID.zero(), - TerrainBase3: UUID.zero(), - TerrainDetail0: UUID.zero(), - TerrainDetail1: UUID.zero(), - TerrainDetail2: UUID.zero(), - TerrainDetail3: UUID.zero(), - TerrainStartHeight00: 0, - TerrainStartHeight01: 0, - TerrainStartHeight10: 0, - TerrainStartHeight11: 0, - TerrainHeightRange00: 0, - TerrainHeightRange01: 0, - TerrainHeightRange10: 0, - TerrainHeightRange11: 0 - }; - newObjRegionInfo['RegionFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjRegionInfo['SimAccess'] = buf.readUInt8(pos++); - newObjRegionInfo['SimName'] = buf.toString('utf8', pos, length); - pos += length; - newObjRegionInfo['SimOwner'] = new UUID(buf, pos); - pos += 16; - newObjRegionInfo['IsEstateManager'] = (buf.readUInt8(pos++) === 1); - newObjRegionInfo['WaterHeight'] = buf.readFloatLE(pos); - pos += 4; - newObjRegionInfo['BillableFactor'] = buf.readFloatLE(pos); - pos += 4; - newObjRegionInfo['CacheID'] = new UUID(buf, pos); - pos += 16; - newObjRegionInfo['TerrainBase0'] = new UUID(buf, pos); - pos += 16; - newObjRegionInfo['TerrainBase1'] = new UUID(buf, pos); - pos += 16; - newObjRegionInfo['TerrainBase2'] = new UUID(buf, pos); - pos += 16; - newObjRegionInfo['TerrainBase3'] = new UUID(buf, pos); - pos += 16; - newObjRegionInfo['TerrainDetail0'] = new UUID(buf, pos); - pos += 16; - newObjRegionInfo['TerrainDetail1'] = new UUID(buf, pos); - pos += 16; - newObjRegionInfo['TerrainDetail2'] = new UUID(buf, pos); - pos += 16; - newObjRegionInfo['TerrainDetail3'] = new UUID(buf, pos); - pos += 16; - newObjRegionInfo['TerrainStartHeight00'] = buf.readFloatLE(pos); - pos += 4; - newObjRegionInfo['TerrainStartHeight01'] = buf.readFloatLE(pos); - pos += 4; - newObjRegionInfo['TerrainStartHeight10'] = buf.readFloatLE(pos); - pos += 4; - newObjRegionInfo['TerrainStartHeight11'] = buf.readFloatLE(pos); - pos += 4; - newObjRegionInfo['TerrainHeightRange00'] = buf.readFloatLE(pos); - pos += 4; - newObjRegionInfo['TerrainHeightRange01'] = buf.readFloatLE(pos); - pos += 4; - newObjRegionInfo['TerrainHeightRange10'] = buf.readFloatLE(pos); - pos += 4; - newObjRegionInfo['TerrainHeightRange11'] = buf.readFloatLE(pos); - pos += 4; - this.RegionInfo = newObjRegionInfo; - const newObjRegionInfo2: { - RegionID: UUID - } = { - RegionID: UUID.zero() - }; - newObjRegionInfo2['RegionID'] = new UUID(buf, pos); - pos += 16; - this.RegionInfo2 = newObjRegionInfo2; - const newObjRegionInfo3: { - CPUClassID: number, - CPURatio: number, - ColoName: string, - ProductSKU: string, - ProductName: string - } = { - CPUClassID: 0, - CPURatio: 0, - ColoName: '', - ProductSKU: '', - ProductName: '' - }; - newObjRegionInfo3['CPUClassID'] = buf.readInt32LE(pos); - pos += 4; - newObjRegionInfo3['CPURatio'] = buf.readInt32LE(pos); - pos += 4; - newObjRegionInfo3['ColoName'] = buf.toString('utf8', pos, length); - pos += length; - newObjRegionInfo3['ProductSKU'] = buf.toString('utf8', pos, length); - pos += length; - newObjRegionInfo3['ProductName'] = buf.toString('utf8', pos, length); - pos += length; - this.RegionInfo3 = newObjRegionInfo3; - const count = buf.readUInt8(pos++); - this.RegionInfo4 = []; - for (let i = 0; i < count; i++) - { - const newObjRegionInfo4: { - RegionFlagsExtended: Long, - RegionProtocols: Long - } = { - RegionFlagsExtended: Long.ZERO, - RegionProtocols: Long.ZERO - }; - newObjRegionInfo4['RegionFlagsExtended'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjRegionInfo4['RegionProtocols'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - this.RegionInfo4.push(newObjRegionInfo4); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RegionHandshakeReply.ts b/lib/classes/packets/RegionHandshakeReply.ts deleted file mode 100644 index 6485973..0000000 --- a/lib/classes/packets/RegionHandshakeReply.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RegionHandshakeReplyPacket implements Packet -{ - name = 'RegionHandshakeReply'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901909; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - RegionInfo: { - Flags: number; - }; - - getSize(): number - { - return 36; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.RegionInfo['Flags'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjRegionInfo: { - Flags: number - } = { - Flags: 0 - }; - newObjRegionInfo['Flags'] = buf.readUInt32LE(pos); - pos += 4; - this.RegionInfo = newObjRegionInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RegionIDAndHandleReply.ts b/lib/classes/packets/RegionIDAndHandleReply.ts deleted file mode 100644 index c9d143d..0000000 --- a/lib/classes/packets/RegionIDAndHandleReply.ts +++ /dev/null @@ -1,54 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RegionIDAndHandleReplyPacket implements Packet -{ - name = 'RegionIDAndHandleReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902070; - - ReplyBlock: { - RegionID: UUID; - RegionHandle: Long; - }; - - getSize(): number - { - return 24; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.ReplyBlock['RegionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.ReplyBlock['RegionHandle'].low, pos); - pos += 4; - buf.writeInt32LE(this.ReplyBlock['RegionHandle'].high, pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjReplyBlock: { - RegionID: UUID, - RegionHandle: Long - } = { - RegionID: UUID.zero(), - RegionHandle: Long.ZERO - }; - newObjReplyBlock['RegionID'] = new UUID(buf, pos); - pos += 16; - newObjReplyBlock['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - this.ReplyBlock = newObjReplyBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RegionInfo.ts b/lib/classes/packets/RegionInfo.ts deleted file mode 100644 index eeb9644..0000000 --- a/lib/classes/packets/RegionInfo.ts +++ /dev/null @@ -1,230 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RegionInfoPacket implements Packet -{ - name = 'RegionInfo'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901902; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - RegionInfo: { - SimName: string; - EstateID: number; - ParentEstateID: number; - RegionFlags: number; - SimAccess: number; - MaxAgents: number; - BillableFactor: number; - ObjectBonusFactor: number; - WaterHeight: number; - TerrainRaiseLimit: number; - TerrainLowerLimit: number; - PricePerMeter: number; - RedirectGridX: number; - RedirectGridY: number; - UseEstateSun: boolean; - SunHour: number; - }; - RegionInfo2: { - ProductSKU: string; - ProductName: string; - MaxAgents32: number; - HardMaxAgents: number; - HardMaxObjects: number; - }; - RegionInfo3: { - RegionFlagsExtended: Long; - }[]; - - getSize(): number - { - return (this.RegionInfo['SimName'].length + 1) + (this.RegionInfo2['ProductSKU'].length + 1 + this.RegionInfo2['ProductName'].length + 1) + ((8) * this.RegionInfo3.length) + 96; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.RegionInfo['SimName'], pos); - pos += this.RegionInfo['SimName'].length; - buf.writeUInt32LE(this.RegionInfo['EstateID'], pos); - pos += 4; - buf.writeUInt32LE(this.RegionInfo['ParentEstateID'], pos); - pos += 4; - buf.writeUInt32LE(this.RegionInfo['RegionFlags'], pos); - pos += 4; - buf.writeUInt8(this.RegionInfo['SimAccess'], pos++); - buf.writeUInt8(this.RegionInfo['MaxAgents'], pos++); - buf.writeFloatLE(this.RegionInfo['BillableFactor'], pos); - pos += 4; - buf.writeFloatLE(this.RegionInfo['ObjectBonusFactor'], pos); - pos += 4; - buf.writeFloatLE(this.RegionInfo['WaterHeight'], pos); - pos += 4; - buf.writeFloatLE(this.RegionInfo['TerrainRaiseLimit'], pos); - pos += 4; - buf.writeFloatLE(this.RegionInfo['TerrainLowerLimit'], pos); - pos += 4; - buf.writeInt32LE(this.RegionInfo['PricePerMeter'], pos); - pos += 4; - buf.writeInt32LE(this.RegionInfo['RedirectGridX'], pos); - pos += 4; - buf.writeInt32LE(this.RegionInfo['RedirectGridY'], pos); - pos += 4; - buf.writeUInt8((this.RegionInfo['UseEstateSun']) ? 1 : 0, pos++); - buf.writeFloatLE(this.RegionInfo['SunHour'], pos); - pos += 4; - buf.write(this.RegionInfo2['ProductSKU'], pos); - pos += this.RegionInfo2['ProductSKU'].length; - buf.write(this.RegionInfo2['ProductName'], pos); - pos += this.RegionInfo2['ProductName'].length; - buf.writeUInt32LE(this.RegionInfo2['MaxAgents32'], pos); - pos += 4; - buf.writeUInt32LE(this.RegionInfo2['HardMaxAgents'], pos); - pos += 4; - buf.writeUInt32LE(this.RegionInfo2['HardMaxObjects'], pos); - pos += 4; - const count = this.RegionInfo3.length; - buf.writeUInt8(this.RegionInfo3.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeInt32LE(this.RegionInfo3[i]['RegionFlagsExtended'].low, pos); - pos += 4; - buf.writeInt32LE(this.RegionInfo3[i]['RegionFlagsExtended'].high, pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjRegionInfo: { - SimName: string, - EstateID: number, - ParentEstateID: number, - RegionFlags: number, - SimAccess: number, - MaxAgents: number, - BillableFactor: number, - ObjectBonusFactor: number, - WaterHeight: number, - TerrainRaiseLimit: number, - TerrainLowerLimit: number, - PricePerMeter: number, - RedirectGridX: number, - RedirectGridY: number, - UseEstateSun: boolean, - SunHour: number - } = { - SimName: '', - EstateID: 0, - ParentEstateID: 0, - RegionFlags: 0, - SimAccess: 0, - MaxAgents: 0, - BillableFactor: 0, - ObjectBonusFactor: 0, - WaterHeight: 0, - TerrainRaiseLimit: 0, - TerrainLowerLimit: 0, - PricePerMeter: 0, - RedirectGridX: 0, - RedirectGridY: 0, - UseEstateSun: false, - SunHour: 0 - }; - newObjRegionInfo['SimName'] = buf.toString('utf8', pos, length); - pos += length; - newObjRegionInfo['EstateID'] = buf.readUInt32LE(pos); - pos += 4; - newObjRegionInfo['ParentEstateID'] = buf.readUInt32LE(pos); - pos += 4; - newObjRegionInfo['RegionFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjRegionInfo['SimAccess'] = buf.readUInt8(pos++); - newObjRegionInfo['MaxAgents'] = buf.readUInt8(pos++); - newObjRegionInfo['BillableFactor'] = buf.readFloatLE(pos); - pos += 4; - newObjRegionInfo['ObjectBonusFactor'] = buf.readFloatLE(pos); - pos += 4; - newObjRegionInfo['WaterHeight'] = buf.readFloatLE(pos); - pos += 4; - newObjRegionInfo['TerrainRaiseLimit'] = buf.readFloatLE(pos); - pos += 4; - newObjRegionInfo['TerrainLowerLimit'] = buf.readFloatLE(pos); - pos += 4; - newObjRegionInfo['PricePerMeter'] = buf.readInt32LE(pos); - pos += 4; - newObjRegionInfo['RedirectGridX'] = buf.readInt32LE(pos); - pos += 4; - newObjRegionInfo['RedirectGridY'] = buf.readInt32LE(pos); - pos += 4; - newObjRegionInfo['UseEstateSun'] = (buf.readUInt8(pos++) === 1); - newObjRegionInfo['SunHour'] = buf.readFloatLE(pos); - pos += 4; - this.RegionInfo = newObjRegionInfo; - const newObjRegionInfo2: { - ProductSKU: string, - ProductName: string, - MaxAgents32: number, - HardMaxAgents: number, - HardMaxObjects: number - } = { - ProductSKU: '', - ProductName: '', - MaxAgents32: 0, - HardMaxAgents: 0, - HardMaxObjects: 0 - }; - newObjRegionInfo2['ProductSKU'] = buf.toString('utf8', pos, length); - pos += length; - newObjRegionInfo2['ProductName'] = buf.toString('utf8', pos, length); - pos += length; - newObjRegionInfo2['MaxAgents32'] = buf.readUInt32LE(pos); - pos += 4; - newObjRegionInfo2['HardMaxAgents'] = buf.readUInt32LE(pos); - pos += 4; - newObjRegionInfo2['HardMaxObjects'] = buf.readUInt32LE(pos); - pos += 4; - this.RegionInfo2 = newObjRegionInfo2; - const count = buf.readUInt8(pos++); - this.RegionInfo3 = []; - for (let i = 0; i < count; i++) - { - const newObjRegionInfo3: { - RegionFlagsExtended: Long - } = { - RegionFlagsExtended: Long.ZERO - }; - newObjRegionInfo3['RegionFlagsExtended'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - this.RegionInfo3.push(newObjRegionInfo3); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RegionPresenceRequestByHandle.ts b/lib/classes/packets/RegionPresenceRequestByHandle.ts deleted file mode 100644 index 5b2952c..0000000 --- a/lib/classes/packets/RegionPresenceRequestByHandle.ts +++ /dev/null @@ -1,56 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RegionPresenceRequestByHandlePacket implements Packet -{ - name = 'RegionPresenceRequestByHandle'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901775; - - RegionData: { - RegionHandle: Long; - }[]; - - getSize(): number - { - return ((8) * this.RegionData.length) + 1; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.RegionData.length; - buf.writeUInt8(this.RegionData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeInt32LE(this.RegionData[i]['RegionHandle'].low, pos); - pos += 4; - buf.writeInt32LE(this.RegionData[i]['RegionHandle'].high, pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.RegionData = []; - for (let i = 0; i < count; i++) - { - const newObjRegionData: { - RegionHandle: Long - } = { - RegionHandle: Long.ZERO - }; - newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - this.RegionData.push(newObjRegionData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RegionPresenceRequestByRegionID.ts b/lib/classes/packets/RegionPresenceRequestByRegionID.ts deleted file mode 100644 index bcd4a39..0000000 --- a/lib/classes/packets/RegionPresenceRequestByRegionID.ts +++ /dev/null @@ -1,54 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RegionPresenceRequestByRegionIDPacket implements Packet -{ - name = 'RegionPresenceRequestByRegionID'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901774; - - RegionData: { - RegionID: UUID; - }[]; - - getSize(): number - { - return ((16) * this.RegionData.length) + 1; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.RegionData.length; - buf.writeUInt8(this.RegionData.length, pos++); - for (let i = 0; i < count; i++) - { - this.RegionData[i]['RegionID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.RegionData = []; - for (let i = 0; i < count; i++) - { - const newObjRegionData: { - RegionID: UUID - } = { - RegionID: UUID.zero() - }; - newObjRegionData['RegionID'] = new UUID(buf, pos); - pos += 16; - this.RegionData.push(newObjRegionData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RegionPresenceResponse.ts b/lib/classes/packets/RegionPresenceResponse.ts deleted file mode 100644 index 6f104c8..0000000 --- a/lib/classes/packets/RegionPresenceResponse.ts +++ /dev/null @@ -1,110 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {IPAddress} from '../IPAddress'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RegionPresenceResponsePacket implements Packet -{ - name = 'RegionPresenceResponse'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901776; - - RegionData: { - RegionID: UUID; - RegionHandle: Long; - InternalRegionIP: IPAddress; - ExternalRegionIP: IPAddress; - RegionPort: number; - ValidUntil: number; - Message: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.RegionData, 'Message', 1) + 42) * this.RegionData.length) + 1; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.RegionData.length; - buf.writeUInt8(this.RegionData.length, pos++); - for (let i = 0; i < count; i++) - { - this.RegionData[i]['RegionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.RegionData[i]['RegionHandle'].low, pos); - pos += 4; - buf.writeInt32LE(this.RegionData[i]['RegionHandle'].high, pos); - pos += 4; - this.RegionData[i]['InternalRegionIP'].writeToBuffer(buf, pos); - pos += 4; - this.RegionData[i]['ExternalRegionIP'].writeToBuffer(buf, pos); - pos += 4; - buf.writeUInt16LE(this.RegionData[i]['RegionPort'], pos); - pos += 2; - buf.writeDoubleLE(this.RegionData[i]['ValidUntil'], pos); - pos += 8; - buf.write(this.RegionData[i]['Message'], pos); - pos += this.RegionData[i]['Message'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.RegionData = []; - for (let i = 0; i < count; i++) - { - const newObjRegionData: { - RegionID: UUID, - RegionHandle: Long, - InternalRegionIP: IPAddress, - ExternalRegionIP: IPAddress, - RegionPort: number, - ValidUntil: number, - Message: string - } = { - RegionID: UUID.zero(), - RegionHandle: Long.ZERO, - InternalRegionIP: IPAddress.zero(), - ExternalRegionIP: IPAddress.zero(), - RegionPort: 0, - ValidUntil: 0, - Message: '' - }; - newObjRegionData['RegionID'] = new UUID(buf, pos); - pos += 16; - newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjRegionData['InternalRegionIP'] = new IPAddress(buf, pos); - pos += 4; - newObjRegionData['ExternalRegionIP'] = new IPAddress(buf, pos); - pos += 4; - newObjRegionData['RegionPort'] = buf.readUInt16LE(pos); - pos += 2; - newObjRegionData['ValidUntil'] = buf.readDoubleLE(pos); - pos += 8; - newObjRegionData['Message'] = buf.toString('utf8', pos, length); - pos += length; - this.RegionData.push(newObjRegionData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RemoveAttachment.ts b/lib/classes/packets/RemoveAttachment.ts deleted file mode 100644 index 03cc2cf..0000000 --- a/lib/classes/packets/RemoveAttachment.ts +++ /dev/null @@ -1,69 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RemoveAttachmentPacket implements Packet -{ - name = 'RemoveAttachment'; - flags = MessageFlags.FrequencyLow; - id = 4294902092; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - AttachmentBlock: { - AttachmentPoint: number; - ItemID: UUID; - }; - - getSize(): number - { - return 49; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.AttachmentBlock['AttachmentPoint'], pos++); - this.AttachmentBlock['ItemID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjAttachmentBlock: { - AttachmentPoint: number, - ItemID: UUID - } = { - AttachmentPoint: 0, - ItemID: UUID.zero() - }; - newObjAttachmentBlock['AttachmentPoint'] = buf.readUInt8(pos++); - newObjAttachmentBlock['ItemID'] = new UUID(buf, pos); - pos += 16; - this.AttachmentBlock = newObjAttachmentBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RemoveInventoryFolder.ts b/lib/classes/packets/RemoveInventoryFolder.ts deleted file mode 100644 index 776fef0..0000000 --- a/lib/classes/packets/RemoveInventoryFolder.ts +++ /dev/null @@ -1,74 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RemoveInventoryFolderPacket implements Packet -{ - name = 'RemoveInventoryFolder'; - flags = MessageFlags.FrequencyLow; - id = 4294902036; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - FolderData: { - FolderID: UUID; - }[]; - - getSize(): number - { - return ((16) * this.FolderData.length) + 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.FolderData.length; - buf.writeUInt8(this.FolderData.length, pos++); - for (let i = 0; i < count; i++) - { - this.FolderData[i]['FolderID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.FolderData = []; - for (let i = 0; i < count; i++) - { - const newObjFolderData: { - FolderID: UUID - } = { - FolderID: UUID.zero() - }; - newObjFolderData['FolderID'] = new UUID(buf, pos); - pos += 16; - this.FolderData.push(newObjFolderData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RemoveInventoryItem.ts b/lib/classes/packets/RemoveInventoryItem.ts deleted file mode 100644 index bd52bc2..0000000 --- a/lib/classes/packets/RemoveInventoryItem.ts +++ /dev/null @@ -1,74 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RemoveInventoryItemPacket implements Packet -{ - name = 'RemoveInventoryItem'; - flags = MessageFlags.FrequencyLow; - id = 4294902030; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - InventoryData: { - ItemID: UUID; - }[]; - - getSize(): number - { - return ((16) * this.InventoryData.length) + 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.InventoryData.length; - buf.writeUInt8(this.InventoryData.length, pos++); - for (let i = 0; i < count; i++) - { - this.InventoryData[i]['ItemID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.InventoryData = []; - for (let i = 0; i < count; i++) - { - const newObjInventoryData: { - ItemID: UUID - } = { - ItemID: UUID.zero() - }; - newObjInventoryData['ItemID'] = new UUID(buf, pos); - pos += 16; - this.InventoryData.push(newObjInventoryData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RemoveInventoryObjects.ts b/lib/classes/packets/RemoveInventoryObjects.ts deleted file mode 100644 index 05dfc93..0000000 --- a/lib/classes/packets/RemoveInventoryObjects.ts +++ /dev/null @@ -1,97 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RemoveInventoryObjectsPacket implements Packet -{ - name = 'RemoveInventoryObjects'; - flags = MessageFlags.FrequencyLow; - id = 4294902044; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - FolderData: { - FolderID: UUID; - }[]; - ItemData: { - ItemID: UUID; - }[]; - - getSize(): number - { - return ((16) * this.FolderData.length) + ((16) * this.ItemData.length) + 34; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - let count = this.FolderData.length; - buf.writeUInt8(this.FolderData.length, pos++); - for (let i = 0; i < count; i++) - { - this.FolderData[i]['FolderID'].writeToBuffer(buf, pos); - pos += 16; - } - count = this.ItemData.length; - buf.writeUInt8(this.ItemData.length, pos++); - for (let i = 0; i < count; i++) - { - this.ItemData[i]['ItemID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - let count = buf.readUInt8(pos++); - this.FolderData = []; - for (let i = 0; i < count; i++) - { - const newObjFolderData: { - FolderID: UUID - } = { - FolderID: UUID.zero() - }; - newObjFolderData['FolderID'] = new UUID(buf, pos); - pos += 16; - this.FolderData.push(newObjFolderData); - } - count = buf.readUInt8(pos++); - this.ItemData = []; - for (let i = 0; i < count; i++) - { - const newObjItemData: { - ItemID: UUID - } = { - ItemID: UUID.zero() - }; - newObjItemData['ItemID'] = new UUID(buf, pos); - pos += 16; - this.ItemData.push(newObjItemData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RemoveMuteListEntry.ts b/lib/classes/packets/RemoveMuteListEntry.ts deleted file mode 100644 index 3608a7a..0000000 --- a/lib/classes/packets/RemoveMuteListEntry.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RemoveMuteListEntryPacket implements Packet -{ - name = 'RemoveMuteListEntry'; - flags = MessageFlags.FrequencyLow; - id = 4294902024; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - MuteData: { - MuteID: UUID; - MuteName: string; - }; - - getSize(): number - { - return (this.MuteData['MuteName'].length + 1) + 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.MuteData['MuteID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.MuteData['MuteName'], pos); - pos += this.MuteData['MuteName'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjMuteData: { - MuteID: UUID, - MuteName: string - } = { - MuteID: UUID.zero(), - MuteName: '' - }; - newObjMuteData['MuteID'] = new UUID(buf, pos); - pos += 16; - newObjMuteData['MuteName'] = buf.toString('utf8', pos, length); - pos += length; - this.MuteData = newObjMuteData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RemoveNameValuePair.ts b/lib/classes/packets/RemoveNameValuePair.ts deleted file mode 100644 index 1d2130c..0000000 --- a/lib/classes/packets/RemoveNameValuePair.ts +++ /dev/null @@ -1,77 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RemoveNameValuePairPacket implements Packet -{ - name = 'RemoveNameValuePair'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902090; - - TaskData: { - ID: UUID; - }; - NameValueData: { - NVPair: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.NameValueData, 'NVPair', 2)) * this.NameValueData.length) + 17; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.TaskData['ID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.NameValueData.length; - buf.writeUInt8(this.NameValueData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.write(this.NameValueData[i]['NVPair'], pos); - pos += this.NameValueData[i]['NVPair'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjTaskData: { - ID: UUID - } = { - ID: UUID.zero() - }; - newObjTaskData['ID'] = new UUID(buf, pos); - pos += 16; - this.TaskData = newObjTaskData; - const count = buf.readUInt8(pos++); - this.NameValueData = []; - for (let i = 0; i < count; i++) - { - const newObjNameValueData: { - NVPair: string - } = { - NVPair: '' - }; - newObjNameValueData['NVPair'] = buf.toString('utf8', pos, length); - pos += length; - this.NameValueData.push(newObjNameValueData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RemoveParcel.ts b/lib/classes/packets/RemoveParcel.ts deleted file mode 100644 index 5dc427b..0000000 --- a/lib/classes/packets/RemoveParcel.ts +++ /dev/null @@ -1,54 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RemoveParcelPacket implements Packet -{ - name = 'RemoveParcel'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901982; - - ParcelData: { - ParcelID: UUID; - }[]; - - getSize(): number - { - return ((16) * this.ParcelData.length) + 1; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.ParcelData.length; - buf.writeUInt8(this.ParcelData.length, pos++); - for (let i = 0; i < count; i++) - { - this.ParcelData[i]['ParcelID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.ParcelData = []; - for (let i = 0; i < count; i++) - { - const newObjParcelData: { - ParcelID: UUID - } = { - ParcelID: UUID.zero() - }; - newObjParcelData['ParcelID'] = new UUID(buf, pos); - pos += 16; - this.ParcelData.push(newObjParcelData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RemoveTaskInventory.ts b/lib/classes/packets/RemoveTaskInventory.ts deleted file mode 100644 index 9d74b6b..0000000 --- a/lib/classes/packets/RemoveTaskInventory.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RemoveTaskInventoryPacket implements Packet -{ - name = 'RemoveTaskInventory'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902047; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - InventoryData: { - LocalID: number; - ItemID: UUID; - }; - - getSize(): number - { - return 52; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.InventoryData['LocalID'], pos); - pos += 4; - this.InventoryData['ItemID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjInventoryData: { - LocalID: number, - ItemID: UUID - } = { - LocalID: 0, - ItemID: UUID.zero() - }; - newObjInventoryData['LocalID'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['ItemID'] = new UUID(buf, pos); - pos += 16; - this.InventoryData = newObjInventoryData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ReplyTaskInventory.ts b/lib/classes/packets/ReplyTaskInventory.ts deleted file mode 100644 index 3c7c0d6..0000000 --- a/lib/classes/packets/ReplyTaskInventory.ts +++ /dev/null @@ -1,58 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ReplyTaskInventoryPacket implements Packet -{ - name = 'ReplyTaskInventory'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902050; - - InventoryData: { - TaskID: UUID; - Serial: number; - Filename: string; - }; - - getSize(): number - { - return (this.InventoryData['Filename'].length + 1) + 18; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.InventoryData['TaskID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt16LE(this.InventoryData['Serial'], pos); - pos += 2; - buf.write(this.InventoryData['Filename'], pos); - pos += this.InventoryData['Filename'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjInventoryData: { - TaskID: UUID, - Serial: number, - Filename: string - } = { - TaskID: UUID.zero(), - Serial: 0, - Filename: '' - }; - newObjInventoryData['TaskID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['Serial'] = buf.readInt16LE(pos); - pos += 2; - newObjInventoryData['Filename'] = buf.toString('utf8', pos, length); - pos += length; - this.InventoryData = newObjInventoryData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ReportAutosaveCrash.ts b/lib/classes/packets/ReportAutosaveCrash.ts deleted file mode 100644 index 3e27c08..0000000 --- a/lib/classes/packets/ReportAutosaveCrash.ts +++ /dev/null @@ -1,50 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ReportAutosaveCrashPacket implements Packet -{ - name = 'ReportAutosaveCrash'; - flags = MessageFlags.FrequencyLow; - id = 4294901888; - - AutosaveData: { - PID: number; - Status: number; - }; - - getSize(): number - { - return 8; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeInt32LE(this.AutosaveData['PID'], pos); - pos += 4; - buf.writeInt32LE(this.AutosaveData['Status'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAutosaveData: { - PID: number, - Status: number - } = { - PID: 0, - Status: 0 - }; - newObjAutosaveData['PID'] = buf.readInt32LE(pos); - pos += 4; - newObjAutosaveData['Status'] = buf.readInt32LE(pos); - pos += 4; - this.AutosaveData = newObjAutosaveData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RequestGodlikePowers.ts b/lib/classes/packets/RequestGodlikePowers.ts deleted file mode 100644 index fcc7a1e..0000000 --- a/lib/classes/packets/RequestGodlikePowers.ts +++ /dev/null @@ -1,69 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RequestGodlikePowersPacket implements Packet -{ - name = 'RequestGodlikePowers'; - flags = MessageFlags.FrequencyLow; - id = 4294902017; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - RequestBlock: { - Godlike: boolean; - Token: UUID; - }; - - getSize(): number - { - return 49; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.RequestBlock['Godlike']) ? 1 : 0, pos++); - this.RequestBlock['Token'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjRequestBlock: { - Godlike: boolean, - Token: UUID - } = { - Godlike: false, - Token: UUID.zero() - }; - newObjRequestBlock['Godlike'] = (buf.readUInt8(pos++) === 1); - newObjRequestBlock['Token'] = new UUID(buf, pos); - pos += 16; - this.RequestBlock = newObjRequestBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RequestImage.ts b/lib/classes/packets/RequestImage.ts deleted file mode 100644 index 65a279c..0000000 --- a/lib/classes/packets/RequestImage.ts +++ /dev/null @@ -1,98 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RequestImagePacket implements Packet -{ - name = 'RequestImage'; - flags = MessageFlags.FrequencyHigh; - id = 8; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - RequestImage: { - Image: UUID; - DiscardLevel: number; - DownloadPriority: number; - Packet: number; - Type: number; - }[]; - - getSize(): number - { - return ((26) * this.RequestImage.length) + 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.RequestImage.length; - buf.writeUInt8(this.RequestImage.length, pos++); - for (let i = 0; i < count; i++) - { - this.RequestImage[i]['Image'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt8(this.RequestImage[i]['DiscardLevel'], pos++); - buf.writeFloatLE(this.RequestImage[i]['DownloadPriority'], pos); - pos += 4; - buf.writeUInt32LE(this.RequestImage[i]['Packet'], pos); - pos += 4; - buf.writeUInt8(this.RequestImage[i]['Type'], pos++); - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.RequestImage = []; - for (let i = 0; i < count; i++) - { - const newObjRequestImage: { - Image: UUID, - DiscardLevel: number, - DownloadPriority: number, - Packet: number, - Type: number - } = { - Image: UUID.zero(), - DiscardLevel: 0, - DownloadPriority: 0, - Packet: 0, - Type: 0 - }; - newObjRequestImage['Image'] = new UUID(buf, pos); - pos += 16; - newObjRequestImage['DiscardLevel'] = buf.readInt8(pos++); - newObjRequestImage['DownloadPriority'] = buf.readFloatLE(pos); - pos += 4; - newObjRequestImage['Packet'] = buf.readUInt32LE(pos); - pos += 4; - newObjRequestImage['Type'] = buf.readUInt8(pos++); - this.RequestImage.push(newObjRequestImage); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RequestInventoryAsset.ts b/lib/classes/packets/RequestInventoryAsset.ts deleted file mode 100644 index 70aeb53..0000000 --- a/lib/classes/packets/RequestInventoryAsset.ts +++ /dev/null @@ -1,65 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RequestInventoryAssetPacket implements Packet -{ - name = 'RequestInventoryAsset'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902042; - - QueryData: { - QueryID: UUID; - AgentID: UUID; - OwnerID: UUID; - ItemID: UUID; - }; - - getSize(): number - { - return 64; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.QueryData['QueryID'].writeToBuffer(buf, pos); - pos += 16; - this.QueryData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.QueryData['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - this.QueryData['ItemID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjQueryData: { - QueryID: UUID, - AgentID: UUID, - OwnerID: UUID, - ItemID: UUID - } = { - QueryID: UUID.zero(), - AgentID: UUID.zero(), - OwnerID: UUID.zero(), - ItemID: UUID.zero() - }; - newObjQueryData['QueryID'] = new UUID(buf, pos); - pos += 16; - newObjQueryData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjQueryData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjQueryData['ItemID'] = new UUID(buf, pos); - pos += 16; - this.QueryData = newObjQueryData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RequestMultipleObjects.ts b/lib/classes/packets/RequestMultipleObjects.ts deleted file mode 100644 index 365477e..0000000 --- a/lib/classes/packets/RequestMultipleObjects.ts +++ /dev/null @@ -1,79 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RequestMultipleObjectsPacket implements Packet -{ - name = 'RequestMultipleObjects'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyMedium; - id = 65283; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - CacheMissType: number; - ID: number; - }[]; - - getSize(): number - { - return ((5) * this.ObjectData.length) + 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt8(this.ObjectData[i]['CacheMissType'], pos++); - buf.writeUInt32LE(this.ObjectData[i]['ID'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - CacheMissType: number, - ID: number - } = { - CacheMissType: 0, - ID: 0 - }; - newObjObjectData['CacheMissType'] = buf.readUInt8(pos++); - newObjObjectData['ID'] = buf.readUInt32LE(pos); - pos += 4; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RequestObjectPropertiesFamily.ts b/lib/classes/packets/RequestObjectPropertiesFamily.ts deleted file mode 100644 index 5eec405..0000000 --- a/lib/classes/packets/RequestObjectPropertiesFamily.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RequestObjectPropertiesFamilyPacket implements Packet -{ - name = 'RequestObjectPropertiesFamily'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyMedium; - id = 65285; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - RequestFlags: number; - ObjectID: UUID; - }; - - getSize(): number - { - return 52; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.ObjectData['RequestFlags'], pos); - pos += 4; - this.ObjectData['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjObjectData: { - RequestFlags: number, - ObjectID: UUID - } = { - RequestFlags: 0, - ObjectID: UUID.zero() - }; - newObjObjectData['RequestFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['ObjectID'] = new UUID(buf, pos); - pos += 16; - this.ObjectData = newObjObjectData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RequestParcelTransfer.ts b/lib/classes/packets/RequestParcelTransfer.ts deleted file mode 100644 index 1e998f8..0000000 --- a/lib/classes/packets/RequestParcelTransfer.ts +++ /dev/null @@ -1,137 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RequestParcelTransferPacket implements Packet -{ - name = 'RequestParcelTransfer'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901980; - - Data: { - TransactionID: UUID; - TransactionTime: number; - SourceID: UUID; - DestID: UUID; - OwnerID: UUID; - Flags: number; - TransactionType: number; - Amount: number; - BillableArea: number; - ActualArea: number; - Final: boolean; - }; - RegionData: { - RegionID: UUID; - GridX: number; - GridY: number; - }; - - getSize(): number - { - return 110; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.Data['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.Data['TransactionTime'], pos); - pos += 4; - this.Data['SourceID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['DestID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.Data['Flags'], pos++); - buf.writeInt32LE(this.Data['TransactionType'], pos); - pos += 4; - buf.writeInt32LE(this.Data['Amount'], pos); - pos += 4; - buf.writeInt32LE(this.Data['BillableArea'], pos); - pos += 4; - buf.writeInt32LE(this.Data['ActualArea'], pos); - pos += 4; - buf.writeUInt8((this.Data['Final']) ? 1 : 0, pos++); - this.RegionData['RegionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.RegionData['GridX'], pos); - pos += 4; - buf.writeUInt32LE(this.RegionData['GridY'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjData: { - TransactionID: UUID, - TransactionTime: number, - SourceID: UUID, - DestID: UUID, - OwnerID: UUID, - Flags: number, - TransactionType: number, - Amount: number, - BillableArea: number, - ActualArea: number, - Final: boolean - } = { - TransactionID: UUID.zero(), - TransactionTime: 0, - SourceID: UUID.zero(), - DestID: UUID.zero(), - OwnerID: UUID.zero(), - Flags: 0, - TransactionType: 0, - Amount: 0, - BillableArea: 0, - ActualArea: 0, - Final: false - }; - newObjData['TransactionID'] = new UUID(buf, pos); - pos += 16; - newObjData['TransactionTime'] = buf.readUInt32LE(pos); - pos += 4; - newObjData['SourceID'] = new UUID(buf, pos); - pos += 16; - newObjData['DestID'] = new UUID(buf, pos); - pos += 16; - newObjData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjData['Flags'] = buf.readUInt8(pos++); - newObjData['TransactionType'] = buf.readInt32LE(pos); - pos += 4; - newObjData['Amount'] = buf.readInt32LE(pos); - pos += 4; - newObjData['BillableArea'] = buf.readInt32LE(pos); - pos += 4; - newObjData['ActualArea'] = buf.readInt32LE(pos); - pos += 4; - newObjData['Final'] = (buf.readUInt8(pos++) === 1); - this.Data = newObjData; - const newObjRegionData: { - RegionID: UUID, - GridX: number, - GridY: number - } = { - RegionID: UUID.zero(), - GridX: 0, - GridY: 0 - }; - newObjRegionData['RegionID'] = new UUID(buf, pos); - pos += 16; - newObjRegionData['GridX'] = buf.readUInt32LE(pos); - pos += 4; - newObjRegionData['GridY'] = buf.readUInt32LE(pos); - pos += 4; - this.RegionData = newObjRegionData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RequestPayPrice.ts b/lib/classes/packets/RequestPayPrice.ts deleted file mode 100644 index ebb64ed..0000000 --- a/lib/classes/packets/RequestPayPrice.ts +++ /dev/null @@ -1,44 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RequestPayPricePacket implements Packet -{ - name = 'RequestPayPrice'; - flags = MessageFlags.FrequencyLow; - id = 4294901921; - - ObjectData: { - ObjectID: UUID; - }; - - getSize(): number - { - return 16; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.ObjectData['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjObjectData: { - ObjectID: UUID - } = { - ObjectID: UUID.zero() - }; - newObjObjectData['ObjectID'] = new UUID(buf, pos); - pos += 16; - this.ObjectData = newObjObjectData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RequestRegionInfo.ts b/lib/classes/packets/RequestRegionInfo.ts deleted file mode 100644 index 00ffc8d..0000000 --- a/lib/classes/packets/RequestRegionInfo.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RequestRegionInfoPacket implements Packet -{ - name = 'RequestRegionInfo'; - flags = MessageFlags.FrequencyLow; - id = 4294901901; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - - getSize(): number - { - return 32; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RequestTaskInventory.ts b/lib/classes/packets/RequestTaskInventory.ts deleted file mode 100644 index e51f012..0000000 --- a/lib/classes/packets/RequestTaskInventory.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RequestTaskInventoryPacket implements Packet -{ - name = 'RequestTaskInventory'; - flags = MessageFlags.FrequencyLow; - id = 4294902049; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - InventoryData: { - LocalID: number; - }; - - getSize(): number - { - return 36; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.InventoryData['LocalID'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjInventoryData: { - LocalID: number - } = { - LocalID: 0 - }; - newObjInventoryData['LocalID'] = buf.readUInt32LE(pos); - pos += 4; - this.InventoryData = newObjInventoryData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RequestTrustedCircuit.ts b/lib/classes/packets/RequestTrustedCircuit.ts deleted file mode 100644 index 9a5e907..0000000 --- a/lib/classes/packets/RequestTrustedCircuit.ts +++ /dev/null @@ -1,28 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RequestTrustedCircuitPacket implements Packet -{ - name = 'RequestTrustedCircuit'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902154; - - - getSize(): number - { - return 0; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - return 0; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - return 0; - } -} - diff --git a/lib/classes/packets/RequestXfer.ts b/lib/classes/packets/RequestXfer.ts deleted file mode 100644 index ec7c191..0000000 --- a/lib/classes/packets/RequestXfer.ts +++ /dev/null @@ -1,83 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RequestXferPacket implements Packet -{ - name = 'RequestXfer'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901916; - - XferID: { - ID: Long; - Filename: string; - FilePath: number; - DeleteOnCompletion: boolean; - UseBigPackets: boolean; - VFileID: UUID; - VFileType: number; - }; - - getSize(): number - { - return (this.XferID['Filename'].length + 1) + 29; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeInt32LE(this.XferID['ID'].low, pos); - pos += 4; - buf.writeInt32LE(this.XferID['ID'].high, pos); - pos += 4; - buf.write(this.XferID['Filename'], pos); - pos += this.XferID['Filename'].length; - buf.writeUInt8(this.XferID['FilePath'], pos++); - buf.writeUInt8((this.XferID['DeleteOnCompletion']) ? 1 : 0, pos++); - buf.writeUInt8((this.XferID['UseBigPackets']) ? 1 : 0, pos++); - this.XferID['VFileID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt16LE(this.XferID['VFileType'], pos); - pos += 2; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjXferID: { - ID: Long, - Filename: string, - FilePath: number, - DeleteOnCompletion: boolean, - UseBigPackets: boolean, - VFileID: UUID, - VFileType: number - } = { - ID: Long.ZERO, - Filename: '', - FilePath: 0, - DeleteOnCompletion: false, - UseBigPackets: false, - VFileID: UUID.zero(), - VFileType: 0 - }; - newObjXferID['ID'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjXferID['Filename'] = buf.toString('utf8', pos, length); - pos += length; - newObjXferID['FilePath'] = buf.readUInt8(pos++); - newObjXferID['DeleteOnCompletion'] = (buf.readUInt8(pos++) === 1); - newObjXferID['UseBigPackets'] = (buf.readUInt8(pos++) === 1); - newObjXferID['VFileID'] = new UUID(buf, pos); - pos += 16; - newObjXferID['VFileType'] = buf.readInt16LE(pos); - pos += 2; - this.XferID = newObjXferID; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RetrieveIMsExtended.ts b/lib/classes/packets/RetrieveIMsExtended.ts deleted file mode 100644 index 0f8e28d..0000000 --- a/lib/classes/packets/RetrieveIMsExtended.ts +++ /dev/null @@ -1,56 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RetrieveIMsExtendedPacket implements Packet -{ - name = 'RetrieveIMsExtended'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902187; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - IsPremium: boolean; - }; - - getSize(): number - { - return 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.AgentData['IsPremium']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - IsPremium: boolean - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - IsPremium: false - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['IsPremium'] = (buf.readUInt8(pos++) === 1); - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RetrieveInstantMessages.ts b/lib/classes/packets/RetrieveInstantMessages.ts deleted file mode 100644 index 359b8df..0000000 --- a/lib/classes/packets/RetrieveInstantMessages.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RetrieveInstantMessagesPacket implements Packet -{ - name = 'RetrieveInstantMessages'; - flags = MessageFlags.FrequencyLow; - id = 4294902015; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - - getSize(): number - { - return 32; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RevokePermissions.ts b/lib/classes/packets/RevokePermissions.ts deleted file mode 100644 index e27c693..0000000 --- a/lib/classes/packets/RevokePermissions.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RevokePermissionsPacket implements Packet -{ - name = 'RevokePermissions'; - flags = MessageFlags.FrequencyLow; - id = 4294901953; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - ObjectID: UUID; - ObjectPermissions: number; - }; - - getSize(): number - { - return 52; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.Data['ObjectPermissions'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - ObjectID: UUID, - ObjectPermissions: number - } = { - ObjectID: UUID.zero(), - ObjectPermissions: 0 - }; - newObjData['ObjectID'] = new UUID(buf, pos); - pos += 16; - newObjData['ObjectPermissions'] = buf.readUInt32LE(pos); - pos += 4; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RezMultipleAttachmentsFromInv.ts b/lib/classes/packets/RezMultipleAttachmentsFromInv.ts deleted file mode 100644 index e27ef55..0000000 --- a/lib/classes/packets/RezMultipleAttachmentsFromInv.ts +++ /dev/null @@ -1,161 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RezMultipleAttachmentsFromInvPacket implements Packet -{ - name = 'RezMultipleAttachmentsFromInv'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902156; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - HeaderData: { - CompoundMsgID: UUID; - TotalObjects: number; - FirstDetachAll: boolean; - }; - ObjectData: { - ItemID: UUID; - OwnerID: UUID; - AttachmentPt: number; - ItemFlags: number; - GroupMask: number; - EveryoneMask: number; - NextOwnerMask: number; - Name: string; - Description: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.ObjectData, 'Name', 1) + this.calculateVarVarSize(this.ObjectData, 'Description', 1) + 49) * this.ObjectData.length) + 51; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.HeaderData['CompoundMsgID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.HeaderData['TotalObjects'], pos++); - buf.writeUInt8((this.HeaderData['FirstDetachAll']) ? 1 : 0, pos++); - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - this.ObjectData[i]['ItemID'].writeToBuffer(buf, pos); - pos += 16; - this.ObjectData[i]['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.ObjectData[i]['AttachmentPt'], pos++); - buf.writeUInt32LE(this.ObjectData[i]['ItemFlags'], pos); - pos += 4; - buf.writeUInt32LE(this.ObjectData[i]['GroupMask'], pos); - pos += 4; - buf.writeUInt32LE(this.ObjectData[i]['EveryoneMask'], pos); - pos += 4; - buf.writeUInt32LE(this.ObjectData[i]['NextOwnerMask'], pos); - pos += 4; - buf.write(this.ObjectData[i]['Name'], pos); - pos += this.ObjectData[i]['Name'].length; - buf.write(this.ObjectData[i]['Description'], pos); - pos += this.ObjectData[i]['Description'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjHeaderData: { - CompoundMsgID: UUID, - TotalObjects: number, - FirstDetachAll: boolean - } = { - CompoundMsgID: UUID.zero(), - TotalObjects: 0, - FirstDetachAll: false - }; - newObjHeaderData['CompoundMsgID'] = new UUID(buf, pos); - pos += 16; - newObjHeaderData['TotalObjects'] = buf.readUInt8(pos++); - newObjHeaderData['FirstDetachAll'] = (buf.readUInt8(pos++) === 1); - this.HeaderData = newObjHeaderData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ItemID: UUID, - OwnerID: UUID, - AttachmentPt: number, - ItemFlags: number, - GroupMask: number, - EveryoneMask: number, - NextOwnerMask: number, - Name: string, - Description: string - } = { - ItemID: UUID.zero(), - OwnerID: UUID.zero(), - AttachmentPt: 0, - ItemFlags: 0, - GroupMask: 0, - EveryoneMask: 0, - NextOwnerMask: 0, - Name: '', - Description: '' - }; - newObjObjectData['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjObjectData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjObjectData['AttachmentPt'] = buf.readUInt8(pos++); - newObjObjectData['ItemFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['GroupMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['EveryoneMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['NextOwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjObjectData['Description'] = buf.toString('utf8', pos, length); - pos += length; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RezObject.ts b/lib/classes/packets/RezObject.ts deleted file mode 100644 index 5ba063a..0000000 --- a/lib/classes/packets/RezObject.ts +++ /dev/null @@ -1,286 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RezObjectPacket implements Packet -{ - name = 'RezObject'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902053; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - GroupID: UUID; - }; - RezData: { - FromTaskID: UUID; - BypassRaycast: number; - RayStart: Vector3; - RayEnd: Vector3; - RayTargetID: UUID; - RayEndIsIntersection: boolean; - RezSelected: boolean; - RemoveItem: boolean; - ItemFlags: number; - GroupMask: number; - EveryoneMask: number; - NextOwnerMask: number; - }; - InventoryData: { - ItemID: UUID; - FolderID: UUID; - CreatorID: UUID; - OwnerID: UUID; - GroupID: UUID; - BaseMask: number; - OwnerMask: number; - GroupMask: number; - EveryoneMask: number; - NextOwnerMask: number; - GroupOwned: boolean; - TransactionID: UUID; - Type: number; - InvType: number; - Flags: number; - SaleType: number; - SalePrice: number; - Name: string; - Description: string; - CreationDate: number; - CRC: number; - }; - - getSize(): number - { - return (this.InventoryData['Name'].length + 1 + this.InventoryData['Description'].length + 1) + 260; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - this.RezData['FromTaskID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.RezData['BypassRaycast'], pos++); - this.RezData['RayStart'].writeToBuffer(buf, pos, false); - pos += 12; - this.RezData['RayEnd'].writeToBuffer(buf, pos, false); - pos += 12; - this.RezData['RayTargetID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.RezData['RayEndIsIntersection']) ? 1 : 0, pos++); - buf.writeUInt8((this.RezData['RezSelected']) ? 1 : 0, pos++); - buf.writeUInt8((this.RezData['RemoveItem']) ? 1 : 0, pos++); - buf.writeUInt32LE(this.RezData['ItemFlags'], pos); - pos += 4; - buf.writeUInt32LE(this.RezData['GroupMask'], pos); - pos += 4; - buf.writeUInt32LE(this.RezData['EveryoneMask'], pos); - pos += 4; - buf.writeUInt32LE(this.RezData['NextOwnerMask'], pos); - pos += 4; - this.InventoryData['ItemID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData['FolderID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData['CreatorID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.InventoryData['BaseMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData['OwnerMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData['GroupMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData['EveryoneMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData['NextOwnerMask'], pos); - pos += 4; - buf.writeUInt8((this.InventoryData['GroupOwned']) ? 1 : 0, pos++); - this.InventoryData['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt8(this.InventoryData['Type'], pos++); - buf.writeInt8(this.InventoryData['InvType'], pos++); - buf.writeUInt32LE(this.InventoryData['Flags'], pos); - pos += 4; - buf.writeUInt8(this.InventoryData['SaleType'], pos++); - buf.writeInt32LE(this.InventoryData['SalePrice'], pos); - pos += 4; - buf.write(this.InventoryData['Name'], pos); - pos += this.InventoryData['Name'].length; - buf.write(this.InventoryData['Description'], pos); - pos += this.InventoryData['Description'].length; - buf.writeInt32LE(this.InventoryData['CreationDate'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData['CRC'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - GroupID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - GroupID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjRezData: { - FromTaskID: UUID, - BypassRaycast: number, - RayStart: Vector3, - RayEnd: Vector3, - RayTargetID: UUID, - RayEndIsIntersection: boolean, - RezSelected: boolean, - RemoveItem: boolean, - ItemFlags: number, - GroupMask: number, - EveryoneMask: number, - NextOwnerMask: number - } = { - FromTaskID: UUID.zero(), - BypassRaycast: 0, - RayStart: Vector3.getZero(), - RayEnd: Vector3.getZero(), - RayTargetID: UUID.zero(), - RayEndIsIntersection: false, - RezSelected: false, - RemoveItem: false, - ItemFlags: 0, - GroupMask: 0, - EveryoneMask: 0, - NextOwnerMask: 0 - }; - newObjRezData['FromTaskID'] = new UUID(buf, pos); - pos += 16; - newObjRezData['BypassRaycast'] = buf.readUInt8(pos++); - newObjRezData['RayStart'] = new Vector3(buf, pos, false); - pos += 12; - newObjRezData['RayEnd'] = new Vector3(buf, pos, false); - pos += 12; - newObjRezData['RayTargetID'] = new UUID(buf, pos); - pos += 16; - newObjRezData['RayEndIsIntersection'] = (buf.readUInt8(pos++) === 1); - newObjRezData['RezSelected'] = (buf.readUInt8(pos++) === 1); - newObjRezData['RemoveItem'] = (buf.readUInt8(pos++) === 1); - newObjRezData['ItemFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjRezData['GroupMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjRezData['EveryoneMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjRezData['NextOwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - this.RezData = newObjRezData; - const newObjInventoryData: { - ItemID: UUID, - FolderID: UUID, - CreatorID: UUID, - OwnerID: UUID, - GroupID: UUID, - BaseMask: number, - OwnerMask: number, - GroupMask: number, - EveryoneMask: number, - NextOwnerMask: number, - GroupOwned: boolean, - TransactionID: UUID, - Type: number, - InvType: number, - Flags: number, - SaleType: number, - SalePrice: number, - Name: string, - Description: string, - CreationDate: number, - CRC: number - } = { - ItemID: UUID.zero(), - FolderID: UUID.zero(), - CreatorID: UUID.zero(), - OwnerID: UUID.zero(), - GroupID: UUID.zero(), - BaseMask: 0, - OwnerMask: 0, - GroupMask: 0, - EveryoneMask: 0, - NextOwnerMask: 0, - GroupOwned: false, - TransactionID: UUID.zero(), - Type: 0, - InvType: 0, - Flags: 0, - SaleType: 0, - SalePrice: 0, - Name: '', - Description: '', - CreationDate: 0, - CRC: 0 - }; - newObjInventoryData['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['FolderID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['CreatorID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['BaseMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['OwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['GroupMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['EveryoneMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['NextOwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['GroupOwned'] = (buf.readUInt8(pos++) === 1); - newObjInventoryData['TransactionID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['Type'] = buf.readInt8(pos++); - newObjInventoryData['InvType'] = buf.readInt8(pos++); - newObjInventoryData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['SaleType'] = buf.readUInt8(pos++); - newObjInventoryData['SalePrice'] = buf.readInt32LE(pos); - pos += 4; - newObjInventoryData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjInventoryData['Description'] = buf.toString('utf8', pos, length); - pos += length; - newObjInventoryData['CreationDate'] = buf.readInt32LE(pos); - pos += 4; - newObjInventoryData['CRC'] = buf.readUInt32LE(pos); - pos += 4; - this.InventoryData = newObjInventoryData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RezObjectFromNotecard.ts b/lib/classes/packets/RezObjectFromNotecard.ts deleted file mode 100644 index 31410e7..0000000 --- a/lib/classes/packets/RezObjectFromNotecard.ts +++ /dev/null @@ -1,184 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RezObjectFromNotecardPacket implements Packet -{ - name = 'RezObjectFromNotecard'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902054; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - GroupID: UUID; - }; - RezData: { - FromTaskID: UUID; - BypassRaycast: number; - RayStart: Vector3; - RayEnd: Vector3; - RayTargetID: UUID; - RayEndIsIntersection: boolean; - RezSelected: boolean; - RemoveItem: boolean; - ItemFlags: number; - GroupMask: number; - EveryoneMask: number; - NextOwnerMask: number; - }; - NotecardData: { - NotecardItemID: UUID; - ObjectID: UUID; - }; - InventoryData: { - ItemID: UUID; - }[]; - - getSize(): number - { - return ((16) * this.InventoryData.length) + 157; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - this.RezData['FromTaskID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.RezData['BypassRaycast'], pos++); - this.RezData['RayStart'].writeToBuffer(buf, pos, false); - pos += 12; - this.RezData['RayEnd'].writeToBuffer(buf, pos, false); - pos += 12; - this.RezData['RayTargetID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.RezData['RayEndIsIntersection']) ? 1 : 0, pos++); - buf.writeUInt8((this.RezData['RezSelected']) ? 1 : 0, pos++); - buf.writeUInt8((this.RezData['RemoveItem']) ? 1 : 0, pos++); - buf.writeUInt32LE(this.RezData['ItemFlags'], pos); - pos += 4; - buf.writeUInt32LE(this.RezData['GroupMask'], pos); - pos += 4; - buf.writeUInt32LE(this.RezData['EveryoneMask'], pos); - pos += 4; - buf.writeUInt32LE(this.RezData['NextOwnerMask'], pos); - pos += 4; - this.NotecardData['NotecardItemID'].writeToBuffer(buf, pos); - pos += 16; - this.NotecardData['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.InventoryData.length; - buf.writeUInt8(this.InventoryData.length, pos++); - for (let i = 0; i < count; i++) - { - this.InventoryData[i]['ItemID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - GroupID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - GroupID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjRezData: { - FromTaskID: UUID, - BypassRaycast: number, - RayStart: Vector3, - RayEnd: Vector3, - RayTargetID: UUID, - RayEndIsIntersection: boolean, - RezSelected: boolean, - RemoveItem: boolean, - ItemFlags: number, - GroupMask: number, - EveryoneMask: number, - NextOwnerMask: number - } = { - FromTaskID: UUID.zero(), - BypassRaycast: 0, - RayStart: Vector3.getZero(), - RayEnd: Vector3.getZero(), - RayTargetID: UUID.zero(), - RayEndIsIntersection: false, - RezSelected: false, - RemoveItem: false, - ItemFlags: 0, - GroupMask: 0, - EveryoneMask: 0, - NextOwnerMask: 0 - }; - newObjRezData['FromTaskID'] = new UUID(buf, pos); - pos += 16; - newObjRezData['BypassRaycast'] = buf.readUInt8(pos++); - newObjRezData['RayStart'] = new Vector3(buf, pos, false); - pos += 12; - newObjRezData['RayEnd'] = new Vector3(buf, pos, false); - pos += 12; - newObjRezData['RayTargetID'] = new UUID(buf, pos); - pos += 16; - newObjRezData['RayEndIsIntersection'] = (buf.readUInt8(pos++) === 1); - newObjRezData['RezSelected'] = (buf.readUInt8(pos++) === 1); - newObjRezData['RemoveItem'] = (buf.readUInt8(pos++) === 1); - newObjRezData['ItemFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjRezData['GroupMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjRezData['EveryoneMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjRezData['NextOwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - this.RezData = newObjRezData; - const newObjNotecardData: { - NotecardItemID: UUID, - ObjectID: UUID - } = { - NotecardItemID: UUID.zero(), - ObjectID: UUID.zero() - }; - newObjNotecardData['NotecardItemID'] = new UUID(buf, pos); - pos += 16; - newObjNotecardData['ObjectID'] = new UUID(buf, pos); - pos += 16; - this.NotecardData = newObjNotecardData; - const count = buf.readUInt8(pos++); - this.InventoryData = []; - for (let i = 0; i < count; i++) - { - const newObjInventoryData: { - ItemID: UUID - } = { - ItemID: UUID.zero() - }; - newObjInventoryData['ItemID'] = new UUID(buf, pos); - pos += 16; - this.InventoryData.push(newObjInventoryData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RezRestoreToWorld.ts b/lib/classes/packets/RezRestoreToWorld.ts deleted file mode 100644 index ab7519d..0000000 --- a/lib/classes/packets/RezRestoreToWorld.ts +++ /dev/null @@ -1,196 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RezRestoreToWorldPacket implements Packet -{ - name = 'RezRestoreToWorld'; - flags = MessageFlags.Deprecated | MessageFlags.FrequencyLow; - id = 4294902185; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - InventoryData: { - ItemID: UUID; - FolderID: UUID; - CreatorID: UUID; - OwnerID: UUID; - GroupID: UUID; - BaseMask: number; - OwnerMask: number; - GroupMask: number; - EveryoneMask: number; - NextOwnerMask: number; - GroupOwned: boolean; - TransactionID: UUID; - Type: number; - InvType: number; - Flags: number; - SaleType: number; - SalePrice: number; - Name: string; - Description: string; - CreationDate: number; - CRC: number; - }; - - getSize(): number - { - return (this.InventoryData['Name'].length + 1 + this.InventoryData['Description'].length + 1) + 168; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData['ItemID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData['FolderID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData['CreatorID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.InventoryData['BaseMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData['OwnerMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData['GroupMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData['EveryoneMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData['NextOwnerMask'], pos); - pos += 4; - buf.writeUInt8((this.InventoryData['GroupOwned']) ? 1 : 0, pos++); - this.InventoryData['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt8(this.InventoryData['Type'], pos++); - buf.writeInt8(this.InventoryData['InvType'], pos++); - buf.writeUInt32LE(this.InventoryData['Flags'], pos); - pos += 4; - buf.writeUInt8(this.InventoryData['SaleType'], pos++); - buf.writeInt32LE(this.InventoryData['SalePrice'], pos); - pos += 4; - buf.write(this.InventoryData['Name'], pos); - pos += this.InventoryData['Name'].length; - buf.write(this.InventoryData['Description'], pos); - pos += this.InventoryData['Description'].length; - buf.writeInt32LE(this.InventoryData['CreationDate'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData['CRC'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjInventoryData: { - ItemID: UUID, - FolderID: UUID, - CreatorID: UUID, - OwnerID: UUID, - GroupID: UUID, - BaseMask: number, - OwnerMask: number, - GroupMask: number, - EveryoneMask: number, - NextOwnerMask: number, - GroupOwned: boolean, - TransactionID: UUID, - Type: number, - InvType: number, - Flags: number, - SaleType: number, - SalePrice: number, - Name: string, - Description: string, - CreationDate: number, - CRC: number - } = { - ItemID: UUID.zero(), - FolderID: UUID.zero(), - CreatorID: UUID.zero(), - OwnerID: UUID.zero(), - GroupID: UUID.zero(), - BaseMask: 0, - OwnerMask: 0, - GroupMask: 0, - EveryoneMask: 0, - NextOwnerMask: 0, - GroupOwned: false, - TransactionID: UUID.zero(), - Type: 0, - InvType: 0, - Flags: 0, - SaleType: 0, - SalePrice: 0, - Name: '', - Description: '', - CreationDate: 0, - CRC: 0 - }; - newObjInventoryData['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['FolderID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['CreatorID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['BaseMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['OwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['GroupMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['EveryoneMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['NextOwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['GroupOwned'] = (buf.readUInt8(pos++) === 1); - newObjInventoryData['TransactionID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['Type'] = buf.readInt8(pos++); - newObjInventoryData['InvType'] = buf.readInt8(pos++); - newObjInventoryData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['SaleType'] = buf.readUInt8(pos++); - newObjInventoryData['SalePrice'] = buf.readInt32LE(pos); - pos += 4; - newObjInventoryData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjInventoryData['Description'] = buf.toString('utf8', pos, length); - pos += length; - newObjInventoryData['CreationDate'] = buf.readInt32LE(pos); - pos += 4; - newObjInventoryData['CRC'] = buf.readUInt32LE(pos); - pos += 4; - this.InventoryData = newObjInventoryData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RezScript.ts b/lib/classes/packets/RezScript.ts deleted file mode 100644 index 4b90bbf..0000000 --- a/lib/classes/packets/RezScript.ts +++ /dev/null @@ -1,221 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RezScriptPacket implements Packet -{ - name = 'RezScript'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902064; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - GroupID: UUID; - }; - UpdateBlock: { - ObjectLocalID: number; - Enabled: boolean; - }; - InventoryBlock: { - ItemID: UUID; - FolderID: UUID; - CreatorID: UUID; - OwnerID: UUID; - GroupID: UUID; - BaseMask: number; - OwnerMask: number; - GroupMask: number; - EveryoneMask: number; - NextOwnerMask: number; - GroupOwned: boolean; - TransactionID: UUID; - Type: number; - InvType: number; - Flags: number; - SaleType: number; - SalePrice: number; - Name: string; - Description: string; - CreationDate: number; - CRC: number; - }; - - getSize(): number - { - return (this.InventoryBlock['Name'].length + 1 + this.InventoryBlock['Description'].length + 1) + 189; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.UpdateBlock['ObjectLocalID'], pos); - pos += 4; - buf.writeUInt8((this.UpdateBlock['Enabled']) ? 1 : 0, pos++); - this.InventoryBlock['ItemID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryBlock['FolderID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryBlock['CreatorID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryBlock['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryBlock['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.InventoryBlock['BaseMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryBlock['OwnerMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryBlock['GroupMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryBlock['EveryoneMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryBlock['NextOwnerMask'], pos); - pos += 4; - buf.writeUInt8((this.InventoryBlock['GroupOwned']) ? 1 : 0, pos++); - this.InventoryBlock['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt8(this.InventoryBlock['Type'], pos++); - buf.writeInt8(this.InventoryBlock['InvType'], pos++); - buf.writeUInt32LE(this.InventoryBlock['Flags'], pos); - pos += 4; - buf.writeUInt8(this.InventoryBlock['SaleType'], pos++); - buf.writeInt32LE(this.InventoryBlock['SalePrice'], pos); - pos += 4; - buf.write(this.InventoryBlock['Name'], pos); - pos += this.InventoryBlock['Name'].length; - buf.write(this.InventoryBlock['Description'], pos); - pos += this.InventoryBlock['Description'].length; - buf.writeInt32LE(this.InventoryBlock['CreationDate'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryBlock['CRC'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - GroupID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - GroupID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjUpdateBlock: { - ObjectLocalID: number, - Enabled: boolean - } = { - ObjectLocalID: 0, - Enabled: false - }; - newObjUpdateBlock['ObjectLocalID'] = buf.readUInt32LE(pos); - pos += 4; - newObjUpdateBlock['Enabled'] = (buf.readUInt8(pos++) === 1); - this.UpdateBlock = newObjUpdateBlock; - const newObjInventoryBlock: { - ItemID: UUID, - FolderID: UUID, - CreatorID: UUID, - OwnerID: UUID, - GroupID: UUID, - BaseMask: number, - OwnerMask: number, - GroupMask: number, - EveryoneMask: number, - NextOwnerMask: number, - GroupOwned: boolean, - TransactionID: UUID, - Type: number, - InvType: number, - Flags: number, - SaleType: number, - SalePrice: number, - Name: string, - Description: string, - CreationDate: number, - CRC: number - } = { - ItemID: UUID.zero(), - FolderID: UUID.zero(), - CreatorID: UUID.zero(), - OwnerID: UUID.zero(), - GroupID: UUID.zero(), - BaseMask: 0, - OwnerMask: 0, - GroupMask: 0, - EveryoneMask: 0, - NextOwnerMask: 0, - GroupOwned: false, - TransactionID: UUID.zero(), - Type: 0, - InvType: 0, - Flags: 0, - SaleType: 0, - SalePrice: 0, - Name: '', - Description: '', - CreationDate: 0, - CRC: 0 - }; - newObjInventoryBlock['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryBlock['FolderID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryBlock['CreatorID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryBlock['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryBlock['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryBlock['BaseMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryBlock['OwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryBlock['GroupMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryBlock['EveryoneMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryBlock['NextOwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryBlock['GroupOwned'] = (buf.readUInt8(pos++) === 1); - newObjInventoryBlock['TransactionID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryBlock['Type'] = buf.readInt8(pos++); - newObjInventoryBlock['InvType'] = buf.readInt8(pos++); - newObjInventoryBlock['Flags'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryBlock['SaleType'] = buf.readUInt8(pos++); - newObjInventoryBlock['SalePrice'] = buf.readInt32LE(pos); - pos += 4; - newObjInventoryBlock['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjInventoryBlock['Description'] = buf.toString('utf8', pos, length); - pos += length; - newObjInventoryBlock['CreationDate'] = buf.readInt32LE(pos); - pos += 4; - newObjInventoryBlock['CRC'] = buf.readUInt32LE(pos); - pos += 4; - this.InventoryBlock = newObjInventoryBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RezSingleAttachmentFromInv.ts b/lib/classes/packets/RezSingleAttachmentFromInv.ts deleted file mode 100644 index 43c943d..0000000 --- a/lib/classes/packets/RezSingleAttachmentFromInv.ts +++ /dev/null @@ -1,118 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RezSingleAttachmentFromInvPacket implements Packet -{ - name = 'RezSingleAttachmentFromInv'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902155; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ObjectData: { - ItemID: UUID; - OwnerID: UUID; - AttachmentPt: number; - ItemFlags: number; - GroupMask: number; - EveryoneMask: number; - NextOwnerMask: number; - Name: string; - Description: string; - }; - - getSize(): number - { - return (this.ObjectData['Name'].length + 1 + this.ObjectData['Description'].length + 1) + 81; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.ObjectData['ItemID'].writeToBuffer(buf, pos); - pos += 16; - this.ObjectData['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.ObjectData['AttachmentPt'], pos++); - buf.writeUInt32LE(this.ObjectData['ItemFlags'], pos); - pos += 4; - buf.writeUInt32LE(this.ObjectData['GroupMask'], pos); - pos += 4; - buf.writeUInt32LE(this.ObjectData['EveryoneMask'], pos); - pos += 4; - buf.writeUInt32LE(this.ObjectData['NextOwnerMask'], pos); - pos += 4; - buf.write(this.ObjectData['Name'], pos); - pos += this.ObjectData['Name'].length; - buf.write(this.ObjectData['Description'], pos); - pos += this.ObjectData['Description'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjObjectData: { - ItemID: UUID, - OwnerID: UUID, - AttachmentPt: number, - ItemFlags: number, - GroupMask: number, - EveryoneMask: number, - NextOwnerMask: number, - Name: string, - Description: string - } = { - ItemID: UUID.zero(), - OwnerID: UUID.zero(), - AttachmentPt: 0, - ItemFlags: 0, - GroupMask: 0, - EveryoneMask: 0, - NextOwnerMask: 0, - Name: '', - Description: '' - }; - newObjObjectData['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjObjectData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjObjectData['AttachmentPt'] = buf.readUInt8(pos++); - newObjObjectData['ItemFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['GroupMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['EveryoneMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['NextOwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjObjectData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjObjectData['Description'] = buf.toString('utf8', pos, length); - pos += length; - this.ObjectData = newObjObjectData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RoutedMoneyBalanceReply.ts b/lib/classes/packets/RoutedMoneyBalanceReply.ts deleted file mode 100644 index 972361f..0000000 --- a/lib/classes/packets/RoutedMoneyBalanceReply.ts +++ /dev/null @@ -1,156 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {IPAddress} from '../IPAddress'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RoutedMoneyBalanceReplyPacket implements Packet -{ - name = 'RoutedMoneyBalanceReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyLow; - id = 4294902075; - - TargetBlock: { - TargetIP: IPAddress; - TargetPort: number; - }; - MoneyData: { - AgentID: UUID; - TransactionID: UUID; - TransactionSuccess: boolean; - MoneyBalance: number; - SquareMetersCredit: number; - SquareMetersCommitted: number; - Description: string; - }; - TransactionInfo: { - TransactionType: number; - SourceID: UUID; - IsSourceGroup: boolean; - DestID: UUID; - IsDestGroup: boolean; - Amount: number; - ItemDescription: string; - }; - - getSize(): number - { - return (this.MoneyData['Description'].length + 1) + (this.TransactionInfo['ItemDescription'].length + 1) + 93; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.TargetBlock['TargetIP'].writeToBuffer(buf, pos); - pos += 4; - buf.writeUInt16LE(this.TargetBlock['TargetPort'], pos); - pos += 2; - this.MoneyData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.MoneyData['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.MoneyData['TransactionSuccess']) ? 1 : 0, pos++); - buf.writeInt32LE(this.MoneyData['MoneyBalance'], pos); - pos += 4; - buf.writeInt32LE(this.MoneyData['SquareMetersCredit'], pos); - pos += 4; - buf.writeInt32LE(this.MoneyData['SquareMetersCommitted'], pos); - pos += 4; - buf.write(this.MoneyData['Description'], pos); - pos += this.MoneyData['Description'].length; - buf.writeInt32LE(this.TransactionInfo['TransactionType'], pos); - pos += 4; - this.TransactionInfo['SourceID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.TransactionInfo['IsSourceGroup']) ? 1 : 0, pos++); - this.TransactionInfo['DestID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.TransactionInfo['IsDestGroup']) ? 1 : 0, pos++); - buf.writeInt32LE(this.TransactionInfo['Amount'], pos); - pos += 4; - buf.write(this.TransactionInfo['ItemDescription'], pos); - pos += this.TransactionInfo['ItemDescription'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjTargetBlock: { - TargetIP: IPAddress, - TargetPort: number - } = { - TargetIP: IPAddress.zero(), - TargetPort: 0 - }; - newObjTargetBlock['TargetIP'] = new IPAddress(buf, pos); - pos += 4; - newObjTargetBlock['TargetPort'] = buf.readUInt16LE(pos); - pos += 2; - this.TargetBlock = newObjTargetBlock; - const newObjMoneyData: { - AgentID: UUID, - TransactionID: UUID, - TransactionSuccess: boolean, - MoneyBalance: number, - SquareMetersCredit: number, - SquareMetersCommitted: number, - Description: string - } = { - AgentID: UUID.zero(), - TransactionID: UUID.zero(), - TransactionSuccess: false, - MoneyBalance: 0, - SquareMetersCredit: 0, - SquareMetersCommitted: 0, - Description: '' - }; - newObjMoneyData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjMoneyData['TransactionID'] = new UUID(buf, pos); - pos += 16; - newObjMoneyData['TransactionSuccess'] = (buf.readUInt8(pos++) === 1); - newObjMoneyData['MoneyBalance'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['SquareMetersCredit'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['SquareMetersCommitted'] = buf.readInt32LE(pos); - pos += 4; - newObjMoneyData['Description'] = buf.toString('utf8', pos, length); - pos += length; - this.MoneyData = newObjMoneyData; - const newObjTransactionInfo: { - TransactionType: number, - SourceID: UUID, - IsSourceGroup: boolean, - DestID: UUID, - IsDestGroup: boolean, - Amount: number, - ItemDescription: string - } = { - TransactionType: 0, - SourceID: UUID.zero(), - IsSourceGroup: false, - DestID: UUID.zero(), - IsDestGroup: false, - Amount: 0, - ItemDescription: '' - }; - newObjTransactionInfo['TransactionType'] = buf.readInt32LE(pos); - pos += 4; - newObjTransactionInfo['SourceID'] = new UUID(buf, pos); - pos += 16; - newObjTransactionInfo['IsSourceGroup'] = (buf.readUInt8(pos++) === 1); - newObjTransactionInfo['DestID'] = new UUID(buf, pos); - pos += 16; - newObjTransactionInfo['IsDestGroup'] = (buf.readUInt8(pos++) === 1); - newObjTransactionInfo['Amount'] = buf.readInt32LE(pos); - pos += 4; - newObjTransactionInfo['ItemDescription'] = buf.toString('utf8', pos, length); - pos += length; - this.TransactionInfo = newObjTransactionInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RpcChannelReply.ts b/lib/classes/packets/RpcChannelReply.ts deleted file mode 100644 index acb3005..0000000 --- a/lib/classes/packets/RpcChannelReply.ts +++ /dev/null @@ -1,58 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RpcChannelReplyPacket implements Packet -{ - name = 'RpcChannelReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902174; - - DataBlock: { - TaskID: UUID; - ItemID: UUID; - ChannelID: UUID; - }; - - getSize(): number - { - return 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.DataBlock['TaskID'].writeToBuffer(buf, pos); - pos += 16; - this.DataBlock['ItemID'].writeToBuffer(buf, pos); - pos += 16; - this.DataBlock['ChannelID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjDataBlock: { - TaskID: UUID, - ItemID: UUID, - ChannelID: UUID - } = { - TaskID: UUID.zero(), - ItemID: UUID.zero(), - ChannelID: UUID.zero() - }; - newObjDataBlock['TaskID'] = new UUID(buf, pos); - pos += 16; - newObjDataBlock['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjDataBlock['ChannelID'] = new UUID(buf, pos); - pos += 16; - this.DataBlock = newObjDataBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RpcChannelRequest.ts b/lib/classes/packets/RpcChannelRequest.ts deleted file mode 100644 index 76de7c6..0000000 --- a/lib/classes/packets/RpcChannelRequest.ts +++ /dev/null @@ -1,65 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RpcChannelRequestPacket implements Packet -{ - name = 'RpcChannelRequest'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902173; - - DataBlock: { - GridX: number; - GridY: number; - TaskID: UUID; - ItemID: UUID; - }; - - getSize(): number - { - return 40; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeUInt32LE(this.DataBlock['GridX'], pos); - pos += 4; - buf.writeUInt32LE(this.DataBlock['GridY'], pos); - pos += 4; - this.DataBlock['TaskID'].writeToBuffer(buf, pos); - pos += 16; - this.DataBlock['ItemID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjDataBlock: { - GridX: number, - GridY: number, - TaskID: UUID, - ItemID: UUID - } = { - GridX: 0, - GridY: 0, - TaskID: UUID.zero(), - ItemID: UUID.zero() - }; - newObjDataBlock['GridX'] = buf.readUInt32LE(pos); - pos += 4; - newObjDataBlock['GridY'] = buf.readUInt32LE(pos); - pos += 4; - newObjDataBlock['TaskID'] = new UUID(buf, pos); - pos += 16; - newObjDataBlock['ItemID'] = new UUID(buf, pos); - pos += 16; - this.DataBlock = newObjDataBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RpcScriptReplyInbound.ts b/lib/classes/packets/RpcScriptReplyInbound.ts deleted file mode 100644 index aff2564..0000000 --- a/lib/classes/packets/RpcScriptReplyInbound.ts +++ /dev/null @@ -1,72 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RpcScriptReplyInboundPacket implements Packet -{ - name = 'RpcScriptReplyInbound'; - flags = MessageFlags.FrequencyLow; - id = 4294902177; - - DataBlock: { - TaskID: UUID; - ItemID: UUID; - ChannelID: UUID; - IntValue: number; - StringValue: string; - }; - - getSize(): number - { - return (this.DataBlock['StringValue'].length + 2) + 52; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.DataBlock['TaskID'].writeToBuffer(buf, pos); - pos += 16; - this.DataBlock['ItemID'].writeToBuffer(buf, pos); - pos += 16; - this.DataBlock['ChannelID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.DataBlock['IntValue'], pos); - pos += 4; - buf.write(this.DataBlock['StringValue'], pos); - pos += this.DataBlock['StringValue'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjDataBlock: { - TaskID: UUID, - ItemID: UUID, - ChannelID: UUID, - IntValue: number, - StringValue: string - } = { - TaskID: UUID.zero(), - ItemID: UUID.zero(), - ChannelID: UUID.zero(), - IntValue: 0, - StringValue: '' - }; - newObjDataBlock['TaskID'] = new UUID(buf, pos); - pos += 16; - newObjDataBlock['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjDataBlock['ChannelID'] = new UUID(buf, pos); - pos += 16; - newObjDataBlock['IntValue'] = buf.readUInt32LE(pos); - pos += 4; - newObjDataBlock['StringValue'] = buf.toString('utf8', pos, length); - pos += length; - this.DataBlock = newObjDataBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RpcScriptRequestInbound.ts b/lib/classes/packets/RpcScriptRequestInbound.ts deleted file mode 100644 index 9753f67..0000000 --- a/lib/classes/packets/RpcScriptRequestInbound.ts +++ /dev/null @@ -1,92 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RpcScriptRequestInboundPacket implements Packet -{ - name = 'RpcScriptRequestInbound'; - flags = MessageFlags.FrequencyLow; - id = 4294902175; - - TargetBlock: { - GridX: number; - GridY: number; - }; - DataBlock: { - TaskID: UUID; - ItemID: UUID; - ChannelID: UUID; - IntValue: number; - StringValue: string; - }; - - getSize(): number - { - return (this.DataBlock['StringValue'].length + 2) + 60; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeUInt32LE(this.TargetBlock['GridX'], pos); - pos += 4; - buf.writeUInt32LE(this.TargetBlock['GridY'], pos); - pos += 4; - this.DataBlock['TaskID'].writeToBuffer(buf, pos); - pos += 16; - this.DataBlock['ItemID'].writeToBuffer(buf, pos); - pos += 16; - this.DataBlock['ChannelID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.DataBlock['IntValue'], pos); - pos += 4; - buf.write(this.DataBlock['StringValue'], pos); - pos += this.DataBlock['StringValue'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjTargetBlock: { - GridX: number, - GridY: number - } = { - GridX: 0, - GridY: 0 - }; - newObjTargetBlock['GridX'] = buf.readUInt32LE(pos); - pos += 4; - newObjTargetBlock['GridY'] = buf.readUInt32LE(pos); - pos += 4; - this.TargetBlock = newObjTargetBlock; - const newObjDataBlock: { - TaskID: UUID, - ItemID: UUID, - ChannelID: UUID, - IntValue: number, - StringValue: string - } = { - TaskID: UUID.zero(), - ItemID: UUID.zero(), - ChannelID: UUID.zero(), - IntValue: 0, - StringValue: '' - }; - newObjDataBlock['TaskID'] = new UUID(buf, pos); - pos += 16; - newObjDataBlock['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjDataBlock['ChannelID'] = new UUID(buf, pos); - pos += 16; - newObjDataBlock['IntValue'] = buf.readUInt32LE(pos); - pos += 4; - newObjDataBlock['StringValue'] = buf.toString('utf8', pos, length); - pos += length; - this.DataBlock = newObjDataBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/RpcScriptRequestInboundForward.ts b/lib/classes/packets/RpcScriptRequestInboundForward.ts deleted file mode 100644 index e69d968..0000000 --- a/lib/classes/packets/RpcScriptRequestInboundForward.ts +++ /dev/null @@ -1,87 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {IPAddress} from '../IPAddress'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class RpcScriptRequestInboundForwardPacket implements Packet -{ - name = 'RpcScriptRequestInboundForward'; - flags = MessageFlags.Trusted | MessageFlags.Deprecated | MessageFlags.FrequencyLow; - id = 4294902176; - - DataBlock: { - RPCServerIP: IPAddress; - RPCServerPort: number; - TaskID: UUID; - ItemID: UUID; - ChannelID: UUID; - IntValue: number; - StringValue: string; - }; - - getSize(): number - { - return (this.DataBlock['StringValue'].length + 2) + 58; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.DataBlock['RPCServerIP'].writeToBuffer(buf, pos); - pos += 4; - buf.writeUInt16LE(this.DataBlock['RPCServerPort'], pos); - pos += 2; - this.DataBlock['TaskID'].writeToBuffer(buf, pos); - pos += 16; - this.DataBlock['ItemID'].writeToBuffer(buf, pos); - pos += 16; - this.DataBlock['ChannelID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.DataBlock['IntValue'], pos); - pos += 4; - buf.write(this.DataBlock['StringValue'], pos); - pos += this.DataBlock['StringValue'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjDataBlock: { - RPCServerIP: IPAddress, - RPCServerPort: number, - TaskID: UUID, - ItemID: UUID, - ChannelID: UUID, - IntValue: number, - StringValue: string - } = { - RPCServerIP: IPAddress.zero(), - RPCServerPort: 0, - TaskID: UUID.zero(), - ItemID: UUID.zero(), - ChannelID: UUID.zero(), - IntValue: 0, - StringValue: '' - }; - newObjDataBlock['RPCServerIP'] = new IPAddress(buf, pos); - pos += 4; - newObjDataBlock['RPCServerPort'] = buf.readUInt16LE(pos); - pos += 2; - newObjDataBlock['TaskID'] = new UUID(buf, pos); - pos += 16; - newObjDataBlock['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjDataBlock['ChannelID'] = new UUID(buf, pos); - pos += 16; - newObjDataBlock['IntValue'] = buf.readUInt32LE(pos); - pos += 4; - newObjDataBlock['StringValue'] = buf.toString('utf8', pos, length); - pos += length; - this.DataBlock = newObjDataBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/SaveAssetIntoInventory.ts b/lib/classes/packets/SaveAssetIntoInventory.ts deleted file mode 100644 index c5e0466..0000000 --- a/lib/classes/packets/SaveAssetIntoInventory.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SaveAssetIntoInventoryPacket implements Packet -{ - name = 'SaveAssetIntoInventory'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902032; - - AgentData: { - AgentID: UUID; - }; - InventoryData: { - ItemID: UUID; - NewAssetID: UUID; - }; - - getSize(): number - { - return 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData['ItemID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData['NewAssetID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjInventoryData: { - ItemID: UUID, - NewAssetID: UUID - } = { - ItemID: UUID.zero(), - NewAssetID: UUID.zero() - }; - newObjInventoryData['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['NewAssetID'] = new UUID(buf, pos); - pos += 16; - this.InventoryData = newObjInventoryData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ScriptAnswerYes.ts b/lib/classes/packets/ScriptAnswerYes.ts deleted file mode 100644 index 3425e84..0000000 --- a/lib/classes/packets/ScriptAnswerYes.ts +++ /dev/null @@ -1,78 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ScriptAnswerYesPacket implements Packet -{ - name = 'ScriptAnswerYes'; - flags = MessageFlags.FrequencyLow; - id = 4294901892; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - TaskID: UUID; - ItemID: UUID; - Questions: number; - }; - - getSize(): number - { - return 68; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['TaskID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['ItemID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.Data['Questions'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - TaskID: UUID, - ItemID: UUID, - Questions: number - } = { - TaskID: UUID.zero(), - ItemID: UUID.zero(), - Questions: 0 - }; - newObjData['TaskID'] = new UUID(buf, pos); - pos += 16; - newObjData['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjData['Questions'] = buf.readInt32LE(pos); - pos += 4; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ScriptControlChange.ts b/lib/classes/packets/ScriptControlChange.ts deleted file mode 100644 index e560ab7..0000000 --- a/lib/classes/packets/ScriptControlChange.ts +++ /dev/null @@ -1,63 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ScriptControlChangePacket implements Packet -{ - name = 'ScriptControlChange'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901949; - - Data: { - TakeControls: boolean; - Controls: number; - PassToAgent: boolean; - }[]; - - getSize(): number - { - return ((6) * this.Data.length) + 1; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.Data.length; - buf.writeUInt8(this.Data.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt8((this.Data[i]['TakeControls']) ? 1 : 0, pos++); - buf.writeUInt32LE(this.Data[i]['Controls'], pos); - pos += 4; - buf.writeUInt8((this.Data[i]['PassToAgent']) ? 1 : 0, pos++); - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.Data = []; - for (let i = 0; i < count; i++) - { - const newObjData: { - TakeControls: boolean, - Controls: number, - PassToAgent: boolean - } = { - TakeControls: false, - Controls: 0, - PassToAgent: false - }; - newObjData['TakeControls'] = (buf.readUInt8(pos++) === 1); - newObjData['Controls'] = buf.readUInt32LE(pos); - pos += 4; - newObjData['PassToAgent'] = (buf.readUInt8(pos++) === 1); - this.Data.push(newObjData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ScriptDataReply.ts b/lib/classes/packets/ScriptDataReply.ts deleted file mode 100644 index efafee0..0000000 --- a/lib/classes/packets/ScriptDataReply.ts +++ /dev/null @@ -1,73 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ScriptDataReplyPacket implements Packet -{ - name = 'ScriptDataReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902098; - - DataBlock: { - Hash: Long; - Reply: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.DataBlock, 'Reply', 2) + 8) * this.DataBlock.length) + 1; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.DataBlock.length; - buf.writeUInt8(this.DataBlock.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeInt32LE(this.DataBlock[i]['Hash'].low, pos); - pos += 4; - buf.writeInt32LE(this.DataBlock[i]['Hash'].high, pos); - pos += 4; - buf.write(this.DataBlock[i]['Reply'], pos); - pos += this.DataBlock[i]['Reply'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.DataBlock = []; - for (let i = 0; i < count; i++) - { - const newObjDataBlock: { - Hash: Long, - Reply: string - } = { - Hash: Long.ZERO, - Reply: '' - }; - newObjDataBlock['Hash'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjDataBlock['Reply'] = buf.toString('utf8', pos, length); - pos += length; - this.DataBlock.push(newObjDataBlock); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ScriptDataRequest.ts b/lib/classes/packets/ScriptDataRequest.ts deleted file mode 100644 index 5a5b40a..0000000 --- a/lib/classes/packets/ScriptDataRequest.ts +++ /dev/null @@ -1,78 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ScriptDataRequestPacket implements Packet -{ - name = 'ScriptDataRequest'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902097; - - DataBlock: { - Hash: Long; - RequestType: number; - Request: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.DataBlock, 'Request', 2) + 9) * this.DataBlock.length) + 1; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.DataBlock.length; - buf.writeUInt8(this.DataBlock.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeInt32LE(this.DataBlock[i]['Hash'].low, pos); - pos += 4; - buf.writeInt32LE(this.DataBlock[i]['Hash'].high, pos); - pos += 4; - buf.writeInt8(this.DataBlock[i]['RequestType'], pos++); - buf.write(this.DataBlock[i]['Request'], pos); - pos += this.DataBlock[i]['Request'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.DataBlock = []; - for (let i = 0; i < count; i++) - { - const newObjDataBlock: { - Hash: Long, - RequestType: number, - Request: string - } = { - Hash: Long.ZERO, - RequestType: 0, - Request: '' - }; - newObjDataBlock['Hash'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjDataBlock['RequestType'] = buf.readInt8(pos++); - newObjDataBlock['Request'] = buf.toString('utf8', pos, length); - pos += length; - this.DataBlock.push(newObjDataBlock); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ScriptDialog.ts b/lib/classes/packets/ScriptDialog.ts deleted file mode 100644 index cd8ab35..0000000 --- a/lib/classes/packets/ScriptDialog.ts +++ /dev/null @@ -1,142 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ScriptDialogPacket implements Packet -{ - name = 'ScriptDialog'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901950; - - Data: { - ObjectID: UUID; - FirstName: string; - LastName: string; - ObjectName: string; - Message: string; - ChatChannel: number; - ImageID: UUID; - }; - Buttons: { - ButtonLabel: string; - }[]; - OwnerData: { - OwnerID: UUID; - }[]; - - getSize(): number - { - return (this.Data['FirstName'].length + 1 + this.Data['LastName'].length + 1 + this.Data['ObjectName'].length + 1 + this.Data['Message'].length + 2) + ((this.calculateVarVarSize(this.Buttons, 'ButtonLabel', 1)) * this.Buttons.length) + ((16) * this.OwnerData.length) + 38; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.Data['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.Data['FirstName'], pos); - pos += this.Data['FirstName'].length; - buf.write(this.Data['LastName'], pos); - pos += this.Data['LastName'].length; - buf.write(this.Data['ObjectName'], pos); - pos += this.Data['ObjectName'].length; - buf.write(this.Data['Message'], pos); - pos += this.Data['Message'].length; - buf.writeInt32LE(this.Data['ChatChannel'], pos); - pos += 4; - this.Data['ImageID'].writeToBuffer(buf, pos); - pos += 16; - let count = this.Buttons.length; - buf.writeUInt8(this.Buttons.length, pos++); - for (let i = 0; i < count; i++) - { - buf.write(this.Buttons[i]['ButtonLabel'], pos); - pos += this.Buttons[i]['ButtonLabel'].length; - } - count = this.OwnerData.length; - buf.writeUInt8(this.OwnerData.length, pos++); - for (let i = 0; i < count; i++) - { - this.OwnerData[i]['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjData: { - ObjectID: UUID, - FirstName: string, - LastName: string, - ObjectName: string, - Message: string, - ChatChannel: number, - ImageID: UUID - } = { - ObjectID: UUID.zero(), - FirstName: '', - LastName: '', - ObjectName: '', - Message: '', - ChatChannel: 0, - ImageID: UUID.zero() - }; - newObjData['ObjectID'] = new UUID(buf, pos); - pos += 16; - newObjData['FirstName'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['LastName'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['ObjectName'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['Message'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['ChatChannel'] = buf.readInt32LE(pos); - pos += 4; - newObjData['ImageID'] = new UUID(buf, pos); - pos += 16; - this.Data = newObjData; - let count = buf.readUInt8(pos++); - this.Buttons = []; - for (let i = 0; i < count; i++) - { - const newObjButtons: { - ButtonLabel: string - } = { - ButtonLabel: '' - }; - newObjButtons['ButtonLabel'] = buf.toString('utf8', pos, length); - pos += length; - this.Buttons.push(newObjButtons); - } - count = buf.readUInt8(pos++); - this.OwnerData = []; - for (let i = 0; i < count; i++) - { - const newObjOwnerData: { - OwnerID: UUID - } = { - OwnerID: UUID.zero() - }; - newObjOwnerData['OwnerID'] = new UUID(buf, pos); - pos += 16; - this.OwnerData.push(newObjOwnerData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ScriptDialogReply.ts b/lib/classes/packets/ScriptDialogReply.ts deleted file mode 100644 index e917b8d..0000000 --- a/lib/classes/packets/ScriptDialogReply.ts +++ /dev/null @@ -1,85 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ScriptDialogReplyPacket implements Packet -{ - name = 'ScriptDialogReply'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901951; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - ObjectID: UUID; - ChatChannel: number; - ButtonIndex: number; - ButtonLabel: string; - }; - - getSize(): number - { - return (this.Data['ButtonLabel'].length + 1) + 56; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.Data['ChatChannel'], pos); - pos += 4; - buf.writeInt32LE(this.Data['ButtonIndex'], pos); - pos += 4; - buf.write(this.Data['ButtonLabel'], pos); - pos += this.Data['ButtonLabel'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - ObjectID: UUID, - ChatChannel: number, - ButtonIndex: number, - ButtonLabel: string - } = { - ObjectID: UUID.zero(), - ChatChannel: 0, - ButtonIndex: 0, - ButtonLabel: '' - }; - newObjData['ObjectID'] = new UUID(buf, pos); - pos += 16; - newObjData['ChatChannel'] = buf.readInt32LE(pos); - pos += 4; - newObjData['ButtonIndex'] = buf.readInt32LE(pos); - pos += 4; - newObjData['ButtonLabel'] = buf.toString('utf8', pos, length); - pos += length; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ScriptMailRegistration.ts b/lib/classes/packets/ScriptMailRegistration.ts deleted file mode 100644 index f21a902..0000000 --- a/lib/classes/packets/ScriptMailRegistration.ts +++ /dev/null @@ -1,65 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ScriptMailRegistrationPacket implements Packet -{ - name = 'ScriptMailRegistration'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902178; - - DataBlock: { - TargetIP: string; - TargetPort: number; - TaskID: UUID; - Flags: number; - }; - - getSize(): number - { - return (this.DataBlock['TargetIP'].length + 1) + 22; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.write(this.DataBlock['TargetIP'], pos); - pos += this.DataBlock['TargetIP'].length; - buf.writeUInt16LE(this.DataBlock['TargetPort'], pos); - pos += 2; - this.DataBlock['TaskID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.DataBlock['Flags'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjDataBlock: { - TargetIP: string, - TargetPort: number, - TaskID: UUID, - Flags: number - } = { - TargetIP: '', - TargetPort: 0, - TaskID: UUID.zero(), - Flags: 0 - }; - newObjDataBlock['TargetIP'] = buf.toString('utf8', pos, length); - pos += length; - newObjDataBlock['TargetPort'] = buf.readUInt16LE(pos); - pos += 2; - newObjDataBlock['TaskID'] = new UUID(buf, pos); - pos += 16; - newObjDataBlock['Flags'] = buf.readUInt32LE(pos); - pos += 4; - this.DataBlock = newObjDataBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ScriptQuestion.ts b/lib/classes/packets/ScriptQuestion.ts deleted file mode 100644 index 493f8e4..0000000 --- a/lib/classes/packets/ScriptQuestion.ts +++ /dev/null @@ -1,85 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ScriptQuestionPacket implements Packet -{ - name = 'ScriptQuestion'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901948; - - Data: { - TaskID: UUID; - ItemID: UUID; - ObjectName: string; - ObjectOwner: string; - Questions: number; - }; - Experience: { - ExperienceID: UUID; - }; - - getSize(): number - { - return (this.Data['ObjectName'].length + 1 + this.Data['ObjectOwner'].length + 1) + 52; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.Data['TaskID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['ItemID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.Data['ObjectName'], pos); - pos += this.Data['ObjectName'].length; - buf.write(this.Data['ObjectOwner'], pos); - pos += this.Data['ObjectOwner'].length; - buf.writeInt32LE(this.Data['Questions'], pos); - pos += 4; - this.Experience['ExperienceID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjData: { - TaskID: UUID, - ItemID: UUID, - ObjectName: string, - ObjectOwner: string, - Questions: number - } = { - TaskID: UUID.zero(), - ItemID: UUID.zero(), - ObjectName: '', - ObjectOwner: '', - Questions: 0 - }; - newObjData['TaskID'] = new UUID(buf, pos); - pos += 16; - newObjData['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjData['ObjectName'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['ObjectOwner'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['Questions'] = buf.readInt32LE(pos); - pos += 4; - this.Data = newObjData; - const newObjExperience: { - ExperienceID: UUID - } = { - ExperienceID: UUID.zero() - }; - newObjExperience['ExperienceID'] = new UUID(buf, pos); - pos += 16; - this.Experience = newObjExperience; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ScriptReset.ts b/lib/classes/packets/ScriptReset.ts deleted file mode 100644 index d6592ab..0000000 --- a/lib/classes/packets/ScriptReset.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ScriptResetPacket implements Packet -{ - name = 'ScriptReset'; - flags = MessageFlags.FrequencyLow; - id = 4294902006; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Script: { - ObjectID: UUID; - ItemID: UUID; - }; - - getSize(): number - { - return 64; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Script['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - this.Script['ItemID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjScript: { - ObjectID: UUID, - ItemID: UUID - } = { - ObjectID: UUID.zero(), - ItemID: UUID.zero() - }; - newObjScript['ObjectID'] = new UUID(buf, pos); - pos += 16; - newObjScript['ItemID'] = new UUID(buf, pos); - pos += 16; - this.Script = newObjScript; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ScriptRunningReply.ts b/lib/classes/packets/ScriptRunningReply.ts deleted file mode 100644 index c590b88..0000000 --- a/lib/classes/packets/ScriptRunningReply.ts +++ /dev/null @@ -1,56 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ScriptRunningReplyPacket implements Packet -{ - name = 'ScriptRunningReply'; - flags = MessageFlags.Deprecated | MessageFlags.FrequencyLow; - id = 4294902004; - - Script: { - ObjectID: UUID; - ItemID: UUID; - Running: boolean; - }; - - getSize(): number - { - return 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.Script['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - this.Script['ItemID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.Script['Running']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjScript: { - ObjectID: UUID, - ItemID: UUID, - Running: boolean - } = { - ObjectID: UUID.zero(), - ItemID: UUID.zero(), - Running: false - }; - newObjScript['ObjectID'] = new UUID(buf, pos); - pos += 16; - newObjScript['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjScript['Running'] = (buf.readUInt8(pos++) === 1); - this.Script = newObjScript; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ScriptSensorReply.ts b/lib/classes/packets/ScriptSensorReply.ts deleted file mode 100644 index 6ba7007..0000000 --- a/lib/classes/packets/ScriptSensorReply.ts +++ /dev/null @@ -1,135 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {Quaternion} from '../Quaternion'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ScriptSensorReplyPacket implements Packet -{ - name = 'ScriptSensorReply'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902008; - - Requester: { - SourceID: UUID; - }; - SensedData: { - ObjectID: UUID; - OwnerID: UUID; - GroupID: UUID; - Position: Vector3; - Velocity: Vector3; - Rotation: Quaternion; - Name: string; - Type: number; - Range: number; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.SensedData, 'Name', 1) + 92) * this.SensedData.length) + 17; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.Requester['SourceID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.SensedData.length; - buf.writeUInt8(this.SensedData.length, pos++); - for (let i = 0; i < count; i++) - { - this.SensedData[i]['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - this.SensedData[i]['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - this.SensedData[i]['GroupID'].writeToBuffer(buf, pos); - pos += 16; - this.SensedData[i]['Position'].writeToBuffer(buf, pos, false); - pos += 12; - this.SensedData[i]['Velocity'].writeToBuffer(buf, pos, false); - pos += 12; - this.SensedData[i]['Rotation'].writeToBuffer(buf, pos); - pos += 12; - buf.write(this.SensedData[i]['Name'], pos); - pos += this.SensedData[i]['Name'].length; - buf.writeInt32LE(this.SensedData[i]['Type'], pos); - pos += 4; - buf.writeFloatLE(this.SensedData[i]['Range'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjRequester: { - SourceID: UUID - } = { - SourceID: UUID.zero() - }; - newObjRequester['SourceID'] = new UUID(buf, pos); - pos += 16; - this.Requester = newObjRequester; - const count = buf.readUInt8(pos++); - this.SensedData = []; - for (let i = 0; i < count; i++) - { - const newObjSensedData: { - ObjectID: UUID, - OwnerID: UUID, - GroupID: UUID, - Position: Vector3, - Velocity: Vector3, - Rotation: Quaternion, - Name: string, - Type: number, - Range: number - } = { - ObjectID: UUID.zero(), - OwnerID: UUID.zero(), - GroupID: UUID.zero(), - Position: Vector3.getZero(), - Velocity: Vector3.getZero(), - Rotation: Quaternion.getIdentity(), - Name: '', - Type: 0, - Range: 0 - }; - newObjSensedData['ObjectID'] = new UUID(buf, pos); - pos += 16; - newObjSensedData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjSensedData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjSensedData['Position'] = new Vector3(buf, pos, false); - pos += 12; - newObjSensedData['Velocity'] = new Vector3(buf, pos, false); - pos += 12; - newObjSensedData['Rotation'] = new Quaternion(buf, pos); - pos += 12; - newObjSensedData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjSensedData['Type'] = buf.readInt32LE(pos); - pos += 4; - newObjSensedData['Range'] = buf.readFloatLE(pos); - pos += 4; - this.SensedData.push(newObjSensedData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ScriptSensorRequest.ts b/lib/classes/packets/ScriptSensorRequest.ts deleted file mode 100644 index c286a91..0000000 --- a/lib/classes/packets/ScriptSensorRequest.ts +++ /dev/null @@ -1,117 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import Long = require('long'); -import {Quaternion} from '../Quaternion'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ScriptSensorRequestPacket implements Packet -{ - name = 'ScriptSensorRequest'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902007; - - Requester: { - SourceID: UUID; - RequestID: UUID; - SearchID: UUID; - SearchPos: Vector3; - SearchDir: Quaternion; - SearchName: string; - Type: number; - Range: number; - Arc: number; - RegionHandle: Long; - SearchRegions: number; - }; - - getSize(): number - { - return (this.Requester['SearchName'].length + 1) + 93; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.Requester['SourceID'].writeToBuffer(buf, pos); - pos += 16; - this.Requester['RequestID'].writeToBuffer(buf, pos); - pos += 16; - this.Requester['SearchID'].writeToBuffer(buf, pos); - pos += 16; - this.Requester['SearchPos'].writeToBuffer(buf, pos, false); - pos += 12; - this.Requester['SearchDir'].writeToBuffer(buf, pos); - pos += 12; - buf.write(this.Requester['SearchName'], pos); - pos += this.Requester['SearchName'].length; - buf.writeInt32LE(this.Requester['Type'], pos); - pos += 4; - buf.writeFloatLE(this.Requester['Range'], pos); - pos += 4; - buf.writeFloatLE(this.Requester['Arc'], pos); - pos += 4; - buf.writeInt32LE(this.Requester['RegionHandle'].low, pos); - pos += 4; - buf.writeInt32LE(this.Requester['RegionHandle'].high, pos); - pos += 4; - buf.writeUInt8(this.Requester['SearchRegions'], pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjRequester: { - SourceID: UUID, - RequestID: UUID, - SearchID: UUID, - SearchPos: Vector3, - SearchDir: Quaternion, - SearchName: string, - Type: number, - Range: number, - Arc: number, - RegionHandle: Long, - SearchRegions: number - } = { - SourceID: UUID.zero(), - RequestID: UUID.zero(), - SearchID: UUID.zero(), - SearchPos: Vector3.getZero(), - SearchDir: Quaternion.getIdentity(), - SearchName: '', - Type: 0, - Range: 0, - Arc: 0, - RegionHandle: Long.ZERO, - SearchRegions: 0 - }; - newObjRequester['SourceID'] = new UUID(buf, pos); - pos += 16; - newObjRequester['RequestID'] = new UUID(buf, pos); - pos += 16; - newObjRequester['SearchID'] = new UUID(buf, pos); - pos += 16; - newObjRequester['SearchPos'] = new Vector3(buf, pos, false); - pos += 12; - newObjRequester['SearchDir'] = new Quaternion(buf, pos); - pos += 12; - newObjRequester['SearchName'] = buf.toString('utf8', pos, length); - pos += length; - newObjRequester['Type'] = buf.readInt32LE(pos); - pos += 4; - newObjRequester['Range'] = buf.readFloatLE(pos); - pos += 4; - newObjRequester['Arc'] = buf.readFloatLE(pos); - pos += 4; - newObjRequester['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjRequester['SearchRegions'] = buf.readUInt8(pos++); - this.Requester = newObjRequester; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ScriptTeleportRequest.ts b/lib/classes/packets/ScriptTeleportRequest.ts deleted file mode 100644 index ff105cd..0000000 --- a/lib/classes/packets/ScriptTeleportRequest.ts +++ /dev/null @@ -1,65 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ScriptTeleportRequestPacket implements Packet -{ - name = 'ScriptTeleportRequest'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901955; - - Data: { - ObjectName: string; - SimName: string; - SimPosition: Vector3; - LookAt: Vector3; - }; - - getSize(): number - { - return (this.Data['ObjectName'].length + 1 + this.Data['SimName'].length + 1) + 24; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.write(this.Data['ObjectName'], pos); - pos += this.Data['ObjectName'].length; - buf.write(this.Data['SimName'], pos); - pos += this.Data['SimName'].length; - this.Data['SimPosition'].writeToBuffer(buf, pos, false); - pos += 12; - this.Data['LookAt'].writeToBuffer(buf, pos, false); - pos += 12; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjData: { - ObjectName: string, - SimName: string, - SimPosition: Vector3, - LookAt: Vector3 - } = { - ObjectName: '', - SimName: '', - SimPosition: Vector3.getZero(), - LookAt: Vector3.getZero() - }; - newObjData['ObjectName'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['SimName'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['SimPosition'] = new Vector3(buf, pos, false); - pos += 12; - newObjData['LookAt'] = new Vector3(buf, pos, false); - pos += 12; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/SendPostcard.ts b/lib/classes/packets/SendPostcard.ts deleted file mode 100644 index 1479e37..0000000 --- a/lib/classes/packets/SendPostcard.ts +++ /dev/null @@ -1,111 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SendPostcardPacket implements Packet -{ - name = 'SendPostcard'; - flags = MessageFlags.FrequencyLow; - id = 4294902172; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - AssetID: UUID; - PosGlobal: Vector3; - To: string; - From: string; - Name: string; - Subject: string; - Msg: string; - AllowPublish: boolean; - MaturePublish: boolean; - }; - - getSize(): number - { - return (this.AgentData['To'].length + 1 + this.AgentData['From'].length + 1 + this.AgentData['Name'].length + 1 + this.AgentData['Subject'].length + 1 + this.AgentData['Msg'].length + 2) + 74; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['AssetID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['PosGlobal'].writeToBuffer(buf, pos, true); - pos += 24; - buf.write(this.AgentData['To'], pos); - pos += this.AgentData['To'].length; - buf.write(this.AgentData['From'], pos); - pos += this.AgentData['From'].length; - buf.write(this.AgentData['Name'], pos); - pos += this.AgentData['Name'].length; - buf.write(this.AgentData['Subject'], pos); - pos += this.AgentData['Subject'].length; - buf.write(this.AgentData['Msg'], pos); - pos += this.AgentData['Msg'].length; - buf.writeUInt8((this.AgentData['AllowPublish']) ? 1 : 0, pos++); - buf.writeUInt8((this.AgentData['MaturePublish']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - AssetID: UUID, - PosGlobal: Vector3, - To: string, - From: string, - Name: string, - Subject: string, - Msg: string, - AllowPublish: boolean, - MaturePublish: boolean - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - AssetID: UUID.zero(), - PosGlobal: Vector3.getZero(), - To: '', - From: '', - Name: '', - Subject: '', - Msg: '', - AllowPublish: false, - MaturePublish: false - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['AssetID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['PosGlobal'] = new Vector3(buf, pos, true); - pos += 24; - newObjAgentData['To'] = buf.toString('utf8', pos, length); - pos += length; - newObjAgentData['From'] = buf.toString('utf8', pos, length); - pos += length; - newObjAgentData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjAgentData['Subject'] = buf.toString('utf8', pos, length); - pos += length; - newObjAgentData['Msg'] = buf.toString('utf8', pos, length); - pos += length; - newObjAgentData['AllowPublish'] = (buf.readUInt8(pos++) === 1); - newObjAgentData['MaturePublish'] = (buf.readUInt8(pos++) === 1); - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/SendXferPacket.ts b/lib/classes/packets/SendXferPacket.ts deleted file mode 100644 index 11ef0fc..0000000 --- a/lib/classes/packets/SendXferPacket.ts +++ /dev/null @@ -1,66 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SendXferPacketPacket implements Packet -{ - name = 'SendXferPacket'; - flags = MessageFlags.FrequencyHigh; - id = 18; - - XferID: { - ID: Long; - Packet: number; - }; - DataPacket: { - Data: string; - }; - - getSize(): number - { - return (this.DataPacket['Data'].length + 2) + 12; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeInt32LE(this.XferID['ID'].low, pos); - pos += 4; - buf.writeInt32LE(this.XferID['ID'].high, pos); - pos += 4; - buf.writeUInt32LE(this.XferID['Packet'], pos); - pos += 4; - buf.write(this.DataPacket['Data'], pos); - pos += this.DataPacket['Data'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjXferID: { - ID: Long, - Packet: number - } = { - ID: Long.ZERO, - Packet: 0 - }; - newObjXferID['ID'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjXferID['Packet'] = buf.readUInt32LE(pos); - pos += 4; - this.XferID = newObjXferID; - const newObjDataPacket: { - Data: string - } = { - Data: '' - }; - newObjDataPacket['Data'] = buf.toString('utf8', pos, length); - pos += length; - this.DataPacket = newObjDataPacket; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/SetAlwaysRun.ts b/lib/classes/packets/SetAlwaysRun.ts deleted file mode 100644 index 7e1be1e..0000000 --- a/lib/classes/packets/SetAlwaysRun.ts +++ /dev/null @@ -1,56 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SetAlwaysRunPacket implements Packet -{ - name = 'SetAlwaysRun'; - flags = MessageFlags.FrequencyLow; - id = 4294901848; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - AlwaysRun: boolean; - }; - - getSize(): number - { - return 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.AgentData['AlwaysRun']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - AlwaysRun: boolean - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - AlwaysRun: false - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['AlwaysRun'] = (buf.readUInt8(pos++) === 1); - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/SetCPURatio.ts b/lib/classes/packets/SetCPURatio.ts deleted file mode 100644 index e045793..0000000 --- a/lib/classes/packets/SetCPURatio.ts +++ /dev/null @@ -1,41 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SetCPURatioPacket implements Packet -{ - name = 'SetCPURatio'; - flags = MessageFlags.FrequencyLow; - id = 4294902087; - - Data: { - Ratio: number; - }; - - getSize(): number - { - return 1; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeUInt8(this.Data['Ratio'], pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjData: { - Ratio: number - } = { - Ratio: 0 - }; - newObjData['Ratio'] = buf.readUInt8(pos++); - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/SetFollowCamProperties.ts b/lib/classes/packets/SetFollowCamProperties.ts deleted file mode 100644 index 0c8a155..0000000 --- a/lib/classes/packets/SetFollowCamProperties.ts +++ /dev/null @@ -1,74 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SetFollowCamPropertiesPacket implements Packet -{ - name = 'SetFollowCamProperties'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901919; - - ObjectData: { - ObjectID: UUID; - }; - CameraProperty: { - Type: number; - Value: number; - }[]; - - getSize(): number - { - return ((8) * this.CameraProperty.length) + 17; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.ObjectData['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.CameraProperty.length; - buf.writeUInt8(this.CameraProperty.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeInt32LE(this.CameraProperty[i]['Type'], pos); - pos += 4; - buf.writeFloatLE(this.CameraProperty[i]['Value'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjObjectData: { - ObjectID: UUID - } = { - ObjectID: UUID.zero() - }; - newObjObjectData['ObjectID'] = new UUID(buf, pos); - pos += 16; - this.ObjectData = newObjObjectData; - const count = buf.readUInt8(pos++); - this.CameraProperty = []; - for (let i = 0; i < count; i++) - { - const newObjCameraProperty: { - Type: number, - Value: number - } = { - Type: 0, - Value: 0 - }; - newObjCameraProperty['Type'] = buf.readInt32LE(pos); - pos += 4; - newObjCameraProperty['Value'] = buf.readFloatLE(pos); - pos += 4; - this.CameraProperty.push(newObjCameraProperty); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/SetGroupAcceptNotices.ts b/lib/classes/packets/SetGroupAcceptNotices.ts deleted file mode 100644 index 64d87f6..0000000 --- a/lib/classes/packets/SetGroupAcceptNotices.ts +++ /dev/null @@ -1,80 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SetGroupAcceptNoticesPacket implements Packet -{ - name = 'SetGroupAcceptNotices'; - flags = MessageFlags.FrequencyLow; - id = 4294902130; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - GroupID: UUID; - AcceptNotices: boolean; - }; - NewData: { - ListInProfile: boolean; - }; - - getSize(): number - { - return 50; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.Data['AcceptNotices']) ? 1 : 0, pos++); - buf.writeUInt8((this.NewData['ListInProfile']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - GroupID: UUID, - AcceptNotices: boolean - } = { - GroupID: UUID.zero(), - AcceptNotices: false - }; - newObjData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjData['AcceptNotices'] = (buf.readUInt8(pos++) === 1); - this.Data = newObjData; - const newObjNewData: { - ListInProfile: boolean - } = { - ListInProfile: false - }; - newObjNewData['ListInProfile'] = (buf.readUInt8(pos++) === 1); - this.NewData = newObjNewData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/SetGroupContribution.ts b/lib/classes/packets/SetGroupContribution.ts deleted file mode 100644 index b74fcf9..0000000 --- a/lib/classes/packets/SetGroupContribution.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SetGroupContributionPacket implements Packet -{ - name = 'SetGroupContribution'; - flags = MessageFlags.FrequencyLow; - id = 4294902129; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Data: { - GroupID: UUID; - Contribution: number; - }; - - getSize(): number - { - return 52; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Data['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.Data['Contribution'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjData: { - GroupID: UUID, - Contribution: number - } = { - GroupID: UUID.zero(), - Contribution: 0 - }; - newObjData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjData['Contribution'] = buf.readInt32LE(pos); - pos += 4; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/SetScriptRunning.ts b/lib/classes/packets/SetScriptRunning.ts deleted file mode 100644 index 2ca0a98..0000000 --- a/lib/classes/packets/SetScriptRunning.ts +++ /dev/null @@ -1,76 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SetScriptRunningPacket implements Packet -{ - name = 'SetScriptRunning'; - flags = MessageFlags.FrequencyLow; - id = 4294902005; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Script: { - ObjectID: UUID; - ItemID: UUID; - Running: boolean; - }; - - getSize(): number - { - return 65; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Script['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - this.Script['ItemID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.Script['Running']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjScript: { - ObjectID: UUID, - ItemID: UUID, - Running: boolean - } = { - ObjectID: UUID.zero(), - ItemID: UUID.zero(), - Running: false - }; - newObjScript['ObjectID'] = new UUID(buf, pos); - pos += 16; - newObjScript['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjScript['Running'] = (buf.readUInt8(pos++) === 1); - this.Script = newObjScript; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/SetSimPresenceInDatabase.ts b/lib/classes/packets/SetSimPresenceInDatabase.ts deleted file mode 100644 index b8818fd..0000000 --- a/lib/classes/packets/SetSimPresenceInDatabase.ts +++ /dev/null @@ -1,93 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SetSimPresenceInDatabasePacket implements Packet -{ - name = 'SetSimPresenceInDatabase'; - flags = MessageFlags.Trusted | MessageFlags.Deprecated | MessageFlags.FrequencyLow; - id = 4294901783; - - SimData: { - RegionID: UUID; - HostName: string; - GridX: number; - GridY: number; - PID: number; - AgentCount: number; - TimeToLive: number; - Status: string; - }; - - getSize(): number - { - return (this.SimData['HostName'].length + 1 + this.SimData['Status'].length + 1) + 36; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.SimData['RegionID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.SimData['HostName'], pos); - pos += this.SimData['HostName'].length; - buf.writeUInt32LE(this.SimData['GridX'], pos); - pos += 4; - buf.writeUInt32LE(this.SimData['GridY'], pos); - pos += 4; - buf.writeInt32LE(this.SimData['PID'], pos); - pos += 4; - buf.writeInt32LE(this.SimData['AgentCount'], pos); - pos += 4; - buf.writeInt32LE(this.SimData['TimeToLive'], pos); - pos += 4; - buf.write(this.SimData['Status'], pos); - pos += this.SimData['Status'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjSimData: { - RegionID: UUID, - HostName: string, - GridX: number, - GridY: number, - PID: number, - AgentCount: number, - TimeToLive: number, - Status: string - } = { - RegionID: UUID.zero(), - HostName: '', - GridX: 0, - GridY: 0, - PID: 0, - AgentCount: 0, - TimeToLive: 0, - Status: '' - }; - newObjSimData['RegionID'] = new UUID(buf, pos); - pos += 16; - newObjSimData['HostName'] = buf.toString('utf8', pos, length); - pos += length; - newObjSimData['GridX'] = buf.readUInt32LE(pos); - pos += 4; - newObjSimData['GridY'] = buf.readUInt32LE(pos); - pos += 4; - newObjSimData['PID'] = buf.readInt32LE(pos); - pos += 4; - newObjSimData['AgentCount'] = buf.readInt32LE(pos); - pos += 4; - newObjSimData['TimeToLive'] = buf.readInt32LE(pos); - pos += 4; - newObjSimData['Status'] = buf.toString('utf8', pos, length); - pos += length; - this.SimData = newObjSimData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/SetSimStatusInDatabase.ts b/lib/classes/packets/SetSimStatusInDatabase.ts deleted file mode 100644 index 32f47f5..0000000 --- a/lib/classes/packets/SetSimStatusInDatabase.ts +++ /dev/null @@ -1,93 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SetSimStatusInDatabasePacket implements Packet -{ - name = 'SetSimStatusInDatabase'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901782; - - Data: { - RegionID: UUID; - HostName: string; - X: number; - Y: number; - PID: number; - AgentCount: number; - TimeToLive: number; - Status: string; - }; - - getSize(): number - { - return (this.Data['HostName'].length + 1 + this.Data['Status'].length + 1) + 36; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.Data['RegionID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.Data['HostName'], pos); - pos += this.Data['HostName'].length; - buf.writeInt32LE(this.Data['X'], pos); - pos += 4; - buf.writeInt32LE(this.Data['Y'], pos); - pos += 4; - buf.writeInt32LE(this.Data['PID'], pos); - pos += 4; - buf.writeInt32LE(this.Data['AgentCount'], pos); - pos += 4; - buf.writeInt32LE(this.Data['TimeToLive'], pos); - pos += 4; - buf.write(this.Data['Status'], pos); - pos += this.Data['Status'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjData: { - RegionID: UUID, - HostName: string, - X: number, - Y: number, - PID: number, - AgentCount: number, - TimeToLive: number, - Status: string - } = { - RegionID: UUID.zero(), - HostName: '', - X: 0, - Y: 0, - PID: 0, - AgentCount: 0, - TimeToLive: 0, - Status: '' - }; - newObjData['RegionID'] = new UUID(buf, pos); - pos += 16; - newObjData['HostName'] = buf.toString('utf8', pos, length); - pos += length; - newObjData['X'] = buf.readInt32LE(pos); - pos += 4; - newObjData['Y'] = buf.readInt32LE(pos); - pos += 4; - newObjData['PID'] = buf.readInt32LE(pos); - pos += 4; - newObjData['AgentCount'] = buf.readInt32LE(pos); - pos += 4; - newObjData['TimeToLive'] = buf.readInt32LE(pos); - pos += 4; - newObjData['Status'] = buf.toString('utf8', pos, length); - pos += length; - this.Data = newObjData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/SetStartLocation.ts b/lib/classes/packets/SetStartLocation.ts deleted file mode 100644 index 0c71e58..0000000 --- a/lib/classes/packets/SetStartLocation.ts +++ /dev/null @@ -1,83 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SetStartLocationPacket implements Packet -{ - name = 'SetStartLocation'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902085; - - StartLocationData: { - AgentID: UUID; - RegionID: UUID; - LocationID: number; - RegionHandle: Long; - LocationPos: Vector3; - LocationLookAt: Vector3; - }; - - getSize(): number - { - return 68; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.StartLocationData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.StartLocationData['RegionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.StartLocationData['LocationID'], pos); - pos += 4; - buf.writeInt32LE(this.StartLocationData['RegionHandle'].low, pos); - pos += 4; - buf.writeInt32LE(this.StartLocationData['RegionHandle'].high, pos); - pos += 4; - this.StartLocationData['LocationPos'].writeToBuffer(buf, pos, false); - pos += 12; - this.StartLocationData['LocationLookAt'].writeToBuffer(buf, pos, false); - pos += 12; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjStartLocationData: { - AgentID: UUID, - RegionID: UUID, - LocationID: number, - RegionHandle: Long, - LocationPos: Vector3, - LocationLookAt: Vector3 - } = { - AgentID: UUID.zero(), - RegionID: UUID.zero(), - LocationID: 0, - RegionHandle: Long.ZERO, - LocationPos: Vector3.getZero(), - LocationLookAt: Vector3.getZero() - }; - newObjStartLocationData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjStartLocationData['RegionID'] = new UUID(buf, pos); - pos += 16; - newObjStartLocationData['LocationID'] = buf.readUInt32LE(pos); - pos += 4; - newObjStartLocationData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjStartLocationData['LocationPos'] = new Vector3(buf, pos, false); - pos += 12; - newObjStartLocationData['LocationLookAt'] = new Vector3(buf, pos, false); - pos += 12; - this.StartLocationData = newObjStartLocationData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/SetStartLocationRequest.ts b/lib/classes/packets/SetStartLocationRequest.ts deleted file mode 100644 index bddb009..0000000 --- a/lib/classes/packets/SetStartLocationRequest.ts +++ /dev/null @@ -1,86 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SetStartLocationRequestPacket implements Packet -{ - name = 'SetStartLocationRequest'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902084; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - StartLocationData: { - SimName: string; - LocationID: number; - LocationPos: Vector3; - LocationLookAt: Vector3; - }; - - getSize(): number - { - return (this.StartLocationData['SimName'].length + 1) + 60; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.StartLocationData['SimName'], pos); - pos += this.StartLocationData['SimName'].length; - buf.writeUInt32LE(this.StartLocationData['LocationID'], pos); - pos += 4; - this.StartLocationData['LocationPos'].writeToBuffer(buf, pos, false); - pos += 12; - this.StartLocationData['LocationLookAt'].writeToBuffer(buf, pos, false); - pos += 12; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjStartLocationData: { - SimName: string, - LocationID: number, - LocationPos: Vector3, - LocationLookAt: Vector3 - } = { - SimName: '', - LocationID: 0, - LocationPos: Vector3.getZero(), - LocationLookAt: Vector3.getZero() - }; - newObjStartLocationData['SimName'] = buf.toString('utf8', pos, length); - pos += length; - newObjStartLocationData['LocationID'] = buf.readUInt32LE(pos); - pos += 4; - newObjStartLocationData['LocationPos'] = new Vector3(buf, pos, false); - pos += 12; - newObjStartLocationData['LocationLookAt'] = new Vector3(buf, pos, false); - pos += 12; - this.StartLocationData = newObjStartLocationData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/SimCrashed.ts b/lib/classes/packets/SimCrashed.ts deleted file mode 100644 index 6590f17..0000000 --- a/lib/classes/packets/SimCrashed.ts +++ /dev/null @@ -1,74 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SimCrashedPacket implements Packet -{ - name = 'SimCrashed'; - flags = MessageFlags.FrequencyLow; - id = 4294902088; - - Data: { - RegionX: number; - RegionY: number; - }; - Users: { - AgentID: UUID; - }[]; - - getSize(): number - { - return ((16) * this.Users.length) + 9; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeUInt32LE(this.Data['RegionX'], pos); - pos += 4; - buf.writeUInt32LE(this.Data['RegionY'], pos); - pos += 4; - const count = this.Users.length; - buf.writeUInt8(this.Users.length, pos++); - for (let i = 0; i < count; i++) - { - this.Users[i]['AgentID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjData: { - RegionX: number, - RegionY: number - } = { - RegionX: 0, - RegionY: 0 - }; - newObjData['RegionX'] = buf.readUInt32LE(pos); - pos += 4; - newObjData['RegionY'] = buf.readUInt32LE(pos); - pos += 4; - this.Data = newObjData; - const count = buf.readUInt8(pos++); - this.Users = []; - for (let i = 0; i < count; i++) - { - const newObjUsers: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjUsers['AgentID'] = new UUID(buf, pos); - pos += 16; - this.Users.push(newObjUsers); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/SimStats.ts b/lib/classes/packets/SimStats.ts deleted file mode 100644 index 532da8d..0000000 --- a/lib/classes/packets/SimStats.ts +++ /dev/null @@ -1,133 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SimStatsPacket implements Packet -{ - name = 'SimStats'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901900; - - Region: { - RegionX: number; - RegionY: number; - RegionFlags: number; - ObjectCapacity: number; - }; - Stat: { - StatID: number; - StatValue: number; - }[]; - PidStat: { - PID: number; - }; - RegionInfo: { - RegionFlagsExtended: Long; - }[]; - - getSize(): number - { - return ((8) * this.Stat.length) + ((8) * this.RegionInfo.length) + 22; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeUInt32LE(this.Region['RegionX'], pos); - pos += 4; - buf.writeUInt32LE(this.Region['RegionY'], pos); - pos += 4; - buf.writeUInt32LE(this.Region['RegionFlags'], pos); - pos += 4; - buf.writeUInt32LE(this.Region['ObjectCapacity'], pos); - pos += 4; - let count = this.Stat.length; - buf.writeUInt8(this.Stat.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.Stat[i]['StatID'], pos); - pos += 4; - buf.writeFloatLE(this.Stat[i]['StatValue'], pos); - pos += 4; - } - buf.writeInt32LE(this.PidStat['PID'], pos); - pos += 4; - count = this.RegionInfo.length; - buf.writeUInt8(this.RegionInfo.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeInt32LE(this.RegionInfo[i]['RegionFlagsExtended'].low, pos); - pos += 4; - buf.writeInt32LE(this.RegionInfo[i]['RegionFlagsExtended'].high, pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjRegion: { - RegionX: number, - RegionY: number, - RegionFlags: number, - ObjectCapacity: number - } = { - RegionX: 0, - RegionY: 0, - RegionFlags: 0, - ObjectCapacity: 0 - }; - newObjRegion['RegionX'] = buf.readUInt32LE(pos); - pos += 4; - newObjRegion['RegionY'] = buf.readUInt32LE(pos); - pos += 4; - newObjRegion['RegionFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjRegion['ObjectCapacity'] = buf.readUInt32LE(pos); - pos += 4; - this.Region = newObjRegion; - let count = buf.readUInt8(pos++); - this.Stat = []; - for (let i = 0; i < count; i++) - { - const newObjStat: { - StatID: number, - StatValue: number - } = { - StatID: 0, - StatValue: 0 - }; - newObjStat['StatID'] = buf.readUInt32LE(pos); - pos += 4; - newObjStat['StatValue'] = buf.readFloatLE(pos); - pos += 4; - this.Stat.push(newObjStat); - } - const newObjPidStat: { - PID: number - } = { - PID: 0 - }; - newObjPidStat['PID'] = buf.readInt32LE(pos); - pos += 4; - this.PidStat = newObjPidStat; - count = buf.readUInt8(pos++); - this.RegionInfo = []; - for (let i = 0; i < count; i++) - { - const newObjRegionInfo: { - RegionFlagsExtended: Long - } = { - RegionFlagsExtended: Long.ZERO - }; - newObjRegionInfo['RegionFlagsExtended'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - this.RegionInfo.push(newObjRegionInfo); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/SimStatus.ts b/lib/classes/packets/SimStatus.ts deleted file mode 100644 index f635928..0000000 --- a/lib/classes/packets/SimStatus.ts +++ /dev/null @@ -1,62 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SimStatusPacket implements Packet -{ - name = 'SimStatus'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyMedium; - id = 65292; - - SimStatus: { - CanAcceptAgents: boolean; - CanAcceptTasks: boolean; - }; - SimFlags: { - Flags: Long; - }; - - getSize(): number - { - return 10; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeUInt8((this.SimStatus['CanAcceptAgents']) ? 1 : 0, pos++); - buf.writeUInt8((this.SimStatus['CanAcceptTasks']) ? 1 : 0, pos++); - buf.writeInt32LE(this.SimFlags['Flags'].low, pos); - pos += 4; - buf.writeInt32LE(this.SimFlags['Flags'].high, pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjSimStatus: { - CanAcceptAgents: boolean, - CanAcceptTasks: boolean - } = { - CanAcceptAgents: false, - CanAcceptTasks: false - }; - newObjSimStatus['CanAcceptAgents'] = (buf.readUInt8(pos++) === 1); - newObjSimStatus['CanAcceptTasks'] = (buf.readUInt8(pos++) === 1); - this.SimStatus = newObjSimStatus; - const newObjSimFlags: { - Flags: Long - } = { - Flags: Long.ZERO - }; - newObjSimFlags['Flags'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - this.SimFlags = newObjSimFlags; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/SimWideDeletes.ts b/lib/classes/packets/SimWideDeletes.ts deleted file mode 100644 index 002b013..0000000 --- a/lib/classes/packets/SimWideDeletes.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SimWideDeletesPacket implements Packet -{ - name = 'SimWideDeletes'; - flags = MessageFlags.FrequencyLow; - id = 4294901889; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - DataBlock: { - TargetID: UUID; - Flags: number; - }; - - getSize(): number - { - return 52; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.DataBlock['TargetID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.DataBlock['Flags'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjDataBlock: { - TargetID: UUID, - Flags: number - } = { - TargetID: UUID.zero(), - Flags: 0 - }; - newObjDataBlock['TargetID'] = new UUID(buf, pos); - pos += 16; - newObjDataBlock['Flags'] = buf.readUInt32LE(pos); - pos += 4; - this.DataBlock = newObjDataBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/SimulatorLoad.ts b/lib/classes/packets/SimulatorLoad.ts deleted file mode 100644 index dcf8017..0000000 --- a/lib/classes/packets/SimulatorLoad.ts +++ /dev/null @@ -1,88 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SimulatorLoadPacket implements Packet -{ - name = 'SimulatorLoad'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901772; - - SimulatorLoad: { - TimeDilation: number; - AgentCount: number; - CanAcceptAgents: boolean; - }; - AgentList: { - CircuitCode: number; - X: number; - Y: number; - }[]; - - getSize(): number - { - return ((6) * this.AgentList.length) + 10; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeFloatLE(this.SimulatorLoad['TimeDilation'], pos); - pos += 4; - buf.writeInt32LE(this.SimulatorLoad['AgentCount'], pos); - pos += 4; - buf.writeUInt8((this.SimulatorLoad['CanAcceptAgents']) ? 1 : 0, pos++); - const count = this.AgentList.length; - buf.writeUInt8(this.AgentList.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.AgentList[i]['CircuitCode'], pos); - pos += 4; - buf.writeUInt8(this.AgentList[i]['X'], pos++); - buf.writeUInt8(this.AgentList[i]['Y'], pos++); - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjSimulatorLoad: { - TimeDilation: number, - AgentCount: number, - CanAcceptAgents: boolean - } = { - TimeDilation: 0, - AgentCount: 0, - CanAcceptAgents: false - }; - newObjSimulatorLoad['TimeDilation'] = buf.readFloatLE(pos); - pos += 4; - newObjSimulatorLoad['AgentCount'] = buf.readInt32LE(pos); - pos += 4; - newObjSimulatorLoad['CanAcceptAgents'] = (buf.readUInt8(pos++) === 1); - this.SimulatorLoad = newObjSimulatorLoad; - const count = buf.readUInt8(pos++); - this.AgentList = []; - for (let i = 0; i < count; i++) - { - const newObjAgentList: { - CircuitCode: number, - X: number, - Y: number - } = { - CircuitCode: 0, - X: 0, - Y: 0 - }; - newObjAgentList['CircuitCode'] = buf.readUInt32LE(pos); - pos += 4; - newObjAgentList['X'] = buf.readUInt8(pos++); - newObjAgentList['Y'] = buf.readUInt8(pos++); - this.AgentList.push(newObjAgentList); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/SimulatorMapUpdate.ts b/lib/classes/packets/SimulatorMapUpdate.ts deleted file mode 100644 index e182b30..0000000 --- a/lib/classes/packets/SimulatorMapUpdate.ts +++ /dev/null @@ -1,43 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SimulatorMapUpdatePacket implements Packet -{ - name = 'SimulatorMapUpdate'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901765; - - MapData: { - Flags: number; - }; - - getSize(): number - { - return 4; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeUInt32LE(this.MapData['Flags'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjMapData: { - Flags: number - } = { - Flags: 0 - }; - newObjMapData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - this.MapData = newObjMapData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/SimulatorPresentAtLocation.ts b/lib/classes/packets/SimulatorPresentAtLocation.ts deleted file mode 100644 index cd98743..0000000 --- a/lib/classes/packets/SimulatorPresentAtLocation.ts +++ /dev/null @@ -1,169 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {IPAddress} from '../IPAddress'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SimulatorPresentAtLocationPacket implements Packet -{ - name = 'SimulatorPresentAtLocation'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901771; - - SimulatorPublicHostBlock: { - Port: number; - SimulatorIP: IPAddress; - GridX: number; - GridY: number; - }; - NeighborBlock: { - IP: IPAddress; - Port: number; - }[]; - SimulatorBlock: { - SimName: string; - SimAccess: number; - RegionFlags: number; - RegionID: UUID; - EstateID: number; - ParentEstateID: number; - }; - TelehubBlock: { - HasTelehub: boolean; - TelehubPos: Vector3; - }[]; - - getSize(): number - { - return (this.SimulatorBlock['SimName'].length + 1) + ((13) * this.TelehubBlock.length) + 68; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeUInt16LE(this.SimulatorPublicHostBlock['Port'], pos); - pos += 2; - this.SimulatorPublicHostBlock['SimulatorIP'].writeToBuffer(buf, pos); - pos += 4; - buf.writeUInt32LE(this.SimulatorPublicHostBlock['GridX'], pos); - pos += 4; - buf.writeUInt32LE(this.SimulatorPublicHostBlock['GridY'], pos); - pos += 4; - let count = 4; - for (let i = 0; i < count; i++) - { - this.NeighborBlock[i]['IP'].writeToBuffer(buf, pos); - pos += 4; - buf.writeUInt16LE(this.NeighborBlock[i]['Port'], pos); - pos += 2; - } - buf.write(this.SimulatorBlock['SimName'], pos); - pos += this.SimulatorBlock['SimName'].length; - buf.writeUInt8(this.SimulatorBlock['SimAccess'], pos++); - buf.writeUInt32LE(this.SimulatorBlock['RegionFlags'], pos); - pos += 4; - this.SimulatorBlock['RegionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.SimulatorBlock['EstateID'], pos); - pos += 4; - buf.writeUInt32LE(this.SimulatorBlock['ParentEstateID'], pos); - pos += 4; - count = this.TelehubBlock.length; - buf.writeUInt8(this.TelehubBlock.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt8((this.TelehubBlock[i]['HasTelehub']) ? 1 : 0, pos++); - this.TelehubBlock[i]['TelehubPos'].writeToBuffer(buf, pos, false); - pos += 12; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjSimulatorPublicHostBlock: { - Port: number, - SimulatorIP: IPAddress, - GridX: number, - GridY: number - } = { - Port: 0, - SimulatorIP: IPAddress.zero(), - GridX: 0, - GridY: 0 - }; - newObjSimulatorPublicHostBlock['Port'] = buf.readUInt16LE(pos); - pos += 2; - newObjSimulatorPublicHostBlock['SimulatorIP'] = new IPAddress(buf, pos); - pos += 4; - newObjSimulatorPublicHostBlock['GridX'] = buf.readUInt32LE(pos); - pos += 4; - newObjSimulatorPublicHostBlock['GridY'] = buf.readUInt32LE(pos); - pos += 4; - this.SimulatorPublicHostBlock = newObjSimulatorPublicHostBlock; - let count = 4; - this.NeighborBlock = []; for (let i = 0; i < count; i++) - { - const newObjNeighborBlock: { - IP: IPAddress, - Port: number - } = { - IP: IPAddress.zero(), - Port: 0 - }; - newObjNeighborBlock['IP'] = new IPAddress(buf, pos); - pos += 4; - newObjNeighborBlock['Port'] = buf.readUInt16LE(pos); - pos += 2; - this.NeighborBlock.push(newObjNeighborBlock); - } - const newObjSimulatorBlock: { - SimName: string, - SimAccess: number, - RegionFlags: number, - RegionID: UUID, - EstateID: number, - ParentEstateID: number - } = { - SimName: '', - SimAccess: 0, - RegionFlags: 0, - RegionID: UUID.zero(), - EstateID: 0, - ParentEstateID: 0 - }; - newObjSimulatorBlock['SimName'] = buf.toString('utf8', pos, length); - pos += length; - newObjSimulatorBlock['SimAccess'] = buf.readUInt8(pos++); - newObjSimulatorBlock['RegionFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjSimulatorBlock['RegionID'] = new UUID(buf, pos); - pos += 16; - newObjSimulatorBlock['EstateID'] = buf.readUInt32LE(pos); - pos += 4; - newObjSimulatorBlock['ParentEstateID'] = buf.readUInt32LE(pos); - pos += 4; - this.SimulatorBlock = newObjSimulatorBlock; - count = buf.readUInt8(pos++); - this.TelehubBlock = []; - for (let i = 0; i < count; i++) - { - const newObjTelehubBlock: { - HasTelehub: boolean, - TelehubPos: Vector3 - } = { - HasTelehub: false, - TelehubPos: Vector3.getZero() - }; - newObjTelehubBlock['HasTelehub'] = (buf.readUInt8(pos++) === 1); - newObjTelehubBlock['TelehubPos'] = new Vector3(buf, pos, false); - pos += 12; - this.TelehubBlock.push(newObjTelehubBlock); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/SimulatorReady.ts b/lib/classes/packets/SimulatorReady.ts deleted file mode 100644 index 75e48f5..0000000 --- a/lib/classes/packets/SimulatorReady.ts +++ /dev/null @@ -1,96 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SimulatorReadyPacket implements Packet -{ - name = 'SimulatorReady'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901769; - - SimulatorBlock: { - SimName: string; - SimAccess: number; - RegionFlags: number; - RegionID: UUID; - EstateID: number; - ParentEstateID: number; - }; - TelehubBlock: { - HasTelehub: boolean; - TelehubPos: Vector3; - }; - - getSize(): number - { - return (this.SimulatorBlock['SimName'].length + 1) + 42; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.write(this.SimulatorBlock['SimName'], pos); - pos += this.SimulatorBlock['SimName'].length; - buf.writeUInt8(this.SimulatorBlock['SimAccess'], pos++); - buf.writeUInt32LE(this.SimulatorBlock['RegionFlags'], pos); - pos += 4; - this.SimulatorBlock['RegionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.SimulatorBlock['EstateID'], pos); - pos += 4; - buf.writeUInt32LE(this.SimulatorBlock['ParentEstateID'], pos); - pos += 4; - buf.writeUInt8((this.TelehubBlock['HasTelehub']) ? 1 : 0, pos++); - this.TelehubBlock['TelehubPos'].writeToBuffer(buf, pos, false); - pos += 12; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjSimulatorBlock: { - SimName: string, - SimAccess: number, - RegionFlags: number, - RegionID: UUID, - EstateID: number, - ParentEstateID: number - } = { - SimName: '', - SimAccess: 0, - RegionFlags: 0, - RegionID: UUID.zero(), - EstateID: 0, - ParentEstateID: 0 - }; - newObjSimulatorBlock['SimName'] = buf.toString('utf8', pos, length); - pos += length; - newObjSimulatorBlock['SimAccess'] = buf.readUInt8(pos++); - newObjSimulatorBlock['RegionFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjSimulatorBlock['RegionID'] = new UUID(buf, pos); - pos += 16; - newObjSimulatorBlock['EstateID'] = buf.readUInt32LE(pos); - pos += 4; - newObjSimulatorBlock['ParentEstateID'] = buf.readUInt32LE(pos); - pos += 4; - this.SimulatorBlock = newObjSimulatorBlock; - const newObjTelehubBlock: { - HasTelehub: boolean, - TelehubPos: Vector3 - } = { - HasTelehub: false, - TelehubPos: Vector3.getZero() - }; - newObjTelehubBlock['HasTelehub'] = (buf.readUInt8(pos++) === 1); - newObjTelehubBlock['TelehubPos'] = new Vector3(buf, pos, false); - pos += 12; - this.TelehubBlock = newObjTelehubBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/SimulatorSetMap.ts b/lib/classes/packets/SimulatorSetMap.ts deleted file mode 100644 index 1435c66..0000000 --- a/lib/classes/packets/SimulatorSetMap.ts +++ /dev/null @@ -1,61 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SimulatorSetMapPacket implements Packet -{ - name = 'SimulatorSetMap'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901766; - - MapData: { - RegionHandle: Long; - Type: number; - MapImage: UUID; - }; - - getSize(): number - { - return 28; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeInt32LE(this.MapData['RegionHandle'].low, pos); - pos += 4; - buf.writeInt32LE(this.MapData['RegionHandle'].high, pos); - pos += 4; - buf.writeInt32LE(this.MapData['Type'], pos); - pos += 4; - this.MapData['MapImage'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjMapData: { - RegionHandle: Long, - Type: number, - MapImage: UUID - } = { - RegionHandle: Long.ZERO, - Type: 0, - MapImage: UUID.zero() - }; - newObjMapData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjMapData['Type'] = buf.readInt32LE(pos); - pos += 4; - newObjMapData['MapImage'] = new UUID(buf, pos); - pos += 16; - this.MapData = newObjMapData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/SimulatorShutdownRequest.ts b/lib/classes/packets/SimulatorShutdownRequest.ts deleted file mode 100644 index 4c5690c..0000000 --- a/lib/classes/packets/SimulatorShutdownRequest.ts +++ /dev/null @@ -1,28 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SimulatorShutdownRequestPacket implements Packet -{ - name = 'SimulatorShutdownRequest'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901773; - - - getSize(): number - { - return 0; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - return 0; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - return 0; - } -} - diff --git a/lib/classes/packets/SimulatorViewerTimeMessage.ts b/lib/classes/packets/SimulatorViewerTimeMessage.ts deleted file mode 100644 index 2bea0dc..0000000 --- a/lib/classes/packets/SimulatorViewerTimeMessage.ts +++ /dev/null @@ -1,82 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {Vector3} from '../Vector3'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SimulatorViewerTimeMessagePacket implements Packet -{ - name = 'SimulatorViewerTimeMessage'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901910; - - TimeInfo: { - UsecSinceStart: Long; - SecPerDay: number; - SecPerYear: number; - SunDirection: Vector3; - SunPhase: number; - SunAngVelocity: Vector3; - }; - - getSize(): number - { - return 44; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeInt32LE(this.TimeInfo['UsecSinceStart'].low, pos); - pos += 4; - buf.writeInt32LE(this.TimeInfo['UsecSinceStart'].high, pos); - pos += 4; - buf.writeUInt32LE(this.TimeInfo['SecPerDay'], pos); - pos += 4; - buf.writeUInt32LE(this.TimeInfo['SecPerYear'], pos); - pos += 4; - this.TimeInfo['SunDirection'].writeToBuffer(buf, pos, false); - pos += 12; - buf.writeFloatLE(this.TimeInfo['SunPhase'], pos); - pos += 4; - this.TimeInfo['SunAngVelocity'].writeToBuffer(buf, pos, false); - pos += 12; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjTimeInfo: { - UsecSinceStart: Long, - SecPerDay: number, - SecPerYear: number, - SunDirection: Vector3, - SunPhase: number, - SunAngVelocity: Vector3 - } = { - UsecSinceStart: Long.ZERO, - SecPerDay: 0, - SecPerYear: 0, - SunDirection: Vector3.getZero(), - SunPhase: 0, - SunAngVelocity: Vector3.getZero() - }; - newObjTimeInfo['UsecSinceStart'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjTimeInfo['SecPerDay'] = buf.readUInt32LE(pos); - pos += 4; - newObjTimeInfo['SecPerYear'] = buf.readUInt32LE(pos); - pos += 4; - newObjTimeInfo['SunDirection'] = new Vector3(buf, pos, false); - pos += 12; - newObjTimeInfo['SunPhase'] = buf.readFloatLE(pos); - pos += 4; - newObjTimeInfo['SunAngVelocity'] = new Vector3(buf, pos, false); - pos += 12; - this.TimeInfo = newObjTimeInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/SoundTrigger.ts b/lib/classes/packets/SoundTrigger.ts deleted file mode 100644 index 3801d01..0000000 --- a/lib/classes/packets/SoundTrigger.ts +++ /dev/null @@ -1,90 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SoundTriggerPacket implements Packet -{ - name = 'SoundTrigger'; - flags = MessageFlags.FrequencyHigh; - id = 29; - - SoundData: { - SoundID: UUID; - OwnerID: UUID; - ObjectID: UUID; - ParentID: UUID; - Handle: Long; - Position: Vector3; - Gain: number; - }; - - getSize(): number - { - return 88; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.SoundData['SoundID'].writeToBuffer(buf, pos); - pos += 16; - this.SoundData['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - this.SoundData['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - this.SoundData['ParentID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.SoundData['Handle'].low, pos); - pos += 4; - buf.writeInt32LE(this.SoundData['Handle'].high, pos); - pos += 4; - this.SoundData['Position'].writeToBuffer(buf, pos, false); - pos += 12; - buf.writeFloatLE(this.SoundData['Gain'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjSoundData: { - SoundID: UUID, - OwnerID: UUID, - ObjectID: UUID, - ParentID: UUID, - Handle: Long, - Position: Vector3, - Gain: number - } = { - SoundID: UUID.zero(), - OwnerID: UUID.zero(), - ObjectID: UUID.zero(), - ParentID: UUID.zero(), - Handle: Long.ZERO, - Position: Vector3.getZero(), - Gain: 0 - }; - newObjSoundData['SoundID'] = new UUID(buf, pos); - pos += 16; - newObjSoundData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjSoundData['ObjectID'] = new UUID(buf, pos); - pos += 16; - newObjSoundData['ParentID'] = new UUID(buf, pos); - pos += 16; - newObjSoundData['Handle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjSoundData['Position'] = new Vector3(buf, pos, false); - pos += 12; - newObjSoundData['Gain'] = buf.readFloatLE(pos); - pos += 4; - this.SoundData = newObjSoundData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/StartAuction.ts b/lib/classes/packets/StartAuction.ts deleted file mode 100644 index 939d73b..0000000 --- a/lib/classes/packets/StartAuction.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class StartAuctionPacket implements Packet -{ - name = 'StartAuction'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901989; - - AgentData: { - AgentID: UUID; - }; - ParcelData: { - ParcelID: UUID; - SnapshotID: UUID; - Name: string; - }; - - getSize(): number - { - return (this.ParcelData['Name'].length + 1) + 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.ParcelData['ParcelID'].writeToBuffer(buf, pos); - pos += 16; - this.ParcelData['SnapshotID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.ParcelData['Name'], pos); - pos += this.ParcelData['Name'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjParcelData: { - ParcelID: UUID, - SnapshotID: UUID, - Name: string - } = { - ParcelID: UUID.zero(), - SnapshotID: UUID.zero(), - Name: '' - }; - newObjParcelData['ParcelID'] = new UUID(buf, pos); - pos += 16; - newObjParcelData['SnapshotID'] = new UUID(buf, pos); - pos += 16; - newObjParcelData['Name'] = buf.toString('utf8', pos, length); - pos += length; - this.ParcelData = newObjParcelData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/StartGroupProposal.ts b/lib/classes/packets/StartGroupProposal.ts deleted file mode 100644 index cd4698a..0000000 --- a/lib/classes/packets/StartGroupProposal.ts +++ /dev/null @@ -1,92 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class StartGroupProposalPacket implements Packet -{ - name = 'StartGroupProposal'; - flags = MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyLow; - id = 4294902123; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ProposalData: { - GroupID: UUID; - Quorum: number; - Majority: number; - Duration: number; - ProposalText: string; - }; - - getSize(): number - { - return (this.ProposalData['ProposalText'].length + 1) + 60; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.ProposalData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.ProposalData['Quorum'], pos); - pos += 4; - buf.writeFloatLE(this.ProposalData['Majority'], pos); - pos += 4; - buf.writeInt32LE(this.ProposalData['Duration'], pos); - pos += 4; - buf.write(this.ProposalData['ProposalText'], pos); - pos += this.ProposalData['ProposalText'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjProposalData: { - GroupID: UUID, - Quorum: number, - Majority: number, - Duration: number, - ProposalText: string - } = { - GroupID: UUID.zero(), - Quorum: 0, - Majority: 0, - Duration: 0, - ProposalText: '' - }; - newObjProposalData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjProposalData['Quorum'] = buf.readInt32LE(pos); - pos += 4; - newObjProposalData['Majority'] = buf.readFloatLE(pos); - pos += 4; - newObjProposalData['Duration'] = buf.readInt32LE(pos); - pos += 4; - newObjProposalData['ProposalText'] = buf.toString('utf8', pos, length); - pos += length; - this.ProposalData = newObjProposalData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/StartLure.ts b/lib/classes/packets/StartLure.ts deleted file mode 100644 index e441b04..0000000 --- a/lib/classes/packets/StartLure.ts +++ /dev/null @@ -1,92 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class StartLurePacket implements Packet -{ - name = 'StartLure'; - flags = MessageFlags.FrequencyLow; - id = 4294901830; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Info: { - LureType: number; - Message: string; - }; - TargetData: { - TargetID: UUID; - }[]; - - getSize(): number - { - return (this.Info['Message'].length + 1) + ((16) * this.TargetData.length) + 34; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.Info['LureType'], pos++); - buf.write(this.Info['Message'], pos); - pos += this.Info['Message'].length; - const count = this.TargetData.length; - buf.writeUInt8(this.TargetData.length, pos++); - for (let i = 0; i < count; i++) - { - this.TargetData[i]['TargetID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjInfo: { - LureType: number, - Message: string - } = { - LureType: 0, - Message: '' - }; - newObjInfo['LureType'] = buf.readUInt8(pos++); - newObjInfo['Message'] = buf.toString('utf8', pos, length); - pos += length; - this.Info = newObjInfo; - const count = buf.readUInt8(pos++); - this.TargetData = []; - for (let i = 0; i < count; i++) - { - const newObjTargetData: { - TargetID: UUID - } = { - TargetID: UUID.zero() - }; - newObjTargetData['TargetID'] = new UUID(buf, pos); - pos += 16; - this.TargetData.push(newObjTargetData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/StartPingCheck.ts b/lib/classes/packets/StartPingCheck.ts deleted file mode 100644 index 4b09aa8..0000000 --- a/lib/classes/packets/StartPingCheck.ts +++ /dev/null @@ -1,48 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class StartPingCheckPacket implements Packet -{ - name = 'StartPingCheck'; - flags = MessageFlags.FrequencyHigh; - id = 1; - - PingID: { - PingID: number; - OldestUnacked: number; - }; - - getSize(): number - { - return 5; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeUInt8(this.PingID['PingID'], pos++); - buf.writeUInt32LE(this.PingID['OldestUnacked'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjPingID: { - PingID: number, - OldestUnacked: number - } = { - PingID: 0, - OldestUnacked: 0 - }; - newObjPingID['PingID'] = buf.readUInt8(pos++); - newObjPingID['OldestUnacked'] = buf.readUInt32LE(pos); - pos += 4; - this.PingID = newObjPingID; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/StateSave.ts b/lib/classes/packets/StateSave.ts deleted file mode 100644 index 90e6942..0000000 --- a/lib/classes/packets/StateSave.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class StateSavePacket implements Packet -{ - name = 'StateSave'; - flags = MessageFlags.FrequencyLow; - id = 4294901887; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - DataBlock: { - Filename: string; - }; - - getSize(): number - { - return (this.DataBlock['Filename'].length + 1) + 32; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.DataBlock['Filename'], pos); - pos += this.DataBlock['Filename'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjDataBlock: { - Filename: string - } = { - Filename: '' - }; - newObjDataBlock['Filename'] = buf.toString('utf8', pos, length); - pos += length; - this.DataBlock = newObjDataBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/SubscribeLoad.ts b/lib/classes/packets/SubscribeLoad.ts deleted file mode 100644 index 219dd1e..0000000 --- a/lib/classes/packets/SubscribeLoad.ts +++ /dev/null @@ -1,28 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SubscribeLoadPacket implements Packet -{ - name = 'SubscribeLoad'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901767; - - - getSize(): number - { - return 0; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - return 0; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - return 0; - } -} - diff --git a/lib/classes/packets/SystemKickUser.ts b/lib/classes/packets/SystemKickUser.ts deleted file mode 100644 index f7711a3..0000000 --- a/lib/classes/packets/SystemKickUser.ts +++ /dev/null @@ -1,54 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SystemKickUserPacket implements Packet -{ - name = 'SystemKickUser'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901926; - - AgentInfo: { - AgentID: UUID; - }[]; - - getSize(): number - { - return ((16) * this.AgentInfo.length) + 1; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.AgentInfo.length; - buf.writeUInt8(this.AgentInfo.length, pos++); - for (let i = 0; i < count; i++) - { - this.AgentInfo[i]['AgentID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.AgentInfo = []; - for (let i = 0; i < count; i++) - { - const newObjAgentInfo: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentInfo['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentInfo.push(newObjAgentInfo); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/SystemMessage.ts b/lib/classes/packets/SystemMessage.ts deleted file mode 100644 index 485e6bb..0000000 --- a/lib/classes/packets/SystemMessage.ts +++ /dev/null @@ -1,91 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class SystemMessagePacket implements Packet -{ - name = 'SystemMessage'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902164; - - MethodData: { - Method: string; - Invoice: UUID; - Digest: Buffer; - }; - ParamList: { - Parameter: string; - }[]; - - getSize(): number - { - return (this.MethodData['Method'].length + 1) + ((this.calculateVarVarSize(this.ParamList, 'Parameter', 1)) * this.ParamList.length) + 49; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.write(this.MethodData['Method'], pos); - pos += this.MethodData['Method'].length; - this.MethodData['Invoice'].writeToBuffer(buf, pos); - pos += 16; - this.MethodData['Digest'].copy(buf, pos); - pos += 32; - const count = this.ParamList.length; - buf.writeUInt8(this.ParamList.length, pos++); - for (let i = 0; i < count; i++) - { - buf.write(this.ParamList[i]['Parameter'], pos); - pos += this.ParamList[i]['Parameter'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjMethodData: { - Method: string, - Invoice: UUID, - Digest: Buffer - } = { - Method: '', - Invoice: UUID.zero(), - Digest: Buffer.allocUnsafe(0) - }; - newObjMethodData['Method'] = buf.toString('utf8', pos, length); - pos += length; - newObjMethodData['Invoice'] = new UUID(buf, pos); - pos += 16; - newObjMethodData['Digest'] = buf.slice(pos, pos + 32); - pos += 32; - this.MethodData = newObjMethodData; - const count = buf.readUInt8(pos++); - this.ParamList = []; - for (let i = 0; i < count; i++) - { - const newObjParamList: { - Parameter: string - } = { - Parameter: '' - }; - newObjParamList['Parameter'] = buf.toString('utf8', pos, length); - pos += length; - this.ParamList.push(newObjParamList); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/TallyVotes.ts b/lib/classes/packets/TallyVotes.ts deleted file mode 100644 index 6f423fa..0000000 --- a/lib/classes/packets/TallyVotes.ts +++ /dev/null @@ -1,28 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class TallyVotesPacket implements Packet -{ - name = 'TallyVotes'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294902125; - - - getSize(): number - { - return 0; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - return 0; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - return 0; - } -} - diff --git a/lib/classes/packets/TelehubInfo.ts b/lib/classes/packets/TelehubInfo.ts deleted file mode 100644 index e37d601..0000000 --- a/lib/classes/packets/TelehubInfo.ts +++ /dev/null @@ -1,90 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {Quaternion} from '../Quaternion'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class TelehubInfoPacket implements Packet -{ - name = 'TelehubInfo'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901770; - - TelehubBlock: { - ObjectID: UUID; - ObjectName: string; - TelehubPos: Vector3; - TelehubRot: Quaternion; - }; - SpawnPointBlock: { - SpawnPointPos: Vector3; - }[]; - - getSize(): number - { - return (this.TelehubBlock['ObjectName'].length + 1) + ((12) * this.SpawnPointBlock.length) + 41; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.TelehubBlock['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.TelehubBlock['ObjectName'], pos); - pos += this.TelehubBlock['ObjectName'].length; - this.TelehubBlock['TelehubPos'].writeToBuffer(buf, pos, false); - pos += 12; - this.TelehubBlock['TelehubRot'].writeToBuffer(buf, pos); - pos += 12; - const count = this.SpawnPointBlock.length; - buf.writeUInt8(this.SpawnPointBlock.length, pos++); - for (let i = 0; i < count; i++) - { - this.SpawnPointBlock[i]['SpawnPointPos'].writeToBuffer(buf, pos, false); - pos += 12; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjTelehubBlock: { - ObjectID: UUID, - ObjectName: string, - TelehubPos: Vector3, - TelehubRot: Quaternion - } = { - ObjectID: UUID.zero(), - ObjectName: '', - TelehubPos: Vector3.getZero(), - TelehubRot: Quaternion.getIdentity() - }; - newObjTelehubBlock['ObjectID'] = new UUID(buf, pos); - pos += 16; - newObjTelehubBlock['ObjectName'] = buf.toString('utf8', pos, length); - pos += length; - newObjTelehubBlock['TelehubPos'] = new Vector3(buf, pos, false); - pos += 12; - newObjTelehubBlock['TelehubRot'] = new Quaternion(buf, pos); - pos += 12; - this.TelehubBlock = newObjTelehubBlock; - const count = buf.readUInt8(pos++); - this.SpawnPointBlock = []; - for (let i = 0; i < count; i++) - { - const newObjSpawnPointBlock: { - SpawnPointPos: Vector3 - } = { - SpawnPointPos: Vector3.getZero() - }; - newObjSpawnPointBlock['SpawnPointPos'] = new Vector3(buf, pos, false); - pos += 12; - this.SpawnPointBlock.push(newObjSpawnPointBlock); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/TeleportCancel.ts b/lib/classes/packets/TeleportCancel.ts deleted file mode 100644 index 8880e98..0000000 --- a/lib/classes/packets/TeleportCancel.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class TeleportCancelPacket implements Packet -{ - name = 'TeleportCancel'; - flags = MessageFlags.FrequencyLow; - id = 4294901832; - - Info: { - AgentID: UUID; - SessionID: UUID; - }; - - getSize(): number - { - return 32; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.Info['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.Info['SessionID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjInfo: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjInfo['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjInfo['SessionID'] = new UUID(buf, pos); - pos += 16; - this.Info = newObjInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/TeleportFailed.ts b/lib/classes/packets/TeleportFailed.ts deleted file mode 100644 index ed4e6d2..0000000 --- a/lib/classes/packets/TeleportFailed.ts +++ /dev/null @@ -1,91 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class TeleportFailedPacket implements Packet -{ - name = 'TeleportFailed'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901834; - - Info: { - AgentID: UUID; - Reason: string; - }; - AlertInfo: { - Message: string; - ExtraParams: string; - }[]; - - getSize(): number - { - return (this.Info['Reason'].length + 1) + ((this.calculateVarVarSize(this.AlertInfo, 'Message', 1) + this.calculateVarVarSize(this.AlertInfo, 'ExtraParams', 1)) * this.AlertInfo.length) + 17; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.Info['AgentID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.Info['Reason'], pos); - pos += this.Info['Reason'].length; - const count = this.AlertInfo.length; - buf.writeUInt8(this.AlertInfo.length, pos++); - for (let i = 0; i < count; i++) - { - buf.write(this.AlertInfo[i]['Message'], pos); - pos += this.AlertInfo[i]['Message'].length; - buf.write(this.AlertInfo[i]['ExtraParams'], pos); - pos += this.AlertInfo[i]['ExtraParams'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjInfo: { - AgentID: UUID, - Reason: string - } = { - AgentID: UUID.zero(), - Reason: '' - }; - newObjInfo['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjInfo['Reason'] = buf.toString('utf8', pos, length); - pos += length; - this.Info = newObjInfo; - const count = buf.readUInt8(pos++); - this.AlertInfo = []; - for (let i = 0; i < count; i++) - { - const newObjAlertInfo: { - Message: string, - ExtraParams: string - } = { - Message: '', - ExtraParams: '' - }; - newObjAlertInfo['Message'] = buf.toString('utf8', pos, length); - pos += length; - newObjAlertInfo['ExtraParams'] = buf.toString('utf8', pos, length); - pos += length; - this.AlertInfo.push(newObjAlertInfo); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/TeleportFinish.ts b/lib/classes/packets/TeleportFinish.ts deleted file mode 100644 index cfa47f9..0000000 --- a/lib/classes/packets/TeleportFinish.ts +++ /dev/null @@ -1,95 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {IPAddress} from '../IPAddress'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class TeleportFinishPacket implements Packet -{ - name = 'TeleportFinish'; - flags = MessageFlags.Trusted | MessageFlags.Blacklisted | MessageFlags.FrequencyLow; - id = 4294901829; - - Info: { - AgentID: UUID; - LocationID: number; - SimIP: IPAddress; - SimPort: number; - RegionHandle: Long; - SeedCapability: string; - SimAccess: number; - TeleportFlags: number; - }; - - getSize(): number - { - return (this.Info['SeedCapability'].length + 2) + 39; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.Info['AgentID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.Info['LocationID'], pos); - pos += 4; - this.Info['SimIP'].writeToBuffer(buf, pos); - pos += 4; - buf.writeUInt16LE(this.Info['SimPort'], pos); - pos += 2; - buf.writeInt32LE(this.Info['RegionHandle'].low, pos); - pos += 4; - buf.writeInt32LE(this.Info['RegionHandle'].high, pos); - pos += 4; - buf.write(this.Info['SeedCapability'], pos); - pos += this.Info['SeedCapability'].length; - buf.writeUInt8(this.Info['SimAccess'], pos++); - buf.writeUInt32LE(this.Info['TeleportFlags'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjInfo: { - AgentID: UUID, - LocationID: number, - SimIP: IPAddress, - SimPort: number, - RegionHandle: Long, - SeedCapability: string, - SimAccess: number, - TeleportFlags: number - } = { - AgentID: UUID.zero(), - LocationID: 0, - SimIP: IPAddress.zero(), - SimPort: 0, - RegionHandle: Long.ZERO, - SeedCapability: '', - SimAccess: 0, - TeleportFlags: 0 - }; - newObjInfo['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjInfo['LocationID'] = buf.readUInt32LE(pos); - pos += 4; - newObjInfo['SimIP'] = new IPAddress(buf, pos); - pos += 4; - newObjInfo['SimPort'] = buf.readUInt16LE(pos); - pos += 2; - newObjInfo['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjInfo['SeedCapability'] = buf.toString('utf8', pos, length); - pos += length; - newObjInfo['SimAccess'] = buf.readUInt8(pos++); - newObjInfo['TeleportFlags'] = buf.readUInt32LE(pos); - pos += 4; - this.Info = newObjInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/TeleportLandingStatusChanged.ts b/lib/classes/packets/TeleportLandingStatusChanged.ts deleted file mode 100644 index c3323e7..0000000 --- a/lib/classes/packets/TeleportLandingStatusChanged.ts +++ /dev/null @@ -1,46 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class TeleportLandingStatusChangedPacket implements Packet -{ - name = 'TeleportLandingStatusChanged'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901907; - - RegionData: { - RegionHandle: Long; - }; - - getSize(): number - { - return 8; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeInt32LE(this.RegionData['RegionHandle'].low, pos); - pos += 4; - buf.writeInt32LE(this.RegionData['RegionHandle'].high, pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjRegionData: { - RegionHandle: Long - } = { - RegionHandle: Long.ZERO - }; - newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - this.RegionData = newObjRegionData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/TeleportLandmarkRequest.ts b/lib/classes/packets/TeleportLandmarkRequest.ts deleted file mode 100644 index 803ff0e..0000000 --- a/lib/classes/packets/TeleportLandmarkRequest.ts +++ /dev/null @@ -1,58 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class TeleportLandmarkRequestPacket implements Packet -{ - name = 'TeleportLandmarkRequest'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901825; - - Info: { - AgentID: UUID; - SessionID: UUID; - LandmarkID: UUID; - }; - - getSize(): number - { - return 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.Info['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.Info['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Info['LandmarkID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjInfo: { - AgentID: UUID, - SessionID: UUID, - LandmarkID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - LandmarkID: UUID.zero() - }; - newObjInfo['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjInfo['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjInfo['LandmarkID'] = new UUID(buf, pos); - pos += 16; - this.Info = newObjInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/TeleportLocal.ts b/lib/classes/packets/TeleportLocal.ts deleted file mode 100644 index 2ea7f5d..0000000 --- a/lib/classes/packets/TeleportLocal.ts +++ /dev/null @@ -1,73 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class TeleportLocalPacket implements Packet -{ - name = 'TeleportLocal'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901824; - - Info: { - AgentID: UUID; - LocationID: number; - Position: Vector3; - LookAt: Vector3; - TeleportFlags: number; - }; - - getSize(): number - { - return 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.Info['AgentID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.Info['LocationID'], pos); - pos += 4; - this.Info['Position'].writeToBuffer(buf, pos, false); - pos += 12; - this.Info['LookAt'].writeToBuffer(buf, pos, false); - pos += 12; - buf.writeUInt32LE(this.Info['TeleportFlags'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjInfo: { - AgentID: UUID, - LocationID: number, - Position: Vector3, - LookAt: Vector3, - TeleportFlags: number - } = { - AgentID: UUID.zero(), - LocationID: 0, - Position: Vector3.getZero(), - LookAt: Vector3.getZero(), - TeleportFlags: 0 - }; - newObjInfo['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjInfo['LocationID'] = buf.readUInt32LE(pos); - pos += 4; - newObjInfo['Position'] = new Vector3(buf, pos, false); - pos += 12; - newObjInfo['LookAt'] = new Vector3(buf, pos, false); - pos += 12; - newObjInfo['TeleportFlags'] = buf.readUInt32LE(pos); - pos += 4; - this.Info = newObjInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/TeleportLocationRequest.ts b/lib/classes/packets/TeleportLocationRequest.ts deleted file mode 100644 index 5fdd066..0000000 --- a/lib/classes/packets/TeleportLocationRequest.ts +++ /dev/null @@ -1,82 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class TeleportLocationRequestPacket implements Packet -{ - name = 'TeleportLocationRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294901823; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Info: { - RegionHandle: Long; - Position: Vector3; - LookAt: Vector3; - }; - - getSize(): number - { - return 64; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.Info['RegionHandle'].low, pos); - pos += 4; - buf.writeInt32LE(this.Info['RegionHandle'].high, pos); - pos += 4; - this.Info['Position'].writeToBuffer(buf, pos, false); - pos += 12; - this.Info['LookAt'].writeToBuffer(buf, pos, false); - pos += 12; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjInfo: { - RegionHandle: Long, - Position: Vector3, - LookAt: Vector3 - } = { - RegionHandle: Long.ZERO, - Position: Vector3.getZero(), - LookAt: Vector3.getZero() - }; - newObjInfo['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjInfo['Position'] = new Vector3(buf, pos, false); - pos += 12; - newObjInfo['LookAt'] = new Vector3(buf, pos, false); - pos += 12; - this.Info = newObjInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/TeleportLureRequest.ts b/lib/classes/packets/TeleportLureRequest.ts deleted file mode 100644 index f5c3ec5..0000000 --- a/lib/classes/packets/TeleportLureRequest.ts +++ /dev/null @@ -1,65 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class TeleportLureRequestPacket implements Packet -{ - name = 'TeleportLureRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294901831; - - Info: { - AgentID: UUID; - SessionID: UUID; - LureID: UUID; - TeleportFlags: number; - }; - - getSize(): number - { - return 52; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.Info['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.Info['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Info['LureID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.Info['TeleportFlags'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjInfo: { - AgentID: UUID, - SessionID: UUID, - LureID: UUID, - TeleportFlags: number - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - LureID: UUID.zero(), - TeleportFlags: 0 - }; - newObjInfo['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjInfo['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjInfo['LureID'] = new UUID(buf, pos); - pos += 16; - newObjInfo['TeleportFlags'] = buf.readUInt32LE(pos); - pos += 4; - this.Info = newObjInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/TeleportProgress.ts b/lib/classes/packets/TeleportProgress.ts deleted file mode 100644 index d0ed83d..0000000 --- a/lib/classes/packets/TeleportProgress.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class TeleportProgressPacket implements Packet -{ - name = 'TeleportProgress'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901826; - - AgentData: { - AgentID: UUID; - }; - Info: { - TeleportFlags: number; - Message: string; - }; - - getSize(): number - { - return (this.Info['Message'].length + 1) + 20; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.Info['TeleportFlags'], pos); - pos += 4; - buf.write(this.Info['Message'], pos); - pos += this.Info['Message'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjInfo: { - TeleportFlags: number, - Message: string - } = { - TeleportFlags: 0, - Message: '' - }; - newObjInfo['TeleportFlags'] = buf.readUInt32LE(pos); - pos += 4; - newObjInfo['Message'] = buf.toString('utf8', pos, length); - pos += length; - this.Info = newObjInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/TeleportRequest.ts b/lib/classes/packets/TeleportRequest.ts deleted file mode 100644 index eac009a..0000000 --- a/lib/classes/packets/TeleportRequest.ts +++ /dev/null @@ -1,79 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class TeleportRequestPacket implements Packet -{ - name = 'TeleportRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294901822; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Info: { - RegionID: UUID; - Position: Vector3; - LookAt: Vector3; - }; - - getSize(): number - { - return 72; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.Info['RegionID'].writeToBuffer(buf, pos); - pos += 16; - this.Info['Position'].writeToBuffer(buf, pos, false); - pos += 12; - this.Info['LookAt'].writeToBuffer(buf, pos, false); - pos += 12; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjInfo: { - RegionID: UUID, - Position: Vector3, - LookAt: Vector3 - } = { - RegionID: UUID.zero(), - Position: Vector3.getZero(), - LookAt: Vector3.getZero() - }; - newObjInfo['RegionID'] = new UUID(buf, pos); - pos += 16; - newObjInfo['Position'] = new Vector3(buf, pos, false); - pos += 12; - newObjInfo['LookAt'] = new Vector3(buf, pos, false); - pos += 12; - this.Info = newObjInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/TeleportStart.ts b/lib/classes/packets/TeleportStart.ts deleted file mode 100644 index 599c09d..0000000 --- a/lib/classes/packets/TeleportStart.ts +++ /dev/null @@ -1,43 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class TeleportStartPacket implements Packet -{ - name = 'TeleportStart'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901833; - - Info: { - TeleportFlags: number; - }; - - getSize(): number - { - return 4; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeUInt32LE(this.Info['TeleportFlags'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjInfo: { - TeleportFlags: number - } = { - TeleportFlags: 0 - }; - newObjInfo['TeleportFlags'] = buf.readUInt32LE(pos); - pos += 4; - this.Info = newObjInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/TerminateFriendship.ts b/lib/classes/packets/TerminateFriendship.ts deleted file mode 100644 index f7c3641..0000000 --- a/lib/classes/packets/TerminateFriendship.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class TerminateFriendshipPacket implements Packet -{ - name = 'TerminateFriendship'; - flags = MessageFlags.FrequencyLow; - id = 4294902060; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ExBlock: { - OtherID: UUID; - }; - - getSize(): number - { - return 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.ExBlock['OtherID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjExBlock: { - OtherID: UUID - } = { - OtherID: UUID.zero() - }; - newObjExBlock['OtherID'] = new UUID(buf, pos); - pos += 16; - this.ExBlock = newObjExBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/TestMessage.ts b/lib/classes/packets/TestMessage.ts deleted file mode 100644 index bcf71e3..0000000 --- a/lib/classes/packets/TestMessage.ts +++ /dev/null @@ -1,78 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class TestMessagePacket implements Packet -{ - name = 'TestMessage'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901761; - - TestBlock1: { - Test1: number; - }; - NeighborBlock: { - Test0: number; - Test1: number; - Test2: number; - }[]; - - getSize(): number - { - return 52; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeUInt32LE(this.TestBlock1['Test1'], pos); - pos += 4; - const count = 4; - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.NeighborBlock[i]['Test0'], pos); - pos += 4; - buf.writeUInt32LE(this.NeighborBlock[i]['Test1'], pos); - pos += 4; - buf.writeUInt32LE(this.NeighborBlock[i]['Test2'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjTestBlock1: { - Test1: number - } = { - Test1: 0 - }; - newObjTestBlock1['Test1'] = buf.readUInt32LE(pos); - pos += 4; - this.TestBlock1 = newObjTestBlock1; - const count = 4; - this.NeighborBlock = []; for (let i = 0; i < count; i++) - { - const newObjNeighborBlock: { - Test0: number, - Test1: number, - Test2: number - } = { - Test0: 0, - Test1: 0, - Test2: 0 - }; - newObjNeighborBlock['Test0'] = buf.readUInt32LE(pos); - pos += 4; - newObjNeighborBlock['Test1'] = buf.readUInt32LE(pos); - pos += 4; - newObjNeighborBlock['Test2'] = buf.readUInt32LE(pos); - pos += 4; - this.NeighborBlock.push(newObjNeighborBlock); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/TrackAgent.ts b/lib/classes/packets/TrackAgent.ts deleted file mode 100644 index 9799182..0000000 --- a/lib/classes/packets/TrackAgent.ts +++ /dev/null @@ -1,64 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class TrackAgentPacket implements Packet -{ - name = 'TrackAgent'; - flags = MessageFlags.FrequencyLow; - id = 4294901890; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - TargetData: { - PreyID: UUID; - }; - - getSize(): number - { - return 48; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.TargetData['PreyID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjTargetData: { - PreyID: UUID - } = { - PreyID: UUID.zero() - }; - newObjTargetData['PreyID'] = new UUID(buf, pos); - pos += 16; - this.TargetData = newObjTargetData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/TransferAbort.ts b/lib/classes/packets/TransferAbort.ts deleted file mode 100644 index 060727a..0000000 --- a/lib/classes/packets/TransferAbort.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class TransferAbortPacket implements Packet -{ - name = 'TransferAbort'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901915; - - TransferInfo: { - TransferID: UUID; - ChannelType: number; - }; - - getSize(): number - { - return 20; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.TransferInfo['TransferID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.TransferInfo['ChannelType'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjTransferInfo: { - TransferID: UUID, - ChannelType: number - } = { - TransferID: UUID.zero(), - ChannelType: 0 - }; - newObjTransferInfo['TransferID'] = new UUID(buf, pos); - pos += 16; - newObjTransferInfo['ChannelType'] = buf.readInt32LE(pos); - pos += 4; - this.TransferInfo = newObjTransferInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/TransferInfo.ts b/lib/classes/packets/TransferInfo.ts deleted file mode 100644 index 90ea09d..0000000 --- a/lib/classes/packets/TransferInfo.ts +++ /dev/null @@ -1,79 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class TransferInfoPacket implements Packet -{ - name = 'TransferInfo'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901914; - - TransferInfo: { - TransferID: UUID; - ChannelType: number; - TargetType: number; - Status: number; - Size: number; - Params: string; - }; - - getSize(): number - { - return (this.TransferInfo['Params'].length + 2) + 32; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.TransferInfo['TransferID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.TransferInfo['ChannelType'], pos); - pos += 4; - buf.writeInt32LE(this.TransferInfo['TargetType'], pos); - pos += 4; - buf.writeInt32LE(this.TransferInfo['Status'], pos); - pos += 4; - buf.writeInt32LE(this.TransferInfo['Size'], pos); - pos += 4; - buf.write(this.TransferInfo['Params'], pos); - pos += this.TransferInfo['Params'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjTransferInfo: { - TransferID: UUID, - ChannelType: number, - TargetType: number, - Status: number, - Size: number, - Params: string - } = { - TransferID: UUID.zero(), - ChannelType: 0, - TargetType: 0, - Status: 0, - Size: 0, - Params: '' - }; - newObjTransferInfo['TransferID'] = new UUID(buf, pos); - pos += 16; - newObjTransferInfo['ChannelType'] = buf.readInt32LE(pos); - pos += 4; - newObjTransferInfo['TargetType'] = buf.readInt32LE(pos); - pos += 4; - newObjTransferInfo['Status'] = buf.readInt32LE(pos); - pos += 4; - newObjTransferInfo['Size'] = buf.readInt32LE(pos); - pos += 4; - newObjTransferInfo['Params'] = buf.toString('utf8', pos, length); - pos += length; - this.TransferInfo = newObjTransferInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/TransferInventory.ts b/lib/classes/packets/TransferInventory.ts deleted file mode 100644 index 2687774..0000000 --- a/lib/classes/packets/TransferInventory.ts +++ /dev/null @@ -1,104 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class TransferInventoryPacket implements Packet -{ - name = 'TransferInventory'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902055; - - InfoBlock: { - SourceID: UUID; - DestID: UUID; - TransactionID: UUID; - }; - InventoryBlock: { - InventoryID: UUID; - Type: number; - }[]; - ValidationBlock: { - NeedsValidation: boolean; - EstateID: number; - }; - - getSize(): number - { - return ((17) * this.InventoryBlock.length) + 54; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.InfoBlock['SourceID'].writeToBuffer(buf, pos); - pos += 16; - this.InfoBlock['DestID'].writeToBuffer(buf, pos); - pos += 16; - this.InfoBlock['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.InventoryBlock.length; - buf.writeUInt8(this.InventoryBlock.length, pos++); - for (let i = 0; i < count; i++) - { - this.InventoryBlock[i]['InventoryID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt8(this.InventoryBlock[i]['Type'], pos++); - } - buf.writeUInt8((this.ValidationBlock['NeedsValidation']) ? 1 : 0, pos++); - buf.writeUInt32LE(this.ValidationBlock['EstateID'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjInfoBlock: { - SourceID: UUID, - DestID: UUID, - TransactionID: UUID - } = { - SourceID: UUID.zero(), - DestID: UUID.zero(), - TransactionID: UUID.zero() - }; - newObjInfoBlock['SourceID'] = new UUID(buf, pos); - pos += 16; - newObjInfoBlock['DestID'] = new UUID(buf, pos); - pos += 16; - newObjInfoBlock['TransactionID'] = new UUID(buf, pos); - pos += 16; - this.InfoBlock = newObjInfoBlock; - const count = buf.readUInt8(pos++); - this.InventoryBlock = []; - for (let i = 0; i < count; i++) - { - const newObjInventoryBlock: { - InventoryID: UUID, - Type: number - } = { - InventoryID: UUID.zero(), - Type: 0 - }; - newObjInventoryBlock['InventoryID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryBlock['Type'] = buf.readInt8(pos++); - this.InventoryBlock.push(newObjInventoryBlock); - } - const newObjValidationBlock: { - NeedsValidation: boolean, - EstateID: number - } = { - NeedsValidation: false, - EstateID: 0 - }; - newObjValidationBlock['NeedsValidation'] = (buf.readUInt8(pos++) === 1); - newObjValidationBlock['EstateID'] = buf.readUInt32LE(pos); - pos += 4; - this.ValidationBlock = newObjValidationBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/TransferInventoryAck.ts b/lib/classes/packets/TransferInventoryAck.ts deleted file mode 100644 index e3f315c..0000000 --- a/lib/classes/packets/TransferInventoryAck.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class TransferInventoryAckPacket implements Packet -{ - name = 'TransferInventoryAck'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902056; - - InfoBlock: { - TransactionID: UUID; - InventoryID: UUID; - }; - - getSize(): number - { - return 32; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.InfoBlock['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - this.InfoBlock['InventoryID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjInfoBlock: { - TransactionID: UUID, - InventoryID: UUID - } = { - TransactionID: UUID.zero(), - InventoryID: UUID.zero() - }; - newObjInfoBlock['TransactionID'] = new UUID(buf, pos); - pos += 16; - newObjInfoBlock['InventoryID'] = new UUID(buf, pos); - pos += 16; - this.InfoBlock = newObjInfoBlock; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/TransferPacket.ts b/lib/classes/packets/TransferPacket.ts deleted file mode 100644 index e43c993..0000000 --- a/lib/classes/packets/TransferPacket.ts +++ /dev/null @@ -1,72 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class TransferPacketPacket implements Packet -{ - name = 'TransferPacket'; - flags = MessageFlags.FrequencyHigh; - id = 17; - - TransferData: { - TransferID: UUID; - ChannelType: number; - Packet: number; - Status: number; - Data: string; - }; - - getSize(): number - { - return (this.TransferData['Data'].length + 2) + 28; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.TransferData['TransferID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.TransferData['ChannelType'], pos); - pos += 4; - buf.writeInt32LE(this.TransferData['Packet'], pos); - pos += 4; - buf.writeInt32LE(this.TransferData['Status'], pos); - pos += 4; - buf.write(this.TransferData['Data'], pos); - pos += this.TransferData['Data'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjTransferData: { - TransferID: UUID, - ChannelType: number, - Packet: number, - Status: number, - Data: string - } = { - TransferID: UUID.zero(), - ChannelType: 0, - Packet: 0, - Status: 0, - Data: '' - }; - newObjTransferData['TransferID'] = new UUID(buf, pos); - pos += 16; - newObjTransferData['ChannelType'] = buf.readInt32LE(pos); - pos += 4; - newObjTransferData['Packet'] = buf.readInt32LE(pos); - pos += 4; - newObjTransferData['Status'] = buf.readInt32LE(pos); - pos += 4; - newObjTransferData['Data'] = buf.toString('utf8', pos, length); - pos += length; - this.TransferData = newObjTransferData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/TransferRequest.ts b/lib/classes/packets/TransferRequest.ts deleted file mode 100644 index a4ede26..0000000 --- a/lib/classes/packets/TransferRequest.ts +++ /dev/null @@ -1,72 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class TransferRequestPacket implements Packet -{ - name = 'TransferRequest'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901913; - - TransferInfo: { - TransferID: UUID; - ChannelType: number; - SourceType: number; - Priority: number; - Params: string; - }; - - getSize(): number - { - return (this.TransferInfo['Params'].length + 2) + 28; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.TransferInfo['TransferID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.TransferInfo['ChannelType'], pos); - pos += 4; - buf.writeInt32LE(this.TransferInfo['SourceType'], pos); - pos += 4; - buf.writeFloatLE(this.TransferInfo['Priority'], pos); - pos += 4; - buf.write(this.TransferInfo['Params'], pos); - pos += this.TransferInfo['Params'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjTransferInfo: { - TransferID: UUID, - ChannelType: number, - SourceType: number, - Priority: number, - Params: string - } = { - TransferID: UUID.zero(), - ChannelType: 0, - SourceType: 0, - Priority: 0, - Params: '' - }; - newObjTransferInfo['TransferID'] = new UUID(buf, pos); - pos += 16; - newObjTransferInfo['ChannelType'] = buf.readInt32LE(pos); - pos += 4; - newObjTransferInfo['SourceType'] = buf.readInt32LE(pos); - pos += 4; - newObjTransferInfo['Priority'] = buf.readFloatLE(pos); - pos += 4; - newObjTransferInfo['Params'] = buf.toString('utf8', pos, length); - pos += length; - this.TransferInfo = newObjTransferInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/UUIDGroupNameReply.ts b/lib/classes/packets/UUIDGroupNameReply.ts deleted file mode 100644 index 9edafc7..0000000 --- a/lib/classes/packets/UUIDGroupNameReply.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class UUIDGroupNameReplyPacket implements Packet -{ - name = 'UUIDGroupNameReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901998; - - UUIDNameBlock: { - ID: UUID; - GroupName: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.UUIDNameBlock, 'GroupName', 1) + 16) * this.UUIDNameBlock.length) + 1; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.UUIDNameBlock.length; - buf.writeUInt8(this.UUIDNameBlock.length, pos++); - for (let i = 0; i < count; i++) - { - this.UUIDNameBlock[i]['ID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.UUIDNameBlock[i]['GroupName'], pos); - pos += this.UUIDNameBlock[i]['GroupName'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.UUIDNameBlock = []; - for (let i = 0; i < count; i++) - { - const newObjUUIDNameBlock: { - ID: UUID, - GroupName: string - } = { - ID: UUID.zero(), - GroupName: '' - }; - newObjUUIDNameBlock['ID'] = new UUID(buf, pos); - pos += 16; - newObjUUIDNameBlock['GroupName'] = buf.toString('utf8', pos, length); - pos += length; - this.UUIDNameBlock.push(newObjUUIDNameBlock); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/UUIDGroupNameRequest.ts b/lib/classes/packets/UUIDGroupNameRequest.ts deleted file mode 100644 index 340b4db..0000000 --- a/lib/classes/packets/UUIDGroupNameRequest.ts +++ /dev/null @@ -1,54 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class UUIDGroupNameRequestPacket implements Packet -{ - name = 'UUIDGroupNameRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294901997; - - UUIDNameBlock: { - ID: UUID; - }[]; - - getSize(): number - { - return ((16) * this.UUIDNameBlock.length) + 1; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.UUIDNameBlock.length; - buf.writeUInt8(this.UUIDNameBlock.length, pos++); - for (let i = 0; i < count; i++) - { - this.UUIDNameBlock[i]['ID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.UUIDNameBlock = []; - for (let i = 0; i < count; i++) - { - const newObjUUIDNameBlock: { - ID: UUID - } = { - ID: UUID.zero() - }; - newObjUUIDNameBlock['ID'] = new UUID(buf, pos); - pos += 16; - this.UUIDNameBlock.push(newObjUUIDNameBlock); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/UUIDNameReply.ts b/lib/classes/packets/UUIDNameReply.ts deleted file mode 100644 index e8b7caa..0000000 --- a/lib/classes/packets/UUIDNameReply.ts +++ /dev/null @@ -1,78 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class UUIDNameReplyPacket implements Packet -{ - name = 'UUIDNameReply'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901996; - - UUIDNameBlock: { - ID: UUID; - FirstName: string; - LastName: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.UUIDNameBlock, 'FirstName', 1) + this.calculateVarVarSize(this.UUIDNameBlock, 'LastName', 1) + 16) * this.UUIDNameBlock.length) + 1; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.UUIDNameBlock.length; - buf.writeUInt8(this.UUIDNameBlock.length, pos++); - for (let i = 0; i < count; i++) - { - this.UUIDNameBlock[i]['ID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.UUIDNameBlock[i]['FirstName'], pos); - pos += this.UUIDNameBlock[i]['FirstName'].length; - buf.write(this.UUIDNameBlock[i]['LastName'], pos); - pos += this.UUIDNameBlock[i]['LastName'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.UUIDNameBlock = []; - for (let i = 0; i < count; i++) - { - const newObjUUIDNameBlock: { - ID: UUID, - FirstName: string, - LastName: string - } = { - ID: UUID.zero(), - FirstName: '', - LastName: '' - }; - newObjUUIDNameBlock['ID'] = new UUID(buf, pos); - pos += 16; - newObjUUIDNameBlock['FirstName'] = buf.toString('utf8', pos, length); - pos += length; - newObjUUIDNameBlock['LastName'] = buf.toString('utf8', pos, length); - pos += length; - this.UUIDNameBlock.push(newObjUUIDNameBlock); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/UUIDNameRequest.ts b/lib/classes/packets/UUIDNameRequest.ts deleted file mode 100644 index 166526d..0000000 --- a/lib/classes/packets/UUIDNameRequest.ts +++ /dev/null @@ -1,54 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class UUIDNameRequestPacket implements Packet -{ - name = 'UUIDNameRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294901995; - - UUIDNameBlock: { - ID: UUID; - }[]; - - getSize(): number - { - return ((16) * this.UUIDNameBlock.length) + 1; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = this.UUIDNameBlock.length; - buf.writeUInt8(this.UUIDNameBlock.length, pos++); - for (let i = 0; i < count; i++) - { - this.UUIDNameBlock[i]['ID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const count = buf.readUInt8(pos++); - this.UUIDNameBlock = []; - for (let i = 0; i < count; i++) - { - const newObjUUIDNameBlock: { - ID: UUID - } = { - ID: UUID.zero() - }; - newObjUUIDNameBlock['ID'] = new UUID(buf, pos); - pos += 16; - this.UUIDNameBlock.push(newObjUUIDNameBlock); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/Undo.ts b/lib/classes/packets/Undo.ts deleted file mode 100644 index 7f22045..0000000 --- a/lib/classes/packets/Undo.ts +++ /dev/null @@ -1,81 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class UndoPacket implements Packet -{ - name = 'Undo'; - flags = MessageFlags.FrequencyLow; - id = 4294901835; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - GroupID: UUID; - }; - ObjectData: { - ObjectID: UUID; - }[]; - - getSize(): number - { - return ((16) * this.ObjectData.length) + 49; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.ObjectData.length; - buf.writeUInt8(this.ObjectData.length, pos++); - for (let i = 0; i < count; i++) - { - this.ObjectData[i]['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - GroupID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - GroupID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['GroupID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.ObjectData = []; - for (let i = 0; i < count; i++) - { - const newObjObjectData: { - ObjectID: UUID - } = { - ObjectID: UUID.zero() - }; - newObjObjectData['ObjectID'] = new UUID(buf, pos); - pos += 16; - this.ObjectData.push(newObjObjectData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/UndoLand.ts b/lib/classes/packets/UndoLand.ts deleted file mode 100644 index 38f1408..0000000 --- a/lib/classes/packets/UndoLand.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class UndoLandPacket implements Packet -{ - name = 'UndoLand'; - flags = MessageFlags.FrequencyLow; - id = 4294901837; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - - getSize(): number - { - return 32; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/UnsubscribeLoad.ts b/lib/classes/packets/UnsubscribeLoad.ts deleted file mode 100644 index dc3c67c..0000000 --- a/lib/classes/packets/UnsubscribeLoad.ts +++ /dev/null @@ -1,28 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class UnsubscribeLoadPacket implements Packet -{ - name = 'UnsubscribeLoad'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901768; - - - getSize(): number - { - return 0; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - return 0; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - return 0; - } -} - diff --git a/lib/classes/packets/UpdateAttachment.ts b/lib/classes/packets/UpdateAttachment.ts deleted file mode 100644 index 8080e74..0000000 --- a/lib/classes/packets/UpdateAttachment.ts +++ /dev/null @@ -1,223 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class UpdateAttachmentPacket implements Packet -{ - name = 'UpdateAttachment'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902091; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - AttachmentBlock: { - AttachmentPoint: number; - }; - OperationData: { - AddItem: boolean; - UseExistingAsset: boolean; - }; - InventoryData: { - ItemID: UUID; - FolderID: UUID; - CreatorID: UUID; - OwnerID: UUID; - GroupID: UUID; - BaseMask: number; - OwnerMask: number; - GroupMask: number; - EveryoneMask: number; - NextOwnerMask: number; - GroupOwned: boolean; - AssetID: UUID; - Type: number; - InvType: number; - Flags: number; - SaleType: number; - SalePrice: number; - Name: string; - Description: string; - CreationDate: number; - CRC: number; - }; - - getSize(): number - { - return (this.InventoryData['Name'].length + 1 + this.InventoryData['Description'].length + 1) + 171; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.AttachmentBlock['AttachmentPoint'], pos++); - buf.writeUInt8((this.OperationData['AddItem']) ? 1 : 0, pos++); - buf.writeUInt8((this.OperationData['UseExistingAsset']) ? 1 : 0, pos++); - this.InventoryData['ItemID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData['FolderID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData['CreatorID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.InventoryData['BaseMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData['OwnerMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData['GroupMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData['EveryoneMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData['NextOwnerMask'], pos); - pos += 4; - buf.writeUInt8((this.InventoryData['GroupOwned']) ? 1 : 0, pos++); - this.InventoryData['AssetID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt8(this.InventoryData['Type'], pos++); - buf.writeInt8(this.InventoryData['InvType'], pos++); - buf.writeUInt32LE(this.InventoryData['Flags'], pos); - pos += 4; - buf.writeUInt8(this.InventoryData['SaleType'], pos++); - buf.writeInt32LE(this.InventoryData['SalePrice'], pos); - pos += 4; - buf.write(this.InventoryData['Name'], pos); - pos += this.InventoryData['Name'].length; - buf.write(this.InventoryData['Description'], pos); - pos += this.InventoryData['Description'].length; - buf.writeInt32LE(this.InventoryData['CreationDate'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData['CRC'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjAttachmentBlock: { - AttachmentPoint: number - } = { - AttachmentPoint: 0 - }; - newObjAttachmentBlock['AttachmentPoint'] = buf.readUInt8(pos++); - this.AttachmentBlock = newObjAttachmentBlock; - const newObjOperationData: { - AddItem: boolean, - UseExistingAsset: boolean - } = { - AddItem: false, - UseExistingAsset: false - }; - newObjOperationData['AddItem'] = (buf.readUInt8(pos++) === 1); - newObjOperationData['UseExistingAsset'] = (buf.readUInt8(pos++) === 1); - this.OperationData = newObjOperationData; - const newObjInventoryData: { - ItemID: UUID, - FolderID: UUID, - CreatorID: UUID, - OwnerID: UUID, - GroupID: UUID, - BaseMask: number, - OwnerMask: number, - GroupMask: number, - EveryoneMask: number, - NextOwnerMask: number, - GroupOwned: boolean, - AssetID: UUID, - Type: number, - InvType: number, - Flags: number, - SaleType: number, - SalePrice: number, - Name: string, - Description: string, - CreationDate: number, - CRC: number - } = { - ItemID: UUID.zero(), - FolderID: UUID.zero(), - CreatorID: UUID.zero(), - OwnerID: UUID.zero(), - GroupID: UUID.zero(), - BaseMask: 0, - OwnerMask: 0, - GroupMask: 0, - EveryoneMask: 0, - NextOwnerMask: 0, - GroupOwned: false, - AssetID: UUID.zero(), - Type: 0, - InvType: 0, - Flags: 0, - SaleType: 0, - SalePrice: 0, - Name: '', - Description: '', - CreationDate: 0, - CRC: 0 - }; - newObjInventoryData['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['FolderID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['CreatorID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['BaseMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['OwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['GroupMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['EveryoneMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['NextOwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['GroupOwned'] = (buf.readUInt8(pos++) === 1); - newObjInventoryData['AssetID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['Type'] = buf.readInt8(pos++); - newObjInventoryData['InvType'] = buf.readInt8(pos++); - newObjInventoryData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['SaleType'] = buf.readUInt8(pos++); - newObjInventoryData['SalePrice'] = buf.readInt32LE(pos); - pos += 4; - newObjInventoryData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjInventoryData['Description'] = buf.toString('utf8', pos, length); - pos += length; - newObjInventoryData['CreationDate'] = buf.readInt32LE(pos); - pos += 4; - newObjInventoryData['CRC'] = buf.readUInt32LE(pos); - pos += 4; - this.InventoryData = newObjInventoryData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/UpdateCreateInventoryItem.ts b/lib/classes/packets/UpdateCreateInventoryItem.ts deleted file mode 100644 index 64d3657..0000000 --- a/lib/classes/packets/UpdateCreateInventoryItem.ts +++ /dev/null @@ -1,228 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class UpdateCreateInventoryItemPacket implements Packet -{ - name = 'UpdateCreateInventoryItem'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902027; - - AgentData: { - AgentID: UUID; - SimApproved: boolean; - TransactionID: UUID; - }; - InventoryData: { - ItemID: UUID; - FolderID: UUID; - CallbackID: number; - CreatorID: UUID; - OwnerID: UUID; - GroupID: UUID; - BaseMask: number; - OwnerMask: number; - GroupMask: number; - EveryoneMask: number; - NextOwnerMask: number; - GroupOwned: boolean; - AssetID: UUID; - Type: number; - InvType: number; - Flags: number; - SaleType: number; - SalePrice: number; - Name: string; - Description: string; - CreationDate: number; - CRC: number; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.InventoryData, 'Name', 1) + this.calculateVarVarSize(this.InventoryData, 'Description', 1) + 140) * this.InventoryData.length) + 34; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.AgentData['SimApproved']) ? 1 : 0, pos++); - this.AgentData['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.InventoryData.length; - buf.writeUInt8(this.InventoryData.length, pos++); - for (let i = 0; i < count; i++) - { - this.InventoryData[i]['ItemID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData[i]['FolderID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.InventoryData[i]['CallbackID'], pos); - pos += 4; - this.InventoryData[i]['CreatorID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData[i]['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData[i]['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.InventoryData[i]['BaseMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData[i]['OwnerMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData[i]['GroupMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData[i]['EveryoneMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData[i]['NextOwnerMask'], pos); - pos += 4; - buf.writeUInt8((this.InventoryData[i]['GroupOwned']) ? 1 : 0, pos++); - this.InventoryData[i]['AssetID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt8(this.InventoryData[i]['Type'], pos++); - buf.writeInt8(this.InventoryData[i]['InvType'], pos++); - buf.writeUInt32LE(this.InventoryData[i]['Flags'], pos); - pos += 4; - buf.writeUInt8(this.InventoryData[i]['SaleType'], pos++); - buf.writeInt32LE(this.InventoryData[i]['SalePrice'], pos); - pos += 4; - buf.write(this.InventoryData[i]['Name'], pos); - pos += this.InventoryData[i]['Name'].length; - buf.write(this.InventoryData[i]['Description'], pos); - pos += this.InventoryData[i]['Description'].length; - buf.writeInt32LE(this.InventoryData[i]['CreationDate'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData[i]['CRC'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SimApproved: boolean, - TransactionID: UUID - } = { - AgentID: UUID.zero(), - SimApproved: false, - TransactionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SimApproved'] = (buf.readUInt8(pos++) === 1); - newObjAgentData['TransactionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.InventoryData = []; - for (let i = 0; i < count; i++) - { - const newObjInventoryData: { - ItemID: UUID, - FolderID: UUID, - CallbackID: number, - CreatorID: UUID, - OwnerID: UUID, - GroupID: UUID, - BaseMask: number, - OwnerMask: number, - GroupMask: number, - EveryoneMask: number, - NextOwnerMask: number, - GroupOwned: boolean, - AssetID: UUID, - Type: number, - InvType: number, - Flags: number, - SaleType: number, - SalePrice: number, - Name: string, - Description: string, - CreationDate: number, - CRC: number - } = { - ItemID: UUID.zero(), - FolderID: UUID.zero(), - CallbackID: 0, - CreatorID: UUID.zero(), - OwnerID: UUID.zero(), - GroupID: UUID.zero(), - BaseMask: 0, - OwnerMask: 0, - GroupMask: 0, - EveryoneMask: 0, - NextOwnerMask: 0, - GroupOwned: false, - AssetID: UUID.zero(), - Type: 0, - InvType: 0, - Flags: 0, - SaleType: 0, - SalePrice: 0, - Name: '', - Description: '', - CreationDate: 0, - CRC: 0 - }; - newObjInventoryData['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['FolderID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['CallbackID'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['CreatorID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['BaseMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['OwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['GroupMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['EveryoneMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['NextOwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['GroupOwned'] = (buf.readUInt8(pos++) === 1); - newObjInventoryData['AssetID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['Type'] = buf.readInt8(pos++); - newObjInventoryData['InvType'] = buf.readInt8(pos++); - newObjInventoryData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['SaleType'] = buf.readUInt8(pos++); - newObjInventoryData['SalePrice'] = buf.readInt32LE(pos); - pos += 4; - newObjInventoryData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjInventoryData['Description'] = buf.toString('utf8', pos, length); - pos += length; - newObjInventoryData['CreationDate'] = buf.readInt32LE(pos); - pos += 4; - newObjInventoryData['CRC'] = buf.readUInt32LE(pos); - pos += 4; - this.InventoryData.push(newObjInventoryData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/UpdateGroupInfo.ts b/lib/classes/packets/UpdateGroupInfo.ts deleted file mode 100644 index 9a75af6..0000000 --- a/lib/classes/packets/UpdateGroupInfo.ts +++ /dev/null @@ -1,105 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class UpdateGroupInfoPacket implements Packet -{ - name = 'UpdateGroupInfo'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902101; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - GroupData: { - GroupID: UUID; - Charter: string; - ShowInList: boolean; - InsigniaID: UUID; - MembershipFee: number; - OpenEnrollment: boolean; - AllowPublish: boolean; - MaturePublish: boolean; - }; - - getSize(): number - { - return (this.GroupData['Charter'].length + 2) + 72; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.GroupData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.GroupData['Charter'], pos); - pos += this.GroupData['Charter'].length; - buf.writeUInt8((this.GroupData['ShowInList']) ? 1 : 0, pos++); - this.GroupData['InsigniaID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.GroupData['MembershipFee'], pos); - pos += 4; - buf.writeUInt8((this.GroupData['OpenEnrollment']) ? 1 : 0, pos++); - buf.writeUInt8((this.GroupData['AllowPublish']) ? 1 : 0, pos++); - buf.writeUInt8((this.GroupData['MaturePublish']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjGroupData: { - GroupID: UUID, - Charter: string, - ShowInList: boolean, - InsigniaID: UUID, - MembershipFee: number, - OpenEnrollment: boolean, - AllowPublish: boolean, - MaturePublish: boolean - } = { - GroupID: UUID.zero(), - Charter: '', - ShowInList: false, - InsigniaID: UUID.zero(), - MembershipFee: 0, - OpenEnrollment: false, - AllowPublish: false, - MaturePublish: false - }; - newObjGroupData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjGroupData['Charter'] = buf.toString('utf8', pos, length); - pos += length; - newObjGroupData['ShowInList'] = (buf.readUInt8(pos++) === 1); - newObjGroupData['InsigniaID'] = new UUID(buf, pos); - pos += 16; - newObjGroupData['MembershipFee'] = buf.readInt32LE(pos); - pos += 4; - newObjGroupData['OpenEnrollment'] = (buf.readUInt8(pos++) === 1); - newObjGroupData['AllowPublish'] = (buf.readUInt8(pos++) === 1); - newObjGroupData['MaturePublish'] = (buf.readUInt8(pos++) === 1); - this.GroupData = newObjGroupData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/UpdateInventoryFolder.ts b/lib/classes/packets/UpdateInventoryFolder.ts deleted file mode 100644 index 0839cb8..0000000 --- a/lib/classes/packets/UpdateInventoryFolder.ts +++ /dev/null @@ -1,103 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class UpdateInventoryFolderPacket implements Packet -{ - name = 'UpdateInventoryFolder'; - flags = MessageFlags.FrequencyLow; - id = 4294902034; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - FolderData: { - FolderID: UUID; - ParentID: UUID; - Type: number; - Name: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.FolderData, 'Name', 1) + 33) * this.FolderData.length) + 33; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.FolderData.length; - buf.writeUInt8(this.FolderData.length, pos++); - for (let i = 0; i < count; i++) - { - this.FolderData[i]['FolderID'].writeToBuffer(buf, pos); - pos += 16; - this.FolderData[i]['ParentID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt8(this.FolderData[i]['Type'], pos++); - buf.write(this.FolderData[i]['Name'], pos); - pos += this.FolderData[i]['Name'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.FolderData = []; - for (let i = 0; i < count; i++) - { - const newObjFolderData: { - FolderID: UUID, - ParentID: UUID, - Type: number, - Name: string - } = { - FolderID: UUID.zero(), - ParentID: UUID.zero(), - Type: 0, - Name: '' - }; - newObjFolderData['FolderID'] = new UUID(buf, pos); - pos += 16; - newObjFolderData['ParentID'] = new UUID(buf, pos); - pos += 16; - newObjFolderData['Type'] = buf.readInt8(pos++); - newObjFolderData['Name'] = buf.toString('utf8', pos, length); - pos += length; - this.FolderData.push(newObjFolderData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/UpdateInventoryItem.ts b/lib/classes/packets/UpdateInventoryItem.ts deleted file mode 100644 index d78821a..0000000 --- a/lib/classes/packets/UpdateInventoryItem.ts +++ /dev/null @@ -1,230 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class UpdateInventoryItemPacket implements Packet -{ - name = 'UpdateInventoryItem'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902026; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - TransactionID: UUID; - }; - InventoryData: { - ItemID: UUID; - FolderID: UUID; - CallbackID: number; - CreatorID: UUID; - OwnerID: UUID; - GroupID: UUID; - BaseMask: number; - OwnerMask: number; - GroupMask: number; - EveryoneMask: number; - NextOwnerMask: number; - GroupOwned: boolean; - TransactionID: UUID; - Type: number; - InvType: number; - Flags: number; - SaleType: number; - SalePrice: number; - Name: string; - Description: string; - CreationDate: number; - CRC: number; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.InventoryData, 'Name', 1) + this.calculateVarVarSize(this.InventoryData, 'Description', 1) + 140) * this.InventoryData.length) + 49; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.InventoryData.length; - buf.writeUInt8(this.InventoryData.length, pos++); - for (let i = 0; i < count; i++) - { - this.InventoryData[i]['ItemID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData[i]['FolderID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.InventoryData[i]['CallbackID'], pos); - pos += 4; - this.InventoryData[i]['CreatorID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData[i]['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData[i]['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.InventoryData[i]['BaseMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData[i]['OwnerMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData[i]['GroupMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData[i]['EveryoneMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData[i]['NextOwnerMask'], pos); - pos += 4; - buf.writeUInt8((this.InventoryData[i]['GroupOwned']) ? 1 : 0, pos++); - this.InventoryData[i]['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt8(this.InventoryData[i]['Type'], pos++); - buf.writeInt8(this.InventoryData[i]['InvType'], pos++); - buf.writeUInt32LE(this.InventoryData[i]['Flags'], pos); - pos += 4; - buf.writeUInt8(this.InventoryData[i]['SaleType'], pos++); - buf.writeInt32LE(this.InventoryData[i]['SalePrice'], pos); - pos += 4; - buf.write(this.InventoryData[i]['Name'], pos); - pos += this.InventoryData[i]['Name'].length; - buf.write(this.InventoryData[i]['Description'], pos); - pos += this.InventoryData[i]['Description'].length; - buf.writeInt32LE(this.InventoryData[i]['CreationDate'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData[i]['CRC'], pos); - pos += 4; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - TransactionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - TransactionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['TransactionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.InventoryData = []; - for (let i = 0; i < count; i++) - { - const newObjInventoryData: { - ItemID: UUID, - FolderID: UUID, - CallbackID: number, - CreatorID: UUID, - OwnerID: UUID, - GroupID: UUID, - BaseMask: number, - OwnerMask: number, - GroupMask: number, - EveryoneMask: number, - NextOwnerMask: number, - GroupOwned: boolean, - TransactionID: UUID, - Type: number, - InvType: number, - Flags: number, - SaleType: number, - SalePrice: number, - Name: string, - Description: string, - CreationDate: number, - CRC: number - } = { - ItemID: UUID.zero(), - FolderID: UUID.zero(), - CallbackID: 0, - CreatorID: UUID.zero(), - OwnerID: UUID.zero(), - GroupID: UUID.zero(), - BaseMask: 0, - OwnerMask: 0, - GroupMask: 0, - EveryoneMask: 0, - NextOwnerMask: 0, - GroupOwned: false, - TransactionID: UUID.zero(), - Type: 0, - InvType: 0, - Flags: 0, - SaleType: 0, - SalePrice: 0, - Name: '', - Description: '', - CreationDate: 0, - CRC: 0 - }; - newObjInventoryData['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['FolderID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['CallbackID'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['CreatorID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['BaseMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['OwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['GroupMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['EveryoneMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['NextOwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['GroupOwned'] = (buf.readUInt8(pos++) === 1); - newObjInventoryData['TransactionID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['Type'] = buf.readInt8(pos++); - newObjInventoryData['InvType'] = buf.readInt8(pos++); - newObjInventoryData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['SaleType'] = buf.readUInt8(pos++); - newObjInventoryData['SalePrice'] = buf.readInt32LE(pos); - pos += 4; - newObjInventoryData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjInventoryData['Description'] = buf.toString('utf8', pos, length); - pos += length; - newObjInventoryData['CreationDate'] = buf.readInt32LE(pos); - pos += 4; - newObjInventoryData['CRC'] = buf.readUInt32LE(pos); - pos += 4; - this.InventoryData.push(newObjInventoryData); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/UpdateMuteListEntry.ts b/lib/classes/packets/UpdateMuteListEntry.ts deleted file mode 100644 index 98b77f8..0000000 --- a/lib/classes/packets/UpdateMuteListEntry.ts +++ /dev/null @@ -1,85 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class UpdateMuteListEntryPacket implements Packet -{ - name = 'UpdateMuteListEntry'; - flags = MessageFlags.FrequencyLow; - id = 4294902023; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - MuteData: { - MuteID: UUID; - MuteName: string; - MuteType: number; - MuteFlags: number; - }; - - getSize(): number - { - return (this.MuteData['MuteName'].length + 1) + 56; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.MuteData['MuteID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.MuteData['MuteName'], pos); - pos += this.MuteData['MuteName'].length; - buf.writeInt32LE(this.MuteData['MuteType'], pos); - pos += 4; - buf.writeUInt32LE(this.MuteData['MuteFlags'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjMuteData: { - MuteID: UUID, - MuteName: string, - MuteType: number, - MuteFlags: number - } = { - MuteID: UUID.zero(), - MuteName: '', - MuteType: 0, - MuteFlags: 0 - }; - newObjMuteData['MuteID'] = new UUID(buf, pos); - pos += 16; - newObjMuteData['MuteName'] = buf.toString('utf8', pos, length); - pos += length; - newObjMuteData['MuteType'] = buf.readInt32LE(pos); - pos += 4; - newObjMuteData['MuteFlags'] = buf.readUInt32LE(pos); - pos += 4; - this.MuteData = newObjMuteData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/UpdateParcel.ts b/lib/classes/packets/UpdateParcel.ts deleted file mode 100644 index 28a749e..0000000 --- a/lib/classes/packets/UpdateParcel.ts +++ /dev/null @@ -1,174 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import Long = require('long'); -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class UpdateParcelPacket implements Packet -{ - name = 'UpdateParcel'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901981; - - ParcelData: { - ParcelID: UUID; - RegionHandle: Long; - OwnerID: UUID; - GroupOwned: boolean; - Status: number; - Name: string; - Description: string; - MusicURL: string; - RegionX: number; - RegionY: number; - ActualArea: number; - BillableArea: number; - ShowDir: boolean; - IsForSale: boolean; - Category: number; - SnapshotID: UUID; - UserLocation: Vector3; - SalePrice: number; - AuthorizedBuyerID: UUID; - AllowPublish: boolean; - MaturePublish: boolean; - }; - - getSize(): number - { - return (this.ParcelData['Name'].length + 1 + this.ParcelData['Description'].length + 1 + this.ParcelData['MusicURL'].length + 1) + 111; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.ParcelData['ParcelID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.ParcelData['RegionHandle'].low, pos); - pos += 4; - buf.writeInt32LE(this.ParcelData['RegionHandle'].high, pos); - pos += 4; - this.ParcelData['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.ParcelData['GroupOwned']) ? 1 : 0, pos++); - buf.writeUInt8(this.ParcelData['Status'], pos++); - buf.write(this.ParcelData['Name'], pos); - pos += this.ParcelData['Name'].length; - buf.write(this.ParcelData['Description'], pos); - pos += this.ParcelData['Description'].length; - buf.write(this.ParcelData['MusicURL'], pos); - pos += this.ParcelData['MusicURL'].length; - buf.writeFloatLE(this.ParcelData['RegionX'], pos); - pos += 4; - buf.writeFloatLE(this.ParcelData['RegionY'], pos); - pos += 4; - buf.writeInt32LE(this.ParcelData['ActualArea'], pos); - pos += 4; - buf.writeInt32LE(this.ParcelData['BillableArea'], pos); - pos += 4; - buf.writeUInt8((this.ParcelData['ShowDir']) ? 1 : 0, pos++); - buf.writeUInt8((this.ParcelData['IsForSale']) ? 1 : 0, pos++); - buf.writeUInt8(this.ParcelData['Category'], pos++); - this.ParcelData['SnapshotID'].writeToBuffer(buf, pos); - pos += 16; - this.ParcelData['UserLocation'].writeToBuffer(buf, pos, false); - pos += 12; - buf.writeInt32LE(this.ParcelData['SalePrice'], pos); - pos += 4; - this.ParcelData['AuthorizedBuyerID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.ParcelData['AllowPublish']) ? 1 : 0, pos++); - buf.writeUInt8((this.ParcelData['MaturePublish']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjParcelData: { - ParcelID: UUID, - RegionHandle: Long, - OwnerID: UUID, - GroupOwned: boolean, - Status: number, - Name: string, - Description: string, - MusicURL: string, - RegionX: number, - RegionY: number, - ActualArea: number, - BillableArea: number, - ShowDir: boolean, - IsForSale: boolean, - Category: number, - SnapshotID: UUID, - UserLocation: Vector3, - SalePrice: number, - AuthorizedBuyerID: UUID, - AllowPublish: boolean, - MaturePublish: boolean - } = { - ParcelID: UUID.zero(), - RegionHandle: Long.ZERO, - OwnerID: UUID.zero(), - GroupOwned: false, - Status: 0, - Name: '', - Description: '', - MusicURL: '', - RegionX: 0, - RegionY: 0, - ActualArea: 0, - BillableArea: 0, - ShowDir: false, - IsForSale: false, - Category: 0, - SnapshotID: UUID.zero(), - UserLocation: Vector3.getZero(), - SalePrice: 0, - AuthorizedBuyerID: UUID.zero(), - AllowPublish: false, - MaturePublish: false - }; - newObjParcelData['ParcelID'] = new UUID(buf, pos); - pos += 16; - newObjParcelData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); - pos += 8; - newObjParcelData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjParcelData['GroupOwned'] = (buf.readUInt8(pos++) === 1); - newObjParcelData['Status'] = buf.readUInt8(pos++); - newObjParcelData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjParcelData['Description'] = buf.toString('utf8', pos, length); - pos += length; - newObjParcelData['MusicURL'] = buf.toString('utf8', pos, length); - pos += length; - newObjParcelData['RegionX'] = buf.readFloatLE(pos); - pos += 4; - newObjParcelData['RegionY'] = buf.readFloatLE(pos); - pos += 4; - newObjParcelData['ActualArea'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['BillableArea'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['ShowDir'] = (buf.readUInt8(pos++) === 1); - newObjParcelData['IsForSale'] = (buf.readUInt8(pos++) === 1); - newObjParcelData['Category'] = buf.readUInt8(pos++); - newObjParcelData['SnapshotID'] = new UUID(buf, pos); - pos += 16; - newObjParcelData['UserLocation'] = new Vector3(buf, pos, false); - pos += 12; - newObjParcelData['SalePrice'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['AuthorizedBuyerID'] = new UUID(buf, pos); - pos += 16; - newObjParcelData['AllowPublish'] = (buf.readUInt8(pos++) === 1); - newObjParcelData['MaturePublish'] = (buf.readUInt8(pos++) === 1); - this.ParcelData = newObjParcelData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/UpdateSimulator.ts b/lib/classes/packets/UpdateSimulator.ts deleted file mode 100644 index ad698e8..0000000 --- a/lib/classes/packets/UpdateSimulator.ts +++ /dev/null @@ -1,63 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class UpdateSimulatorPacket implements Packet -{ - name = 'UpdateSimulator'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901777; - - SimulatorInfo: { - RegionID: UUID; - SimName: string; - EstateID: number; - SimAccess: number; - }; - - getSize(): number - { - return (this.SimulatorInfo['SimName'].length + 1) + 21; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.SimulatorInfo['RegionID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.SimulatorInfo['SimName'], pos); - pos += this.SimulatorInfo['SimName'].length; - buf.writeUInt32LE(this.SimulatorInfo['EstateID'], pos); - pos += 4; - buf.writeUInt8(this.SimulatorInfo['SimAccess'], pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjSimulatorInfo: { - RegionID: UUID, - SimName: string, - EstateID: number, - SimAccess: number - } = { - RegionID: UUID.zero(), - SimName: '', - EstateID: 0, - SimAccess: 0 - }; - newObjSimulatorInfo['RegionID'] = new UUID(buf, pos); - pos += 16; - newObjSimulatorInfo['SimName'] = buf.toString('utf8', pos, length); - pos += length; - newObjSimulatorInfo['EstateID'] = buf.readUInt32LE(pos); - pos += 4; - newObjSimulatorInfo['SimAccess'] = buf.readUInt8(pos++); - this.SimulatorInfo = newObjSimulatorInfo; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/UpdateTaskInventory.ts b/lib/classes/packets/UpdateTaskInventory.ts deleted file mode 100644 index edf8040..0000000 --- a/lib/classes/packets/UpdateTaskInventory.ts +++ /dev/null @@ -1,214 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class UpdateTaskInventoryPacket implements Packet -{ - name = 'UpdateTaskInventory'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294902046; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - UpdateData: { - LocalID: number; - Key: number; - }; - InventoryData: { - ItemID: UUID; - FolderID: UUID; - CreatorID: UUID; - OwnerID: UUID; - GroupID: UUID; - BaseMask: number; - OwnerMask: number; - GroupMask: number; - EveryoneMask: number; - NextOwnerMask: number; - GroupOwned: boolean; - TransactionID: UUID; - Type: number; - InvType: number; - Flags: number; - SaleType: number; - SalePrice: number; - Name: string; - Description: string; - CreationDate: number; - CRC: number; - }; - - getSize(): number - { - return (this.InventoryData['Name'].length + 1 + this.InventoryData['Description'].length + 1) + 173; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.UpdateData['LocalID'], pos); - pos += 4; - buf.writeUInt8(this.UpdateData['Key'], pos++); - this.InventoryData['ItemID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData['FolderID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData['CreatorID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - this.InventoryData['GroupID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt32LE(this.InventoryData['BaseMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData['OwnerMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData['GroupMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData['EveryoneMask'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData['NextOwnerMask'], pos); - pos += 4; - buf.writeUInt8((this.InventoryData['GroupOwned']) ? 1 : 0, pos++); - this.InventoryData['TransactionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt8(this.InventoryData['Type'], pos++); - buf.writeInt8(this.InventoryData['InvType'], pos++); - buf.writeUInt32LE(this.InventoryData['Flags'], pos); - pos += 4; - buf.writeUInt8(this.InventoryData['SaleType'], pos++); - buf.writeInt32LE(this.InventoryData['SalePrice'], pos); - pos += 4; - buf.write(this.InventoryData['Name'], pos); - pos += this.InventoryData['Name'].length; - buf.write(this.InventoryData['Description'], pos); - pos += this.InventoryData['Description'].length; - buf.writeInt32LE(this.InventoryData['CreationDate'], pos); - pos += 4; - buf.writeUInt32LE(this.InventoryData['CRC'], pos); - pos += 4; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjUpdateData: { - LocalID: number, - Key: number - } = { - LocalID: 0, - Key: 0 - }; - newObjUpdateData['LocalID'] = buf.readUInt32LE(pos); - pos += 4; - newObjUpdateData['Key'] = buf.readUInt8(pos++); - this.UpdateData = newObjUpdateData; - const newObjInventoryData: { - ItemID: UUID, - FolderID: UUID, - CreatorID: UUID, - OwnerID: UUID, - GroupID: UUID, - BaseMask: number, - OwnerMask: number, - GroupMask: number, - EveryoneMask: number, - NextOwnerMask: number, - GroupOwned: boolean, - TransactionID: UUID, - Type: number, - InvType: number, - Flags: number, - SaleType: number, - SalePrice: number, - Name: string, - Description: string, - CreationDate: number, - CRC: number - } = { - ItemID: UUID.zero(), - FolderID: UUID.zero(), - CreatorID: UUID.zero(), - OwnerID: UUID.zero(), - GroupID: UUID.zero(), - BaseMask: 0, - OwnerMask: 0, - GroupMask: 0, - EveryoneMask: 0, - NextOwnerMask: 0, - GroupOwned: false, - TransactionID: UUID.zero(), - Type: 0, - InvType: 0, - Flags: 0, - SaleType: 0, - SalePrice: 0, - Name: '', - Description: '', - CreationDate: 0, - CRC: 0 - }; - newObjInventoryData['ItemID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['FolderID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['CreatorID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['GroupID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['BaseMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['OwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['GroupMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['EveryoneMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['NextOwnerMask'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['GroupOwned'] = (buf.readUInt8(pos++) === 1); - newObjInventoryData['TransactionID'] = new UUID(buf, pos); - pos += 16; - newObjInventoryData['Type'] = buf.readInt8(pos++); - newObjInventoryData['InvType'] = buf.readInt8(pos++); - newObjInventoryData['Flags'] = buf.readUInt32LE(pos); - pos += 4; - newObjInventoryData['SaleType'] = buf.readUInt8(pos++); - newObjInventoryData['SalePrice'] = buf.readInt32LE(pos); - pos += 4; - newObjInventoryData['Name'] = buf.toString('utf8', pos, length); - pos += length; - newObjInventoryData['Description'] = buf.toString('utf8', pos, length); - pos += length; - newObjInventoryData['CreationDate'] = buf.readInt32LE(pos); - pos += 4; - newObjInventoryData['CRC'] = buf.readUInt32LE(pos); - pos += 4; - this.InventoryData = newObjInventoryData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/UpdateUserInfo.ts b/lib/classes/packets/UpdateUserInfo.ts deleted file mode 100644 index d8431cc..0000000 --- a/lib/classes/packets/UpdateUserInfo.ts +++ /dev/null @@ -1,69 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class UpdateUserInfoPacket implements Packet -{ - name = 'UpdateUserInfo'; - flags = MessageFlags.FrequencyLow; - id = 4294902161; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - UserData: { - IMViaEMail: boolean; - DirectoryVisibility: string; - }; - - getSize(): number - { - return (this.UserData['DirectoryVisibility'].length + 1) + 33; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.UserData['IMViaEMail']) ? 1 : 0, pos++); - buf.write(this.UserData['DirectoryVisibility'], pos); - pos += this.UserData['DirectoryVisibility'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjUserData: { - IMViaEMail: boolean, - DirectoryVisibility: string - } = { - IMViaEMail: false, - DirectoryVisibility: '' - }; - newObjUserData['IMViaEMail'] = (buf.readUInt8(pos++) === 1); - newObjUserData['DirectoryVisibility'] = buf.toString('utf8', pos, length); - pos += length; - this.UserData = newObjUserData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/UseCachedMuteList.ts b/lib/classes/packets/UseCachedMuteList.ts deleted file mode 100644 index ac5c5de..0000000 --- a/lib/classes/packets/UseCachedMuteList.ts +++ /dev/null @@ -1,44 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class UseCachedMuteListPacket implements Packet -{ - name = 'UseCachedMuteList'; - flags = MessageFlags.FrequencyLow; - id = 4294902079; - - AgentData: { - AgentID: UUID; - }; - - getSize(): number - { - return 16; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/UseCircuitCode.ts b/lib/classes/packets/UseCircuitCode.ts deleted file mode 100644 index cc45cba..0000000 --- a/lib/classes/packets/UseCircuitCode.ts +++ /dev/null @@ -1,58 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class UseCircuitCodePacket implements Packet -{ - name = 'UseCircuitCode'; - flags = MessageFlags.FrequencyLow; - id = 4294901763; - - CircuitCode: { - Code: number; - SessionID: UUID; - ID: UUID; - }; - - getSize(): number - { - return 36; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeUInt32LE(this.CircuitCode['Code'], pos); - pos += 4; - this.CircuitCode['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.CircuitCode['ID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjCircuitCode: { - Code: number, - SessionID: UUID, - ID: UUID - } = { - Code: 0, - SessionID: UUID.zero(), - ID: UUID.zero() - }; - newObjCircuitCode['Code'] = buf.readUInt32LE(pos); - pos += 4; - newObjCircuitCode['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjCircuitCode['ID'] = new UUID(buf, pos); - pos += 16; - this.CircuitCode = newObjCircuitCode; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/UserInfoReply.ts b/lib/classes/packets/UserInfoReply.ts deleted file mode 100644 index 924f63d..0000000 --- a/lib/classes/packets/UserInfoReply.ts +++ /dev/null @@ -1,69 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class UserInfoReplyPacket implements Packet -{ - name = 'UserInfoReply'; - flags = MessageFlags.FrequencyLow; - id = 4294902160; - - AgentData: { - AgentID: UUID; - }; - UserData: { - IMViaEMail: boolean; - DirectoryVisibility: string; - EMail: string; - }; - - getSize(): number - { - return (this.UserData['DirectoryVisibility'].length + 1 + this.UserData['EMail'].length + 2) + 17; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8((this.UserData['IMViaEMail']) ? 1 : 0, pos++); - buf.write(this.UserData['DirectoryVisibility'], pos); - pos += this.UserData['DirectoryVisibility'].length; - buf.write(this.UserData['EMail'], pos); - pos += this.UserData['EMail'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID - } = { - AgentID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjUserData: { - IMViaEMail: boolean, - DirectoryVisibility: string, - EMail: string - } = { - IMViaEMail: false, - DirectoryVisibility: '', - EMail: '' - }; - newObjUserData['IMViaEMail'] = (buf.readUInt8(pos++) === 1); - newObjUserData['DirectoryVisibility'] = buf.toString('utf8', pos, length); - pos += length; - newObjUserData['EMail'] = buf.toString('utf8', pos, length); - pos += length; - this.UserData = newObjUserData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/UserInfoRequest.ts b/lib/classes/packets/UserInfoRequest.ts deleted file mode 100644 index f8d0b0e..0000000 --- a/lib/classes/packets/UserInfoRequest.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class UserInfoRequestPacket implements Packet -{ - name = 'UserInfoRequest'; - flags = MessageFlags.FrequencyLow; - id = 4294902159; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - - getSize(): number - { - return 32; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/UserReport.ts b/lib/classes/packets/UserReport.ts deleted file mode 100644 index 51c4c75..0000000 --- a/lib/classes/packets/UserReport.ts +++ /dev/null @@ -1,136 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class UserReportPacket implements Packet -{ - name = 'UserReport'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901893; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ReportData: { - ReportType: number; - Category: number; - Position: Vector3; - CheckFlags: number; - ScreenshotID: UUID; - ObjectID: UUID; - AbuserID: UUID; - AbuseRegionName: string; - AbuseRegionID: UUID; - Summary: string; - Details: string; - VersionString: string; - }; - - getSize(): number - { - return (this.ReportData['AbuseRegionName'].length + 1 + this.ReportData['Summary'].length + 1 + this.ReportData['Details'].length + 2 + this.ReportData['VersionString'].length + 1) + 111; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.ReportData['ReportType'], pos++); - buf.writeUInt8(this.ReportData['Category'], pos++); - this.ReportData['Position'].writeToBuffer(buf, pos, false); - pos += 12; - buf.writeUInt8(this.ReportData['CheckFlags'], pos++); - this.ReportData['ScreenshotID'].writeToBuffer(buf, pos); - pos += 16; - this.ReportData['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - this.ReportData['AbuserID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.ReportData['AbuseRegionName'], pos); - pos += this.ReportData['AbuseRegionName'].length; - this.ReportData['AbuseRegionID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.ReportData['Summary'], pos); - pos += this.ReportData['Summary'].length; - buf.write(this.ReportData['Details'], pos); - pos += this.ReportData['Details'].length; - buf.write(this.ReportData['VersionString'], pos); - pos += this.ReportData['VersionString'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjReportData: { - ReportType: number, - Category: number, - Position: Vector3, - CheckFlags: number, - ScreenshotID: UUID, - ObjectID: UUID, - AbuserID: UUID, - AbuseRegionName: string, - AbuseRegionID: UUID, - Summary: string, - Details: string, - VersionString: string - } = { - ReportType: 0, - Category: 0, - Position: Vector3.getZero(), - CheckFlags: 0, - ScreenshotID: UUID.zero(), - ObjectID: UUID.zero(), - AbuserID: UUID.zero(), - AbuseRegionName: '', - AbuseRegionID: UUID.zero(), - Summary: '', - Details: '', - VersionString: '' - }; - newObjReportData['ReportType'] = buf.readUInt8(pos++); - newObjReportData['Category'] = buf.readUInt8(pos++); - newObjReportData['Position'] = new Vector3(buf, pos, false); - pos += 12; - newObjReportData['CheckFlags'] = buf.readUInt8(pos++); - newObjReportData['ScreenshotID'] = new UUID(buf, pos); - pos += 16; - newObjReportData['ObjectID'] = new UUID(buf, pos); - pos += 16; - newObjReportData['AbuserID'] = new UUID(buf, pos); - pos += 16; - newObjReportData['AbuseRegionName'] = buf.toString('utf8', pos, length); - pos += length; - newObjReportData['AbuseRegionID'] = new UUID(buf, pos); - pos += 16; - newObjReportData['Summary'] = buf.toString('utf8', pos, length); - pos += length; - newObjReportData['Details'] = buf.toString('utf8', pos, length); - pos += length; - newObjReportData['VersionString'] = buf.toString('utf8', pos, length); - pos += length; - this.ReportData = newObjReportData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/UserReportInternal.ts b/lib/classes/packets/UserReportInternal.ts deleted file mode 100644 index 4444228..0000000 --- a/lib/classes/packets/UserReportInternal.ts +++ /dev/null @@ -1,153 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {Vector3} from '../Vector3'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class UserReportInternalPacket implements Packet -{ - name = 'UserReportInternal'; - flags = MessageFlags.Trusted | MessageFlags.Zerocoded | MessageFlags.FrequencyLow; - id = 4294901781; - - ReportData: { - ReportType: number; - Category: number; - ReporterID: UUID; - ViewerPosition: Vector3; - AgentPosition: Vector3; - ScreenshotID: UUID; - ObjectID: UUID; - OwnerID: UUID; - LastOwnerID: UUID; - CreatorID: UUID; - RegionID: UUID; - AbuserID: UUID; - AbuseRegionName: string; - AbuseRegionID: UUID; - Summary: string; - Details: string; - VersionString: string; - }; - - getSize(): number - { - return (this.ReportData['AbuseRegionName'].length + 1 + this.ReportData['Summary'].length + 1 + this.ReportData['Details'].length + 2 + this.ReportData['VersionString'].length + 1) + 170; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeUInt8(this.ReportData['ReportType'], pos++); - buf.writeUInt8(this.ReportData['Category'], pos++); - this.ReportData['ReporterID'].writeToBuffer(buf, pos); - pos += 16; - this.ReportData['ViewerPosition'].writeToBuffer(buf, pos, false); - pos += 12; - this.ReportData['AgentPosition'].writeToBuffer(buf, pos, false); - pos += 12; - this.ReportData['ScreenshotID'].writeToBuffer(buf, pos); - pos += 16; - this.ReportData['ObjectID'].writeToBuffer(buf, pos); - pos += 16; - this.ReportData['OwnerID'].writeToBuffer(buf, pos); - pos += 16; - this.ReportData['LastOwnerID'].writeToBuffer(buf, pos); - pos += 16; - this.ReportData['CreatorID'].writeToBuffer(buf, pos); - pos += 16; - this.ReportData['RegionID'].writeToBuffer(buf, pos); - pos += 16; - this.ReportData['AbuserID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.ReportData['AbuseRegionName'], pos); - pos += this.ReportData['AbuseRegionName'].length; - this.ReportData['AbuseRegionID'].writeToBuffer(buf, pos); - pos += 16; - buf.write(this.ReportData['Summary'], pos); - pos += this.ReportData['Summary'].length; - buf.write(this.ReportData['Details'], pos); - pos += this.ReportData['Details'].length; - buf.write(this.ReportData['VersionString'], pos); - pos += this.ReportData['VersionString'].length; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjReportData: { - ReportType: number, - Category: number, - ReporterID: UUID, - ViewerPosition: Vector3, - AgentPosition: Vector3, - ScreenshotID: UUID, - ObjectID: UUID, - OwnerID: UUID, - LastOwnerID: UUID, - CreatorID: UUID, - RegionID: UUID, - AbuserID: UUID, - AbuseRegionName: string, - AbuseRegionID: UUID, - Summary: string, - Details: string, - VersionString: string - } = { - ReportType: 0, - Category: 0, - ReporterID: UUID.zero(), - ViewerPosition: Vector3.getZero(), - AgentPosition: Vector3.getZero(), - ScreenshotID: UUID.zero(), - ObjectID: UUID.zero(), - OwnerID: UUID.zero(), - LastOwnerID: UUID.zero(), - CreatorID: UUID.zero(), - RegionID: UUID.zero(), - AbuserID: UUID.zero(), - AbuseRegionName: '', - AbuseRegionID: UUID.zero(), - Summary: '', - Details: '', - VersionString: '' - }; - newObjReportData['ReportType'] = buf.readUInt8(pos++); - newObjReportData['Category'] = buf.readUInt8(pos++); - newObjReportData['ReporterID'] = new UUID(buf, pos); - pos += 16; - newObjReportData['ViewerPosition'] = new Vector3(buf, pos, false); - pos += 12; - newObjReportData['AgentPosition'] = new Vector3(buf, pos, false); - pos += 12; - newObjReportData['ScreenshotID'] = new UUID(buf, pos); - pos += 16; - newObjReportData['ObjectID'] = new UUID(buf, pos); - pos += 16; - newObjReportData['OwnerID'] = new UUID(buf, pos); - pos += 16; - newObjReportData['LastOwnerID'] = new UUID(buf, pos); - pos += 16; - newObjReportData['CreatorID'] = new UUID(buf, pos); - pos += 16; - newObjReportData['RegionID'] = new UUID(buf, pos); - pos += 16; - newObjReportData['AbuserID'] = new UUID(buf, pos); - pos += 16; - newObjReportData['AbuseRegionName'] = buf.toString('utf8', pos, length); - pos += length; - newObjReportData['AbuseRegionID'] = new UUID(buf, pos); - pos += 16; - newObjReportData['Summary'] = buf.toString('utf8', pos, length); - pos += length; - newObjReportData['Details'] = buf.toString('utf8', pos, length); - pos += length; - newObjReportData['VersionString'] = buf.toString('utf8', pos, length); - pos += length; - this.ReportData = newObjReportData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/VelocityInterpolateOff.ts b/lib/classes/packets/VelocityInterpolateOff.ts deleted file mode 100644 index 0d84899..0000000 --- a/lib/classes/packets/VelocityInterpolateOff.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class VelocityInterpolateOffPacket implements Packet -{ - name = 'VelocityInterpolateOff'; - flags = MessageFlags.FrequencyLow; - id = 4294901886; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - - getSize(): number - { - return 32; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/VelocityInterpolateOn.ts b/lib/classes/packets/VelocityInterpolateOn.ts deleted file mode 100644 index f0b6378..0000000 --- a/lib/classes/packets/VelocityInterpolateOn.ts +++ /dev/null @@ -1,51 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class VelocityInterpolateOnPacket implements Packet -{ - name = 'VelocityInterpolateOn'; - flags = MessageFlags.FrequencyLow; - id = 4294901885; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - - getSize(): number - { - return 32; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ViewerEffect.ts b/lib/classes/packets/ViewerEffect.ts deleted file mode 100644 index 309c734..0000000 --- a/lib/classes/packets/ViewerEffect.ts +++ /dev/null @@ -1,117 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ViewerEffectPacket implements Packet -{ - name = 'ViewerEffect'; - flags = MessageFlags.Zerocoded | MessageFlags.FrequencyMedium; - id = 65297; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - Effect: { - ID: UUID; - AgentID: UUID; - Type: number; - Duration: number; - Color: Buffer; - TypeData: string; - }[]; - - getSize(): number - { - return ((this.calculateVarVarSize(this.Effect, 'TypeData', 1) + 41) * this.Effect.length) + 33; - } - - calculateVarVarSize(block: object[], paramName: string, extraPerVar: number): number - { - let size = 0; - block.forEach((bl: any) => - { - size += bl[paramName].length + extraPerVar; - }); - return size; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - const count = this.Effect.length; - buf.writeUInt8(this.Effect.length, pos++); - for (let i = 0; i < count; i++) - { - this.Effect[i]['ID'].writeToBuffer(buf, pos); - pos += 16; - this.Effect[i]['AgentID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeUInt8(this.Effect[i]['Type'], pos++); - buf.writeFloatLE(this.Effect[i]['Duration'], pos); - pos += 4; - this.Effect[i]['Color'].copy(buf, pos); - pos += 4; - buf.write(this.Effect[i]['TypeData'], pos); - pos += this.Effect[i]['TypeData'].length; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const count = buf.readUInt8(pos++); - this.Effect = []; - for (let i = 0; i < count; i++) - { - const newObjEffect: { - ID: UUID, - AgentID: UUID, - Type: number, - Duration: number, - Color: Buffer, - TypeData: string - } = { - ID: UUID.zero(), - AgentID: UUID.zero(), - Type: 0, - Duration: 0, - Color: Buffer.allocUnsafe(0), - TypeData: '' - }; - newObjEffect['ID'] = new UUID(buf, pos); - pos += 16; - newObjEffect['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjEffect['Type'] = buf.readUInt8(pos++); - newObjEffect['Duration'] = buf.readFloatLE(pos); - pos += 4; - newObjEffect['Color'] = buf.slice(pos, pos + 4); - pos += 4; - newObjEffect['TypeData'] = buf.toString('utf8', pos, length); - pos += length; - this.Effect.push(newObjEffect); - } - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ViewerFrozenMessage.ts b/lib/classes/packets/ViewerFrozenMessage.ts deleted file mode 100644 index 50b9436..0000000 --- a/lib/classes/packets/ViewerFrozenMessage.ts +++ /dev/null @@ -1,41 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ViewerFrozenMessagePacket implements Packet -{ - name = 'ViewerFrozenMessage'; - flags = MessageFlags.Trusted | MessageFlags.FrequencyLow; - id = 4294901897; - - FrozenData: { - Data: boolean; - }; - - getSize(): number - { - return 1; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - buf.writeUInt8((this.FrozenData['Data']) ? 1 : 0, pos++); - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjFrozenData: { - Data: boolean - } = { - Data: false - }; - newObjFrozenData['Data'] = (buf.readUInt8(pos++) === 1); - this.FrozenData = newObjFrozenData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ViewerStartAuction.ts b/lib/classes/packets/ViewerStartAuction.ts deleted file mode 100644 index 55c6f14..0000000 --- a/lib/classes/packets/ViewerStartAuction.ts +++ /dev/null @@ -1,71 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ViewerStartAuctionPacket implements Packet -{ - name = 'ViewerStartAuction'; - flags = MessageFlags.FrequencyLow; - id = 4294901988; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - }; - ParcelData: { - LocalID: number; - SnapshotID: UUID; - }; - - getSize(): number - { - return 52; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - buf.writeInt32LE(this.ParcelData['LocalID'], pos); - pos += 4; - this.ParcelData['SnapshotID'].writeToBuffer(buf, pos); - pos += 16; - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero() - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - this.AgentData = newObjAgentData; - const newObjParcelData: { - LocalID: number, - SnapshotID: UUID - } = { - LocalID: 0, - SnapshotID: UUID.zero() - }; - newObjParcelData['LocalID'] = buf.readInt32LE(pos); - pos += 4; - newObjParcelData['SnapshotID'] = new UUID(buf, pos); - pos += 16; - this.ParcelData = newObjParcelData; - return pos - startPos; - } -} - diff --git a/lib/classes/packets/ViewerStats.ts b/lib/classes/packets/ViewerStats.ts deleted file mode 100644 index 3118dbc..0000000 --- a/lib/classes/packets/ViewerStats.ts +++ /dev/null @@ -1,288 +0,0 @@ -// This file has been automatically generated by writePacketClasses.js - -import {UUID} from '../UUID'; -import {IPAddress} from '../IPAddress'; -import {MessageFlags} from '../../enums/MessageFlags'; -import {Packet} from '../Packet'; - -export class ViewerStatsPacket implements Packet -{ - name = 'ViewerStats'; - flags = MessageFlags.Zerocoded | MessageFlags.Deprecated | MessageFlags.FrequencyLow; - id = 4294901891; - - AgentData: { - AgentID: UUID; - SessionID: UUID; - IP: IPAddress; - StartTime: number; - RunTime: number; - SimFPS: number; - FPS: number; - AgentsInView: number; - Ping: number; - MetersTraveled: number; - RegionsVisited: number; - SysRAM: number; - SysOS: string; - SysCPU: string; - SysGPU: string; - }; - DownloadTotals: { - World: number; - Objects: number; - Textures: number; - }; - NetStats: { - Bytes: number; - Packets: number; - Compressed: number; - Savings: number; - }[]; - FailStats: { - SendPacket: number; - Dropped: number; - Resent: number; - FailedResends: number; - OffCircuit: number; - Invalid: number; - }; - MiscStats: { - Type: number; - Value: number; - }[]; - - getSize(): number - { - return (this.AgentData['SysOS'].length + 1 + this.AgentData['SysCPU'].length + 1 + this.AgentData['SysGPU'].length + 1) + ((12) * this.MiscStats.length) + 142; - } - - writeToBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - this.AgentData['AgentID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['SessionID'].writeToBuffer(buf, pos); - pos += 16; - this.AgentData['IP'].writeToBuffer(buf, pos); - pos += 4; - buf.writeUInt32LE(this.AgentData['StartTime'], pos); - pos += 4; - buf.writeFloatLE(this.AgentData['RunTime'], pos); - pos += 4; - buf.writeFloatLE(this.AgentData['SimFPS'], pos); - pos += 4; - buf.writeFloatLE(this.AgentData['FPS'], pos); - pos += 4; - buf.writeUInt8(this.AgentData['AgentsInView'], pos++); - buf.writeFloatLE(this.AgentData['Ping'], pos); - pos += 4; - buf.writeDoubleLE(this.AgentData['MetersTraveled'], pos); - pos += 8; - buf.writeInt32LE(this.AgentData['RegionsVisited'], pos); - pos += 4; - buf.writeUInt32LE(this.AgentData['SysRAM'], pos); - pos += 4; - buf.write(this.AgentData['SysOS'], pos); - pos += this.AgentData['SysOS'].length; - buf.write(this.AgentData['SysCPU'], pos); - pos += this.AgentData['SysCPU'].length; - buf.write(this.AgentData['SysGPU'], pos); - pos += this.AgentData['SysGPU'].length; - buf.writeUInt32LE(this.DownloadTotals['World'], pos); - pos += 4; - buf.writeUInt32LE(this.DownloadTotals['Objects'], pos); - pos += 4; - buf.writeUInt32LE(this.DownloadTotals['Textures'], pos); - pos += 4; - let count = 2; - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.NetStats[i]['Bytes'], pos); - pos += 4; - buf.writeUInt32LE(this.NetStats[i]['Packets'], pos); - pos += 4; - buf.writeUInt32LE(this.NetStats[i]['Compressed'], pos); - pos += 4; - buf.writeUInt32LE(this.NetStats[i]['Savings'], pos); - pos += 4; - } - buf.writeUInt32LE(this.FailStats['SendPacket'], pos); - pos += 4; - buf.writeUInt32LE(this.FailStats['Dropped'], pos); - pos += 4; - buf.writeUInt32LE(this.FailStats['Resent'], pos); - pos += 4; - buf.writeUInt32LE(this.FailStats['FailedResends'], pos); - pos += 4; - buf.writeUInt32LE(this.FailStats['OffCircuit'], pos); - pos += 4; - buf.writeUInt32LE(this.FailStats['Invalid'], pos); - pos += 4; - count = this.MiscStats.length; - buf.writeUInt8(this.MiscStats.length, pos++); - for (let i = 0; i < count; i++) - { - buf.writeUInt32LE(this.MiscStats[i]['Type'], pos); - pos += 4; - buf.writeDoubleLE(this.MiscStats[i]['Value'], pos); - pos += 8; - } - return pos - startPos; - } - - readFromBuffer(buf: Buffer, pos: number): number - { - const startPos = pos; - const newObjAgentData: { - AgentID: UUID, - SessionID: UUID, - IP: IPAddress, - StartTime: number, - RunTime: number, - SimFPS: number, - FPS: number, - AgentsInView: number, - Ping: number, - MetersTraveled: number, - RegionsVisited: number, - SysRAM: number, - SysOS: string, - SysCPU: string, - SysGPU: string - } = { - AgentID: UUID.zero(), - SessionID: UUID.zero(), - IP: IPAddress.zero(), - StartTime: 0, - RunTime: 0, - SimFPS: 0, - FPS: 0, - AgentsInView: 0, - Ping: 0, - MetersTraveled: 0, - RegionsVisited: 0, - SysRAM: 0, - SysOS: '', - SysCPU: '', - SysGPU: '' - }; - newObjAgentData['AgentID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['SessionID'] = new UUID(buf, pos); - pos += 16; - newObjAgentData['IP'] = new IPAddress(buf, pos); - pos += 4; - newObjAgentData['StartTime'] = buf.readUInt32LE(pos); - pos += 4; - newObjAgentData['RunTime'] = buf.readFloatLE(pos); - pos += 4; - newObjAgentData['SimFPS'] = buf.readFloatLE(pos); - pos += 4; - newObjAgentData['FPS'] = buf.readFloatLE(pos); - pos += 4; - newObjAgentData['AgentsInView'] = buf.readUInt8(pos++); - newObjAgentData['Ping'] = buf.readFloatLE(pos); - pos += 4; - newObjAgentData['MetersTraveled'] = buf.readDoubleLE(pos); - pos += 8; - newObjAgentData['RegionsVisited'] = buf.readInt32LE(pos); - pos += 4; - newObjAgentData['SysRAM'] = buf.readUInt32LE(pos); - pos += 4; - newObjAgentData['SysOS'] = buf.toString('utf8', pos, length); - pos += length; - newObjAgentData['SysCPU'] = buf.toString('utf8', pos, length); - pos += length; - newObjAgentData['SysGPU'] = buf.toString('utf8', pos, length); - pos += length; - this.AgentData = newObjAgentData; - const newObjDownloadTotals: { - World: number, - Objects: number, - Textures: number - } = { - World: 0, - Objects: 0, - Textures: 0 - }; - newObjDownloadTotals['World'] = buf.readUInt32LE(pos); - pos += 4; - newObjDownloadTotals['Objects'] = buf.readUInt32LE(pos); - pos += 4; - newObjDownloadTotals['Textures'] = buf.readUInt32LE(pos); - pos += 4; - this.DownloadTotals = newObjDownloadTotals; - let count = 2; - this.NetStats = []; for (let i = 0; i < count; i++) - { - const newObjNetStats: { - Bytes: number, - Packets: number, - Compressed: number, - Savings: number - } = { - Bytes: 0, - Packets: 0, - Compressed: 0, - Savings: 0 - }; - newObjNetStats['Bytes'] = buf.readUInt32LE(pos); - pos += 4; - newObjNetStats['Packets'] = buf.readUInt32LE(pos); - pos += 4; - newObjNetStats['Compressed'] = buf.readUInt32LE(pos); - pos += 4; - newObjNetStats['Savings'] = buf.readUInt32LE(pos); - pos += 4; - this.NetStats.push(newObjNetStats); - } - const newObjFailStats: { - SendPacket: number, - Dropped: number, - Resent: number, - FailedResends: number, - OffCircuit: number, - Invalid: number - } = { - SendPacket: 0, - Dropped: 0, - Resent: 0, - FailedResends: 0, - OffCircuit: 0, - Invalid: 0 - }; - newObjFailStats['SendPacket'] = buf.readUInt32LE(pos); - pos += 4; - newObjFailStats['Dropped'] = buf.readUInt32LE(pos); - pos += 4; - newObjFailStats['Resent'] = buf.readUInt32LE(pos); - pos += 4; - newObjFailStats['FailedResends'] = buf.readUInt32LE(pos); - pos += 4; - newObjFailStats['OffCircuit'] = buf.readUInt32LE(pos); - pos += 4; - newObjFailStats['Invalid'] = buf.readUInt32LE(pos); - pos += 4; - this.FailStats = newObjFailStats; - count = buf.readUInt8(pos++); - this.MiscStats = []; - for (let i = 0; i < count; i++) - { - const newObjMiscStats: { - Type: number, - Value: number - } = { - Type: 0, - Value: 0 - }; - newObjMiscStats['Type'] = buf.readUInt32LE(pos); - pos += 4; - newObjMiscStats['Value'] = buf.readDoubleLE(pos); - pos += 8; - this.MiscStats.push(newObjMiscStats); - } - return pos - startPos; - } -} - diff --git a/lib/enums/PacketFlags.ts b/lib/enums/PacketFlags.ts new file mode 100644 index 0000000..594b935 --- /dev/null +++ b/lib/enums/PacketFlags.ts @@ -0,0 +1,7 @@ +export enum PacketFlags +{ + Ack = 0x10, + Resent = 0x20, + Reliable = 0x40, + Zerocoded = 0x80 +} diff --git a/package.json b/package.json index 085e56f..934de24 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,9 @@ "@types/xmlrpc": "^1.3.3", "ipaddr.js": "^1.5.4", "long": "^3.2.0", - "uuid": "git+https://github.com/broofa/node-uuid.git", + "rxjs": "^5.5.2", + "source-map-support": "^0.5.0", + "uuid": "^3.1.0", "validator": "^9.1.1", "xml": "^1.0.1", "xmlrpc": "^1.3.2" diff --git a/tools/writePacketClasses.js b/tools/writePacketClasses.js index e686094..ff33e56 100644 --- a/tools/writePacketClasses.js +++ b/tools/writePacketClasses.js @@ -4,7 +4,7 @@ const fs = require('fs'); messages.forEach((message) => { - let classString = '// This file has been automatically generated by writePacketClasses.js\n\n'; + let classString = '// This file has been automatically generated by writeMessageClasses.js\n\n'; //First import required classes let uuid = false; @@ -83,9 +83,10 @@ messages.forEach((message) => classString += 'import {Quaternion} from \'../Quaternion\';\n' } classString += 'import {MessageFlags} from \'../../enums/MessageFlags\';\n' + - 'import {Packet} from \'../Packet\';\n\n'; + 'import {MessageBase} from \'../MessageBase\';\n' + + 'import {Message} from \'../../enums/Message\';\n\n'; - classString += 'export class ' + message.name + 'Packet implements Packet\n'; + classString += 'export class ' + message.name + 'Message implements MessageBase\n'; classString += '{\n'; classString += ' name = \''+message.name+'\';\n'; @@ -139,12 +140,12 @@ messages.forEach((message) => console.log("UNKNOWN FREQUENCY: "+message.frequency); break; } - classString += ' flags = ' + flags.join(' | ')+';\n'; + classString += ' messageFlags = ' + flags.join(' | ')+';\n'; - classString += ' id = ' + id+';\n'; + classString += ' id = Message.' + message.name+';\n'; classString += '\n'; let messageFixedSize = 0; @@ -163,6 +164,7 @@ messages.forEach((message) => { classString += ' '+param.name+': '; let jstype = 'string'; + param.size = parseInt(param.size); switch(param.type) { case 'LLUUID': @@ -318,11 +320,11 @@ messages.forEach((message) => ' }\n\n'; } - classString+=' writeToBuffer(buf: Buffer, pos: number): number\n'; - classString+=' {\n'; + classString+=' writeToBuffer(buf: Buffer, pos: number): number\n'; + classString+=' {\n'; if (message.blocks.length > 0) { - classString += ' const startPos = pos;\n'; + classString += ' const startPos = pos;\n'; let firstCount = true; @@ -352,8 +354,8 @@ messages.forEach((message) => firstCount = false; first = letConst + ' '; } - blockIndex = ' ' + first + 'count = this.' + block.name + '.length;\n'; - blockIndex += ' buf.writeUInt8(this.' + block.name + '.length, pos++);\n'; + blockIndex = ' ' + first + 'count = this.' + block.name + '.length;\n'; + blockIndex += ' buf.writeUInt8(this.' + block.name + '.length, pos++);\n'; } else if (block.type === 'Multiple') { @@ -363,7 +365,7 @@ messages.forEach((message) => firstCount = false; first = letConst + ' '; } - blockIndex = ' ' + first + 'count = ' + block.count + ';\n'; + blockIndex = ' ' + first + 'count = ' + block.count + ';\n'; } else { @@ -374,8 +376,8 @@ messages.forEach((message) => { spaces = ' '; classString += blockIndex; - classString += ' for (let i = 0; i < count; i++)\n'; - classString += ' {\n'; + classString += ' for (let i = 0; i < count; i++)\n'; + classString += ' {\n'; } block.params.forEach((param) => { @@ -391,86 +393,86 @@ messages.forEach((message) => switch (param.type) { case 'LLUUID': - classString += spaces + ' ' + val + '.writeToBuffer(buf, pos);\n'; - classString += spaces + ' pos += 16;\n'; + classString += spaces + ' ' + val + '.writeToBuffer(buf, pos);\n'; + classString += spaces + ' pos += 16;\n'; break; case 'F32': - classString += spaces + ' buf.writeFloatLE(' + val + ', pos);\n'; - classString += spaces + ' pos += 4;\n'; + classString += spaces + ' buf.writeFloatLE(' + val + ', pos);\n'; + classString += spaces + ' pos += 4;\n'; break; case 'S32': - classString += spaces + ' buf.writeInt32LE(' + val + ', pos);\n'; - classString += spaces + ' pos += 4;\n'; + classString += spaces + ' buf.writeInt32LE(' + val + ', pos);\n'; + classString += spaces + ' pos += 4;\n'; break; case 'U32': - classString += spaces + ' buf.writeUInt32LE(' + val + ', pos);\n'; - classString += spaces + ' pos += 4;\n'; + classString += spaces + ' buf.writeUInt32LE(' + val + ', pos);\n'; + classString += spaces + ' pos += 4;\n'; break; case 'U16': case 'IPPORT': - classString += spaces + ' buf.writeUInt16LE(' + val + ', pos);\n'; - classString += spaces + ' pos += 2;\n'; + classString += spaces + ' buf.writeUInt16LE(' + val + ', pos);\n'; + classString += spaces + ' pos += 2;\n'; break; case 'S16': - classString += spaces + ' buf.writeInt16LE(' + val + ', pos);\n'; - classString += spaces + ' pos += 2;\n'; + classString += spaces + ' buf.writeInt16LE(' + val + ', pos);\n'; + classString += spaces + ' pos += 2;\n'; break; case 'U64': case 'S64': - classString += spaces + ' buf.writeInt32LE(' + val + '.low, pos);\n'; - classString += spaces + ' pos += 4;\n'; - classString += spaces + ' buf.writeInt32LE(' + val + '.high, pos);\n'; - classString += spaces + ' pos += 4;\n'; + classString += spaces + ' buf.writeInt32LE(' + val + '.low, pos);\n'; + classString += spaces + ' pos += 4;\n'; + classString += spaces + ' buf.writeInt32LE(' + val + '.high, pos);\n'; + classString += spaces + ' pos += 4;\n'; break; case 'F64': - classString += spaces + ' buf.writeDoubleLE(' + val + ', pos);\n'; - classString += spaces + ' pos += 8;\n'; + classString += spaces + ' buf.writeDoubleLE(' + val + ', pos);\n'; + classString += spaces + ' pos += 8;\n'; break; case 'S8': - classString += spaces + ' buf.writeInt8(' + val + ', pos++);\n'; + classString += spaces + ' buf.writeInt8(' + val + ', pos++);\n'; break; case 'U8': - classString += spaces + ' buf.writeUInt8(' + val + ', pos++);\n'; + classString += spaces + ' buf.writeUInt8(' + val + ', pos++);\n'; break; case 'BOOL': - classString += spaces + ' buf.writeUInt8((' + val + ') ? 1 : 0, pos++);\n'; + classString += spaces + ' buf.writeUInt8((' + val + ') ? 1 : 0, pos++);\n'; break; case 'Variable': if (param.size === 1) { - classString += spaces + ' buf.writeUInt8(' + val + '.length, pos++);\n'; + classString += spaces + ' buf.writeUInt8(' + val + '.length, pos++);\n'; } if (param.size === 2) { - classString += spaces + ' buf.writeUInt16BE(' + val + '.length, pos);\n'; - classString += spaces + ' pos += 2;\n'; + classString += spaces + ' buf.writeUInt16LE(' + val + '.length, pos);\n'; + classString += spaces + ' pos += 2;\n'; } - classString += spaces + ' buf.write(' + val + ', pos);\n'; - classString += spaces + ' pos += ' + val + '.length;\n'; + classString += spaces + ' buf.write(' + val + ', pos);\n'; + classString += spaces + ' pos += ' + val + '.length;\n'; break; case 'LLVector4': - classString += spaces + ' ' + val + '.writeToBuffer(buf, pos);\n'; - classString += spaces + ' pos += 16;\n'; + classString += spaces + ' ' + val + '.writeToBuffer(buf, pos);\n'; + classString += spaces + ' pos += 16;\n'; break; case 'LLQuaternion': - classString += spaces + ' ' + val + '.writeToBuffer(buf, pos);\n'; - classString += spaces + ' pos += 12;\n'; + classString += spaces + ' ' + val + '.writeToBuffer(buf, pos);\n'; + classString += spaces + ' pos += 12;\n'; break; case 'LLVector3d': - classString += spaces + ' ' + val + '.writeToBuffer(buf, pos, true);\n'; - classString += spaces + ' pos += 24;\n'; + classString += spaces + ' ' + val + '.writeToBuffer(buf, pos, true);\n'; + classString += spaces + ' pos += 24;\n'; break; case 'LLVector3': - classString += spaces + ' ' + val + '.writeToBuffer(buf, pos, false);\n'; - classString += spaces + ' pos += 12;\n'; + classString += spaces + ' ' + val + '.writeToBuffer(buf, pos, false);\n'; + classString += spaces + ' pos += 12;\n'; break; case 'IPADDR': - classString += spaces + ' ' + val + '.writeToBuffer(buf, pos);\n'; - classString += spaces + ' pos += 4;\n'; + classString += spaces + ' ' + val + '.writeToBuffer(buf, pos);\n'; + classString += spaces + ' pos += 4;\n'; break; case 'Fixed': - classString += spaces + ' ' + val + '.copy(buf, pos);\n'; - classString += spaces + ' pos += ' + param.size + ';\n'; + classString += spaces + ' ' + val + '.copy(buf, pos);\n'; + classString += spaces + ' pos += ' + param.size + ';\n'; break; default: console.log('Unknown type: ' + param.type); @@ -478,23 +480,24 @@ messages.forEach((message) => }); if (!single) { - classString += ' }\n'; + classString += ' }\n'; } }); - classString += ' return pos - startPos;\n'; + classString += ' return pos - startPos;\n'; } else { - classString += ' return 0;\n'; + classString += ' return 0;\n'; } - classString +=' }\n'; + classString +=' }\n'; classString +='\n'; - classString+=' readFromBuffer(buf: Buffer, pos: number): number\n'; - classString+=' {\n'; + classString+=' readFromBuffer(buf: Buffer, pos: number): number\n'; + classString+=' {\n'; if (message.blocks.length > 0) { - classString += ' const startPos = pos;\n'; + classString += ' const startPos = pos;\n'; + classString += ' let varLength = 0;\n'; let firstCount = true; @@ -518,11 +521,12 @@ messages.forEach((message) => varBlockConst = 'let'; } let firstBlock = true; - + let donelet = false; message.blocks.forEach((block) => { let single = false; let blockIndex = ''; + block.count = parseInt(block.count); if (block.type === 'Variable') { let first = ''; @@ -531,8 +535,8 @@ messages.forEach((message) => firstCount = false; first = letConst + ' '; } - blockIndex = ' ' + first + 'count = buf.readUInt8(pos++);\n'; - blockIndex += ' this.' + block.name + ' = [];\n'; + blockIndex = ' ' + first + 'count = buf.readUInt8(pos++);\n'; + blockIndex += ' this.' + block.name + ' = [];\n'; } else if (block.type === 'Multiple') { @@ -542,8 +546,8 @@ messages.forEach((message) => firstCount = false; first = letConst + ' '; } - blockIndex = ' ' + first + 'count = ' + block.count + ';\n'; - blockIndex += ' this.' + block.name + ' = [];'; + blockIndex = ' ' + first + 'count = ' + block.count + ';\n'; + blockIndex += ' this.' + block.name + ' = [];'; } else { @@ -560,13 +564,13 @@ messages.forEach((message) => { spaces = ' '; classString += blockIndex; - classString += ' for (let i = 0; i < count; i++)\n'; - classString += ' {\n'; - classString += ' const newObj' + block.name + ': {\n'; + classString += ' for (let i = 0; i < count; i++)\n'; + classString += ' {\n'; + classString += ' const newObj' + block.name + ': {\n'; } else { - classString += ' const newObj' + block.name + ': {\n'; + classString += ' const newObj' + block.name + ': {\n'; } const paramTypes = []; const paramValues = []; @@ -641,97 +645,101 @@ messages.forEach((message) => default: console.log('Unknown type: '+param.type); } - paramTypes.push(spaces + ' ' + param.name + ': '+jstype); - paramValues.push(spaces + ' ' + param.name + ': '+jsvalue); + paramTypes.push(spaces + ' ' + param.name + ': '+jstype); + paramValues.push(spaces + ' ' + param.name + ': '+jsvalue); }); classString += paramTypes.join(',\n')+'\n'; - classString += spaces + ' } = {\n'; + classString += spaces + ' } = {\n'; classString += paramValues.join(',\n')+'\n'; - classString += spaces + ' };\n'; + classString += spaces + ' };\n'; block.params.forEach((param) => { let val = ''; switch (param.type) { case 'LLUUID': - classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = new UUID(buf, pos);\n'; - classString += spaces + ' pos += 16;\n'; + classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = new UUID(buf, pos);\n'; + classString += spaces + ' pos += 16;\n'; break; case 'F32': - classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = buf.readFloatLE(pos);\n'; - classString += spaces + ' pos += 4;\n'; + classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = buf.readFloatLE(pos);\n'; + classString += spaces + ' pos += 4;\n'; break; case 'S32': - classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = buf.readInt32LE(pos);\n'; - classString += spaces + ' pos += 4;\n'; + classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = buf.readInt32LE(pos);\n'; + classString += spaces + ' pos += 4;\n'; break; case 'U32': - classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = buf.readUInt32LE(pos);\n'; - classString += spaces + ' pos += 4;\n'; + classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = buf.readUInt32LE(pos);\n'; + classString += spaces + ' pos += 4;\n'; break; case 'U16': case 'IPPORT': - classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = buf.readUInt16LE(pos);\n'; - classString += spaces + ' pos += 2;\n'; + classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = buf.readUInt16LE(pos);\n'; + classString += spaces + ' pos += 2;\n'; break; case 'S16': - classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = buf.readInt16LE(pos);\n'; - classString += spaces + ' pos += 2;\n'; + classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = buf.readInt16LE(pos);\n'; + classString += spaces + ' pos += 2;\n'; break; case 'U64': case 'S64': - classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4));\n'; - classString += spaces + ' pos += 8;\n'; + classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4));\n'; + classString += spaces + ' pos += 8;\n'; break; case 'F64': - classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = buf.readDoubleLE(pos);\n'; - classString += spaces + ' pos += 8;\n'; + classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = buf.readDoubleLE(pos);\n'; + classString += spaces + ' pos += 8;\n'; break; case 'S8': - classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = buf.readInt8(pos++);\n'; + classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = buf.readInt8(pos++);\n'; break; case 'U8': - classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = buf.readUInt8(pos++);\n'; + classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = buf.readUInt8(pos++);\n'; break; case 'BOOL': - classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = (buf.readUInt8(pos++) === 1);\n'; + classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = (buf.readUInt8(pos++) === 1);\n'; break; case 'Variable': if (param.size === 1) { - classString += spaces + ' let length = buf.readUInt8(pos++);\n'; + classString += spaces + ' varLength = buf.readUInt8(pos++);\n'; } - if (param.size === 2) + else if (param.size === 2) { - classString += spaces + ' let length = buf.readUInt16BE(pos);\n'; - classString += spaces + ' pos += 2;\n'; + classString += spaces + ' varLength = buf.readUInt16LE(pos);\n'; + classString += spaces + ' pos += 2;\n'; } - classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = buf.toString(\'utf8\', pos, length);\n'; - classString += spaces + ' pos += length;\n'; + else + { + console.error("INVALID VARIABLE LENGTH: " + param.size); + } + classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = buf.toString(\'utf8\', pos, pos + (varLength - 1));\n'; + classString += spaces + ' pos += varLength;\n'; break; case 'LLVector4': - classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = new Vector4(buf, pos);\n'; - classString += spaces + ' pos += 16;\n'; + classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = new Vector4(buf, pos);\n'; + classString += spaces + ' pos += 16;\n'; break; case 'LLQuaternion': - classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = new Quaternion(buf, pos);\n'; - classString += spaces + ' pos += 12;\n'; + classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = new Quaternion(buf, pos);\n'; + classString += spaces + ' pos += 12;\n'; break; case 'LLVector3d': - classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = new Vector3(buf, pos, true);\n'; - classString += spaces + ' pos += 24;\n'; + classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = new Vector3(buf, pos, true);\n'; + classString += spaces + ' pos += 24;\n'; break; case 'LLVector3': - classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = new Vector3(buf, pos, false);\n'; - classString += spaces + ' pos += 12;\n'; + classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = new Vector3(buf, pos, false);\n'; + classString += spaces + ' pos += 12;\n'; break; case 'IPADDR': - classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = new IPAddress(buf, pos);\n'; - classString += spaces + ' pos += 4;\n'; + classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = new IPAddress(buf, pos);\n'; + classString += spaces + ' pos += 4;\n'; break; case 'Fixed': - classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = buf.slice(pos, pos + ' + param.size + ');\n'; - classString += spaces + ' pos += ' + param.size + ';\n'; + classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = buf.slice(pos, pos + ' + param.size + ');\n'; + classString += spaces + ' pos += ' + param.size + ';\n'; break; default: console.log('Unknown type: ' + param.type); @@ -739,27 +747,27 @@ messages.forEach((message) => }); if (!single) { - classString += ' this.'+block.name+'.push(newObj' + block.name + ');\n'; - classString += ' }\n'; + classString += ' this.'+block.name+'.push(newObj' + block.name + ');\n'; + classString += ' }\n'; } else { - classString += ' this.'+block.name+' = newObj' + block.name + ';\n'; + classString += ' this.'+block.name+' = newObj' + block.name + ';\n'; } }); - classString += ' return pos - startPos;\n'; + classString += ' return pos - startPos;\n'; } else { - classString += ' return 0;\n'; + classString += ' return 0;\n'; } - classString +=' }\n'; + classString +=' }\n'; classString += '}\n'; classString +='\n'; - const p = path.join(__dirname+'/../lib/classes/packets/'+message.name+'.ts'); + const p = path.join(__dirname+'/../lib/classes/messages/'+message.name+'.ts'); fs.writeFile(p, classString, (err) => { @@ -767,11 +775,11 @@ messages.forEach((message) => }); //Now write the Messages class -let classString = '// This file has been automatically generated by writePacketClasses.js\n\n'; +let classString = '// This file has been automatically generated by writeMessageClasses.js\n\n'; messages.forEach((message) => { const name = message.name; - classString += 'export * from \'./packets/'+name+'\';\n'; + classString += 'export * from \'./messages/'+name+'\';\n'; }); classString += 'import {Message} from \'../enums/Message\';\n'; classString += '\n'; @@ -779,7 +787,7 @@ classString += 'const messages: {[index: number]: string} = {};\n'; const msgs = []; messages.forEach((message) => { - msgs.push('messages[Message.' + message.name + '] = \'' + message.name + 'Packet\''); + msgs.push('messages[Message.' + message.name + '] = \'' + message.name + 'Message\''); }); classString += msgs.join(';\n')+';\n'; classString += '\n';