@caspertech/node-metaverse 0.7.40 → 0.7.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/examples/Camera/Camera.js +3 -14
- package/dist/examples/Camera/Camera.js.map +1 -1
- package/dist/examples/ExampleBot.js +66 -87
- package/dist/examples/ExampleBot.js.map +1 -1
- package/dist/examples/Friends/Friends.js +29 -44
- package/dist/examples/Friends/Friends.js.map +1 -1
- package/dist/examples/Grid/Name2Key.js +25 -36
- package/dist/examples/Grid/Name2Key.js.map +1 -1
- package/dist/examples/Groups/Group.js +42 -55
- package/dist/examples/Groups/Group.js.map +1 -1
- package/dist/examples/Groups/GroupChat.js +55 -68
- package/dist/examples/Groups/GroupChat.js.map +1 -1
- package/dist/examples/InstantMessages/InstantMessages.js +8 -21
- package/dist/examples/InstantMessages/InstantMessages.js.map +1 -1
- package/dist/examples/Inventory/Inventory.js +80 -97
- package/dist/examples/Inventory/Inventory.js.map +1 -1
- package/dist/examples/MFA/MFA.js +24 -40
- package/dist/examples/MFA/MFA.js.map +1 -1
- package/dist/examples/Money/Money.js +28 -41
- package/dist/examples/Money/Money.js.map +1 -1
- package/dist/examples/Objects/TaskInventory.js +13 -24
- package/dist/examples/Objects/TaskInventory.js.map +1 -1
- package/dist/examples/Region/Agents.js +6 -17
- package/dist/examples/Region/Agents.js.map +1 -1
- package/dist/examples/Region/Estate.js +9 -20
- package/dist/examples/Region/Estate.js.map +1 -1
- package/dist/examples/Region/Parcels.js +12 -23
- package/dist/examples/Region/Parcels.js.map +1 -1
- package/dist/examples/Region/Region.js +2 -13
- package/dist/examples/Region/Region.js.map +1 -1
- package/dist/examples/Region/Settings.js +15 -0
- package/dist/examples/Region/Settings.js.map +1 -0
- package/dist/examples/Teleports/Teleports.js +22 -35
- package/dist/examples/Teleports/Teleports.js.map +1 -1
- package/dist/lib/Bot.d.ts +14 -14
- package/dist/lib/Bot.js +217 -231
- package/dist/lib/Bot.js.map +1 -1
- package/dist/lib/LoginHandler.d.ts +3 -3
- package/dist/lib/LoginHandler.js +106 -116
- package/dist/lib/LoginHandler.js.map +1 -1
- package/dist/lib/classes/Agent.d.ts +23 -35
- package/dist/lib/classes/Agent.js +96 -108
- package/dist/lib/classes/Agent.js.map +1 -1
- package/dist/lib/classes/AssetMap.d.ts +18 -95
- package/dist/lib/classes/AssetMap.js +86 -16
- package/dist/lib/classes/AssetMap.js.map +1 -1
- package/dist/lib/classes/AssetRegistry.d.ts +31 -0
- package/dist/lib/classes/AssetRegistry.js +26 -0
- package/dist/lib/classes/AssetRegistry.js.map +1 -0
- package/dist/lib/classes/AssetTypeRegistry.d.ts +21 -0
- package/dist/lib/classes/AssetTypeRegistry.js +81 -0
- package/dist/lib/classes/AssetTypeRegistry.js.map +1 -0
- package/dist/lib/classes/BVH.js.map +1 -1
- package/dist/lib/classes/BVHJoint.js.map +1 -1
- package/dist/lib/classes/BVHJointKeyframe.d.ts +1 -1
- package/dist/lib/classes/BatchQueue.d.ts +2 -2
- package/dist/lib/classes/BatchQueue.js +66 -80
- package/dist/lib/classes/BatchQueue.js.map +1 -1
- package/dist/lib/classes/BatchQueue.spec.js +17 -26
- package/dist/lib/classes/BatchQueue.spec.js.map +1 -1
- package/dist/lib/classes/BinaryReader.d.ts +66 -0
- package/dist/lib/classes/BinaryReader.js +304 -0
- package/dist/lib/classes/BinaryReader.js.map +1 -0
- package/dist/lib/classes/BinaryReader.spec.d.ts +1 -0
- package/dist/lib/classes/BinaryReader.spec.js +241 -0
- package/dist/lib/classes/BinaryReader.spec.js.map +1 -0
- package/dist/lib/classes/BinaryWriter.d.ts +34 -0
- package/dist/lib/classes/BinaryWriter.js +192 -0
- package/dist/lib/classes/BinaryWriter.js.map +1 -0
- package/dist/lib/classes/BinaryWriter.spec.d.ts +1 -0
- package/dist/lib/classes/BinaryWriter.spec.js +328 -0
- package/dist/lib/classes/BinaryWriter.spec.js.map +1 -0
- package/dist/lib/classes/BitPack.d.ts +2 -2
- package/dist/lib/classes/BitPack.js +1 -1
- package/dist/lib/classes/BitPack.js.map +1 -1
- package/dist/lib/classes/BuildMap.d.ts +6 -6
- package/dist/lib/classes/BuildMap.js.map +1 -1
- package/dist/lib/classes/Caps.d.ts +18 -24
- package/dist/lib/classes/Caps.js +278 -297
- package/dist/lib/classes/Caps.js.map +1 -1
- package/dist/lib/classes/Circuit.d.ts +20 -28
- package/dist/lib/classes/Circuit.js +104 -91
- package/dist/lib/classes/Circuit.js.map +1 -1
- package/dist/lib/classes/ClientCommands.d.ts +3 -3
- package/dist/lib/classes/ClientCommands.js.map +1 -1
- package/dist/lib/classes/ClientEvents.d.ts +41 -32
- package/dist/lib/classes/ClientEvents.js +65 -0
- package/dist/lib/classes/ClientEvents.js.map +1 -1
- package/dist/lib/classes/CoalescedGameObject.d.ts +2 -2
- package/dist/lib/classes/CoalescedGameObject.js +37 -49
- package/dist/lib/classes/CoalescedGameObject.js.map +1 -1
- package/dist/lib/classes/Color4.d.ts +2 -2
- package/dist/lib/classes/Color4.js +42 -42
- package/dist/lib/classes/Color4.js.map +1 -1
- package/dist/lib/classes/Comms.d.ts +3 -3
- package/dist/lib/classes/Comms.js +236 -236
- package/dist/lib/classes/Comms.js.map +1 -1
- package/dist/lib/classes/ConcurrentQueue.d.ts +3 -3
- package/dist/lib/classes/ConcurrentQueue.js +16 -11
- package/dist/lib/classes/ConcurrentQueue.js.map +1 -1
- package/dist/lib/classes/EventQueueClient.d.ts +6 -6
- package/dist/lib/classes/EventQueueClient.js +189 -201
- package/dist/lib/classes/EventQueueClient.js.map +1 -1
- package/dist/lib/classes/GroupBan.d.ts +3 -3
- package/dist/lib/classes/GroupBan.js.map +1 -1
- package/dist/lib/classes/GroupMember.d.ts +2 -2
- package/dist/lib/classes/GroupRole.d.ts +2 -2
- package/dist/lib/classes/IPAddress.d.ts +3 -2
- package/dist/lib/classes/IPAddress.js +14 -13
- package/dist/lib/classes/IPAddress.js.map +1 -1
- package/dist/lib/classes/Inventory.d.ts +7 -15
- package/dist/lib/classes/Inventory.js +69 -80
- package/dist/lib/classes/Inventory.js.map +1 -1
- package/dist/lib/classes/InventoryFolder.d.ts +11 -11
- package/dist/lib/classes/InventoryFolder.js +544 -626
- package/dist/lib/classes/InventoryFolder.js.map +1 -1
- package/dist/lib/classes/InventoryItem.d.ts +15 -11
- package/dist/lib/classes/InventoryItem.js +494 -486
- package/dist/lib/classes/InventoryItem.js.map +1 -1
- package/dist/lib/classes/InventoryTypeRegistry.d.ts +19 -0
- package/dist/lib/classes/InventoryTypeRegistry.js +69 -0
- package/dist/lib/classes/InventoryTypeRegistry.js.map +1 -0
- package/dist/lib/classes/LLGLTFMaterial.d.ts +1 -1
- package/dist/lib/classes/LLGLTFMaterial.js +2 -2
- package/dist/lib/classes/LLGLTFMaterial.js.map +1 -1
- package/dist/lib/classes/LLGLTFMaterial.spec.js +17 -18
- package/dist/lib/classes/LLGLTFMaterial.spec.js.map +1 -1
- package/dist/lib/classes/LLGLTFMaterialOverride.d.ts +1 -1
- package/dist/lib/classes/LLGLTFMaterialOverride.js +119 -118
- package/dist/lib/classes/LLGLTFMaterialOverride.js.map +1 -1
- package/dist/lib/classes/LLGLTFMaterialOverride.spec.js +70 -71
- package/dist/lib/classes/LLGLTFMaterialOverride.spec.js.map +1 -1
- package/dist/lib/classes/LLGesture.d.ts +1 -1
- package/dist/lib/classes/LLGesture.js +1 -1
- package/dist/lib/classes/LLGesture.js.map +1 -1
- package/dist/lib/classes/LLGestureAnimationStep.d.ts +1 -1
- package/dist/lib/classes/LLGestureAnimationStep.js.map +1 -1
- package/dist/lib/classes/LLGestureChatStep.js.map +1 -1
- package/dist/lib/classes/LLGestureSoundStep.d.ts +1 -1
- package/dist/lib/classes/LLGestureSoundStep.js.map +1 -1
- package/dist/lib/classes/LLGestureStep.d.ts +1 -1
- package/dist/lib/classes/LLGestureWaitStep.js.map +1 -1
- package/dist/lib/classes/LLLindenText.d.ts +2 -4
- package/dist/lib/classes/LLLindenText.js +12 -8
- package/dist/lib/classes/LLLindenText.js.map +1 -1
- package/dist/lib/classes/LLSettings.d.ts +98 -83
- package/dist/lib/classes/LLSettings.js +240 -83
- package/dist/lib/classes/LLSettings.js.map +1 -1
- package/dist/lib/classes/LLSettings.spec.d.ts +1 -0
- package/dist/lib/classes/LLSettings.spec.js +27 -0
- package/dist/lib/classes/LLSettings.spec.js.map +1 -0
- package/dist/lib/classes/LLWearable.d.ts +4 -8
- package/dist/lib/classes/LLWearable.js +1 -1
- package/dist/lib/classes/LLWearable.js.map +1 -1
- package/dist/lib/classes/Logger.d.ts +3 -3
- package/dist/lib/classes/Logger.js +1 -1
- package/dist/lib/classes/Logger.js.map +1 -1
- package/dist/lib/classes/LoginParameters.js.map +1 -1
- package/dist/lib/classes/LoginResponse.d.ts +4 -9
- package/dist/lib/classes/LoginResponse.js +120 -113
- package/dist/lib/classes/LoginResponse.js.map +1 -1
- package/dist/lib/classes/MapBlock.d.ts +2 -2
- package/dist/lib/classes/MessageBase.d.ts +5 -5
- package/dist/lib/classes/MessageClasses.js.map +1 -1
- package/dist/lib/classes/ObjectResolver.d.ts +6 -6
- package/dist/lib/classes/ObjectResolver.js +127 -152
- package/dist/lib/classes/ObjectResolver.js.map +1 -1
- package/dist/lib/classes/ObjectStoreFull.d.ts +9 -9
- package/dist/lib/classes/ObjectStoreFull.js +176 -192
- package/dist/lib/classes/ObjectStoreFull.js.map +1 -1
- package/dist/lib/classes/ObjectStoreLite.d.ts +29 -31
- package/dist/lib/classes/ObjectStoreLite.js +485 -494
- package/dist/lib/classes/ObjectStoreLite.js.map +1 -1
- package/dist/lib/classes/Packet.d.ts +2 -2
- package/dist/lib/classes/Packet.js +2 -2
- package/dist/lib/classes/Packet.js.map +1 -1
- package/dist/lib/classes/ParticleSystem.js +1 -1
- package/dist/lib/classes/ParticleSystem.js.map +1 -1
- package/dist/lib/classes/PrimFacesHelper.d.ts +14 -0
- package/dist/lib/classes/PrimFacesHelper.js +75 -0
- package/dist/lib/classes/PrimFacesHelper.js.map +1 -0
- package/dist/lib/classes/Quaternion.d.ts +31 -6
- package/dist/lib/classes/Quaternion.js +236 -48
- package/dist/lib/classes/Quaternion.js.map +1 -1
- package/dist/lib/classes/Region.d.ts +23 -22
- package/dist/lib/classes/Region.js +453 -515
- package/dist/lib/classes/Region.js.map +1 -1
- package/dist/lib/classes/TarArchive.d.ts +1 -1
- package/dist/lib/classes/TarArchive.js.map +1 -1
- package/dist/lib/classes/TarFile.js +1 -1
- package/dist/lib/classes/TarFile.js.map +1 -1
- package/dist/lib/classes/TarReader.d.ts +1 -2
- package/dist/lib/classes/TarReader.js +15 -17
- package/dist/lib/classes/TarReader.js.map +1 -1
- package/dist/lib/classes/TarWriter.d.ts +1 -1
- package/dist/lib/classes/TarWriter.js +51 -68
- package/dist/lib/classes/TarWriter.js.map +1 -1
- package/dist/lib/classes/TextureEntry.d.ts +2 -3
- package/dist/lib/classes/TextureEntry.js +12 -12
- package/dist/lib/classes/TextureEntry.js.map +1 -1
- package/dist/lib/classes/TextureEntryFace.d.ts +4 -4
- package/dist/lib/classes/TextureEntryFace.js.map +1 -1
- package/dist/lib/classes/UUID.d.ts +2 -2
- package/dist/lib/classes/UUID.js +28 -28
- package/dist/lib/classes/UUID.js.map +1 -1
- package/dist/lib/classes/Utils.d.ts +2 -11
- package/dist/lib/classes/Utils.js +72 -328
- package/dist/lib/classes/Utils.js.map +1 -1
- package/dist/lib/classes/Vector2.d.ts +35 -6
- package/dist/lib/classes/Vector2.js +192 -28
- package/dist/lib/classes/Vector2.js.map +1 -1
- package/dist/lib/classes/Vector3.d.ts +38 -6
- package/dist/lib/classes/Vector3.js +229 -48
- package/dist/lib/classes/Vector3.js.map +1 -1
- package/dist/lib/classes/Vector4.d.ts +36 -6
- package/dist/lib/classes/Vector4.js +225 -21
- package/dist/lib/classes/Vector4.js.map +1 -1
- package/dist/lib/classes/Wearable.d.ts +1 -1
- package/dist/lib/classes/Zerocoder.js +2 -2
- package/dist/lib/classes/Zerocoder.js.map +1 -1
- package/dist/lib/classes/commands/AgentCommands.d.ts +7 -5
- package/dist/lib/classes/commands/AgentCommands.js +60 -76
- package/dist/lib/classes/commands/AgentCommands.js.map +1 -1
- package/dist/lib/classes/commands/AssetCommands.d.ts +5 -10
- package/dist/lib/classes/commands/AssetCommands.js +176 -179
- package/dist/lib/classes/commands/AssetCommands.js.map +1 -1
- package/dist/lib/classes/commands/CommandsBase.d.ts +4 -4
- package/dist/lib/classes/commands/CommandsBase.js.map +1 -1
- package/dist/lib/classes/commands/CommunicationsCommands.d.ts +3 -3
- package/dist/lib/classes/commands/CommunicationsCommands.js +350 -426
- package/dist/lib/classes/commands/CommunicationsCommands.js.map +1 -1
- package/dist/lib/classes/commands/FriendCommands.d.ts +9 -10
- package/dist/lib/classes/commands/FriendCommands.js +238 -236
- package/dist/lib/classes/commands/FriendCommands.js.map +1 -1
- package/dist/lib/classes/commands/GridCommands.d.ts +3 -3
- package/dist/lib/classes/commands/GridCommands.js +299 -336
- package/dist/lib/classes/commands/GridCommands.js.map +1 -1
- package/dist/lib/classes/commands/GroupCommands.d.ts +2 -2
- package/dist/lib/classes/commands/GroupCommands.js +293 -336
- package/dist/lib/classes/commands/GroupCommands.js.map +1 -1
- package/dist/lib/classes/commands/InventoryCommands.d.ts +4 -4
- package/dist/lib/classes/commands/InventoryCommands.js +54 -69
- package/dist/lib/classes/commands/InventoryCommands.js.map +1 -1
- package/dist/lib/classes/commands/MovementCommands.d.ts +2 -2
- package/dist/lib/classes/commands/MovementCommands.js +23 -38
- package/dist/lib/classes/commands/MovementCommands.js.map +1 -1
- package/dist/lib/classes/commands/NetworkCommands.js +35 -46
- package/dist/lib/classes/commands/NetworkCommands.js.map +1 -1
- package/dist/lib/classes/commands/ParcelCommands.d.ts +4 -4
- package/dist/lib/classes/commands/ParcelCommands.js +64 -77
- package/dist/lib/classes/commands/ParcelCommands.js.map +1 -1
- package/dist/lib/classes/commands/RegionCommands.d.ts +11 -10
- package/dist/lib/classes/commands/RegionCommands.js +1126 -1211
- package/dist/lib/classes/commands/RegionCommands.js.map +1 -1
- package/dist/lib/classes/commands/TeleportCommands.d.ts +8 -8
- package/dist/lib/classes/commands/TeleportCommands.js +58 -58
- package/dist/lib/classes/commands/TeleportCommands.js.map +1 -1
- package/dist/lib/classes/interfaces/IGameObjectData.d.ts +18 -20
- package/dist/lib/classes/interfaces/ILandBlock.d.ts +2 -2
- package/dist/lib/classes/interfaces/IObjectStore.d.ts +12 -12
- package/dist/lib/classes/interfaces/IResolveJob.d.ts +2 -2
- package/dist/lib/classes/interfaces/ITreeBoundingBox.d.ts +2 -2
- package/dist/lib/classes/llsd/LLSD.d.ts +12 -0
- package/dist/lib/classes/llsd/LLSD.js +128 -0
- package/dist/lib/classes/llsd/LLSD.js.map +1 -0
- package/dist/lib/classes/llsd/LLSD.spec.d.ts +1 -0
- package/dist/lib/classes/llsd/LLSD.spec.js +249 -0
- package/dist/lib/classes/llsd/LLSD.spec.js.map +1 -0
- package/dist/lib/classes/llsd/LLSDArray.d.ts +26 -3
- package/dist/lib/classes/llsd/LLSDArray.js +182 -6
- package/dist/lib/classes/llsd/LLSDArray.js.map +1 -1
- package/dist/lib/classes/llsd/LLSDBinary.d.ts +7 -0
- package/dist/lib/classes/llsd/LLSDBinary.js +114 -0
- package/dist/lib/classes/llsd/LLSDBinary.js.map +1 -0
- package/dist/lib/classes/llsd/LLSDInteger.d.ts +9 -0
- package/dist/lib/classes/llsd/LLSDInteger.js +25 -0
- package/dist/lib/classes/llsd/LLSDInteger.js.map +1 -0
- package/dist/lib/classes/llsd/LLSDMap.d.ts +16 -5
- package/dist/lib/classes/llsd/LLSDMap.js +197 -16
- package/dist/lib/classes/llsd/LLSDMap.js.map +1 -1
- package/dist/lib/classes/llsd/LLSDNotation.d.ts +11 -0
- package/dist/lib/classes/llsd/LLSDNotation.js +271 -0
- package/dist/lib/classes/llsd/LLSDNotation.js.map +1 -0
- package/dist/lib/classes/llsd/LLSDReal.d.ts +10 -0
- package/dist/lib/classes/llsd/LLSDReal.js +71 -0
- package/dist/lib/classes/llsd/LLSDReal.js.map +1 -0
- package/dist/lib/classes/llsd/LLSDToken.d.ts +1 -1
- package/dist/lib/classes/llsd/LLSDTokenContainer.d.ts +2 -2
- package/dist/lib/classes/llsd/LLSDTokenGenerator.d.ts +1 -1
- package/dist/lib/classes/llsd/LLSDTokenSpec.d.ts +1 -1
- package/dist/lib/classes/llsd/LLSDTokenType.d.ts +18 -18
- package/dist/lib/classes/llsd/LLSDTokenType.js +18 -18
- package/dist/lib/classes/llsd/LLSDTokenType.js.map +1 -1
- package/dist/lib/classes/llsd/LLSDType.d.ts +6 -3
- package/dist/lib/classes/llsd/LLSDURI.d.ts +7 -0
- package/dist/lib/classes/llsd/LLSDURI.js +19 -0
- package/dist/lib/classes/llsd/LLSDURI.js.map +1 -0
- package/dist/lib/classes/llsd/LLSDXML.d.ts +5 -0
- package/dist/lib/classes/llsd/LLSDXML.js +245 -0
- package/dist/lib/classes/llsd/LLSDXML.js.map +1 -0
- package/dist/lib/classes/messages/ObjectUpdate.d.ts +4 -5
- package/dist/lib/classes/messages/ObjectUpdate.js +115 -115
- package/dist/lib/classes/messages/ObjectUpdate.js.map +1 -1
- package/dist/lib/classes/messages/SimStats.d.ts +3 -2
- package/dist/lib/classes/messages/SimStats.js +17 -17
- package/dist/lib/classes/messages/SimStats.js.map +1 -1
- package/dist/lib/classes/public/Avatar.d.ts +4 -4
- package/dist/lib/classes/public/Avatar.js +39 -33
- package/dist/lib/classes/public/Avatar.js.map +1 -1
- package/dist/lib/classes/public/AvatarQueryResult.d.ts +4 -4
- package/dist/lib/classes/public/AvatarQueryResult.js.map +1 -1
- package/dist/lib/classes/public/ExtendedMeshData.d.ts +1 -1
- package/dist/lib/classes/public/ExtendedMeshData.js.map +1 -1
- package/dist/lib/classes/public/ExtraParams.d.ts +6 -6
- package/dist/lib/classes/public/ExtraParams.js +36 -39
- package/dist/lib/classes/public/ExtraParams.js.map +1 -1
- package/dist/lib/classes/public/ExtraParams.spec.js +2 -11
- package/dist/lib/classes/public/ExtraParams.spec.js.map +1 -1
- package/dist/lib/classes/public/FlexibleData.js.map +1 -1
- package/dist/lib/classes/public/Friend.js.map +1 -1
- package/dist/lib/classes/public/GameObject.d.ts +23 -21
- package/dist/lib/classes/public/GameObject.js +1294 -1306
- package/dist/lib/classes/public/GameObject.js.map +1 -1
- package/dist/lib/classes/public/GameObject.spec.js +8 -18
- package/dist/lib/classes/public/GameObject.spec.js.map +1 -1
- package/dist/lib/classes/public/LLMesh.d.ts +5 -7
- package/dist/lib/classes/public/LLMesh.js +194 -216
- package/dist/lib/classes/public/LLMesh.js.map +1 -1
- package/dist/lib/classes/public/LightData.js.map +1 -1
- package/dist/lib/classes/public/LightImageData.js.map +1 -1
- package/dist/lib/classes/public/Material.js +45 -56
- package/dist/lib/classes/public/Material.js.map +1 -1
- package/dist/lib/classes/public/MeshData.js.map +1 -1
- package/dist/lib/classes/public/Parcel.d.ts +4 -4
- package/dist/lib/classes/public/Parcel.js +1 -2
- package/dist/lib/classes/public/Parcel.js.map +1 -1
- package/dist/lib/classes/public/ReflectionProbeData.d.ts +1 -1
- package/dist/lib/classes/public/ReflectionProbeData.js.map +1 -1
- package/dist/lib/classes/public/RegionEnvironment.d.ts +14 -13
- package/dist/lib/classes/public/RegionEnvironment.js +94 -53
- package/dist/lib/classes/public/RegionEnvironment.js.map +1 -1
- package/dist/lib/classes/public/RegionEnvironmentSky.d.ts +2 -0
- package/dist/lib/classes/public/RegionEnvironmentSky.js +7 -0
- package/dist/lib/classes/public/RegionEnvironmentSky.js.map +1 -0
- package/dist/lib/classes/public/RegionEnvironmentWater.d.ts +2 -0
- package/dist/lib/classes/public/RegionEnvironmentWater.js +7 -0
- package/dist/lib/classes/public/RegionEnvironmentWater.js.map +1 -0
- package/dist/lib/classes/public/RenderMaterialData.js.map +1 -1
- package/dist/lib/classes/public/RenderMaterialParam.d.ts +1 -1
- package/dist/lib/classes/public/SculptData.js.map +1 -1
- package/dist/lib/classes/public/TextureAnim.js +2 -1
- package/dist/lib/classes/public/TextureAnim.js.map +1 -1
- package/dist/lib/classes/public/interfaces/GlobalPosition.d.ts +1 -1
- package/dist/lib/classes/public/interfaces/LLPhysicsConvex.d.ts +1 -1
- package/dist/lib/classes/public/interfaces/LLSkin.d.ts +1 -1
- package/dist/lib/classes/public/interfaces/LLSubMesh.d.ts +3 -5
- package/dist/lib/classes/public/interfaces/MapLocation.d.ts +3 -3
- package/dist/lib/classes/public/interfaces/RegionEnvironmentSkyLLSD.d.ts +26 -0
- package/dist/lib/classes/public/interfaces/RegionEnvironmentSkyLLSD.js +3 -0
- package/dist/lib/classes/public/interfaces/RegionEnvironmentSkyLLSD.js.map +1 -0
- package/dist/lib/classes/public/interfaces/RegionEnvironmentWaterLLSD.d.ts +15 -0
- package/dist/lib/classes/public/interfaces/RegionEnvironmentWaterLLSD.js +3 -0
- package/dist/lib/classes/public/interfaces/RegionEnvironmentWaterLLSD.js.map +1 -0
- package/dist/lib/classes/public/interfaces/SkyPreset.d.ts +3 -3
- package/dist/lib/classes/public/interfaces/WaterPreset.d.ts +4 -4
- package/dist/lib/deviceToken.json +1 -0
- package/dist/lib/enums/AssetType.d.ts +6 -4
- package/dist/lib/enums/AssetType.js +5 -3
- package/dist/lib/enums/AssetType.js.map +1 -1
- package/dist/lib/enums/AttachmentPoint.d.ts +0 -1
- package/dist/lib/enums/AttachmentPoint.js +0 -1
- package/dist/lib/enums/AttachmentPoint.js.map +1 -1
- package/dist/lib/enums/InventoryType.d.ts +3 -5
- package/dist/lib/enums/InventoryType.js +2 -4
- package/dist/lib/enums/InventoryType.js.map +1 -1
- package/dist/lib/enums/LayerType.d.ts +1 -1
- package/dist/lib/enums/LayerType.js +1 -1
- package/dist/lib/events/AvatarPropertiesReplyEvent.d.ts +1 -1
- package/dist/lib/events/BalanceUpdatedEvent.d.ts +2 -2
- package/dist/lib/events/BulkUpdateInventoryEvent.d.ts +2 -2
- package/dist/lib/events/BulkUpdateInventoryEvent.js.map +1 -1
- package/dist/lib/events/ChatEvent.d.ts +5 -5
- package/dist/lib/events/FriendOnlineEvent.d.ts +1 -1
- package/dist/lib/events/FriendRemovedEvent.d.ts +1 -1
- package/dist/lib/events/FriendRequestEvent.d.ts +1 -1
- package/dist/lib/events/FriendResponseEvent.d.ts +1 -1
- package/dist/lib/events/FriendRightsEvent.d.ts +2 -2
- package/dist/lib/events/GroupChatClosedEvent.d.ts +1 -1
- package/dist/lib/events/GroupChatEvent.d.ts +1 -1
- package/dist/lib/events/GroupChatSessionAgentListEvent.d.ts +1 -1
- package/dist/lib/events/GroupChatSessionJoinEvent.d.ts +1 -1
- package/dist/lib/events/GroupInviteEvent.d.ts +1 -1
- package/dist/lib/events/GroupNoticeEvent.d.ts +1 -1
- package/dist/lib/events/GroupProfileReplyEvent.d.ts +2 -2
- package/dist/lib/events/InstantMessageEvent.d.ts +3 -3
- package/dist/lib/events/InventoryOfferedEvent.d.ts +3 -3
- package/dist/lib/events/InventoryResponseEvent.d.ts +1 -1
- package/dist/lib/events/LandStatsEvent.d.ts +4 -4
- package/dist/lib/events/LandStatsEvent.js.map +1 -1
- package/dist/lib/events/LureEvent.d.ts +2 -2
- package/dist/lib/events/MapInfoRangeReplyEvent.d.ts +1 -1
- package/dist/lib/events/MapInfoReplyEvent.d.ts +2 -2
- package/dist/lib/events/NewObjectEvent.d.ts +2 -2
- package/dist/lib/events/ObjectKilledEvent.d.ts +2 -2
- package/dist/lib/events/ObjectPhysicsDataEvent.d.ts +1 -1
- package/dist/lib/events/ObjectResolvedEvent.d.ts +1 -1
- package/dist/lib/events/ObjectUpdatedEvent.d.ts +2 -2
- package/dist/lib/events/ParcelInfoReplyEvent.d.ts +3 -3
- package/dist/lib/events/ParcelPropertiesEvent.d.ts +3 -3
- package/dist/lib/events/RegionInfoReplyEvent.d.ts +2 -2
- package/dist/lib/events/ScriptDialogEvent.d.ts +1 -1
- package/dist/lib/events/SelectedObjectEvent.d.ts +1 -1
- package/dist/lib/events/TeleportEvent.d.ts +1 -1
- package/dist/lib/index.d.ts +6 -8
- package/dist/lib/index.js +4 -7
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/tsm/common.d.ts +1 -1
- package/dist/lib/tsm/common.js +3 -1
- package/dist/lib/tsm/common.js.map +1 -1
- package/dist/lib/tsm/mat2.d.ts +8 -8
- package/dist/lib/tsm/mat2.js +8 -7
- package/dist/lib/tsm/mat2.js.map +1 -1
- package/dist/lib/tsm/mat3.d.ts +7 -7
- package/dist/lib/tsm/mat3.js +8 -7
- package/dist/lib/tsm/mat3.js.map +1 -1
- package/dist/lib/tsm/mat4.d.ts +9 -9
- package/dist/lib/tsm/mat4.js +8 -7
- package/dist/lib/tsm/mat4.js.map +1 -1
- package/dist/lib/tsm/quat.d.ts +19 -19
- package/dist/lib/tsm/quat.js +69 -68
- package/dist/lib/tsm/quat.js.map +1 -1
- package/dist/lib/tsm/vec2.d.ts +13 -13
- package/dist/lib/tsm/vec2.js +30 -29
- package/dist/lib/tsm/vec2.js.map +1 -1
- package/dist/lib/tsm/vec3.d.ts +16 -16
- package/dist/lib/tsm/vec3.js +48 -47
- package/dist/lib/tsm/vec3.js.map +1 -1
- package/dist/lib/tsm/vec4.d.ts +22 -22
- package/dist/lib/tsm/vec4.js +94 -93
- package/dist/lib/tsm/vec4.js.map +1 -1
- package/eslint.config.mjs +104 -0
- package/examples/Inventory/Inventory.ts +4 -2
- package/examples/Money/Money.ts +6 -6
- package/examples/Objects/TaskInventory.ts +4 -3
- package/examples/Region/Settings.ts +19 -0
- package/package.json +10 -9
- package/.eslintrc +0 -224
- package/dist/lib/classes/llsd/LLSDNotationParser.d.ts +0 -9
- package/dist/lib/classes/llsd/LLSDNotationParser.js +0 -177
- package/dist/lib/classes/llsd/LLSDNotationParser.js.map +0 -1
- package/dist/lib/classes/llsd/LLSDNotationParser.spec.js +0 -167
- package/dist/lib/classes/llsd/LLSDNotationParser.spec.js.map +0 -1
- package/dist/lib/enums/AssetTypeLL.d.ts +0 -27
- package/dist/lib/enums/AssetTypeLL.js +0 -32
- package/dist/lib/enums/AssetTypeLL.js.map +0 -1
- package/dist/lib/enums/HTTPAssets.d.ts +0 -24
- package/dist/lib/enums/HTTPAssets.js +0 -29
- package/dist/lib/enums/HTTPAssets.js.map +0 -1
- /package/dist/{lib/classes/llsd/LLSDNotationParser.spec.d.ts → examples/Region/Settings.d.ts} +0 -0
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.LLMesh = void 0;
|
|
13
4
|
const LLSD = require("@caspertech/llsd");
|
|
@@ -20,87 +11,82 @@ class LLMesh {
|
|
|
20
11
|
constructor() {
|
|
21
12
|
this.lodLevels = {};
|
|
22
13
|
}
|
|
23
|
-
static from(buf) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
else if (key === 'physics_havok' || key === 'physics_cost_data') {
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
llmesh.lodLevels[key] = this.parseLODLevel(mesh['result']);
|
|
69
|
-
}
|
|
14
|
+
static async from(buf) {
|
|
15
|
+
const llmesh = new LLMesh();
|
|
16
|
+
const binData = new LLSD.Binary(Array.from(buf), 'BASE64');
|
|
17
|
+
let obj = LLSD.LLSD.parseBinary(binData);
|
|
18
|
+
if (obj.result === undefined) {
|
|
19
|
+
throw new Error('Failed to decode header');
|
|
20
|
+
}
|
|
21
|
+
if (obj.position === undefined) {
|
|
22
|
+
throw new Error('Position not reported');
|
|
23
|
+
}
|
|
24
|
+
const startPos = parseInt(obj.position, 10);
|
|
25
|
+
obj = obj.result;
|
|
26
|
+
if (obj.creator !== undefined) {
|
|
27
|
+
llmesh.creatorID = new UUID_1.UUID(obj.creator.toString());
|
|
28
|
+
}
|
|
29
|
+
if (obj.date !== undefined) {
|
|
30
|
+
llmesh.date = obj.date;
|
|
31
|
+
}
|
|
32
|
+
if (obj.version !== undefined) {
|
|
33
|
+
llmesh.version = parseInt(obj.version, 10);
|
|
34
|
+
}
|
|
35
|
+
for (const key of Object.keys(obj)) {
|
|
36
|
+
const o = obj[key];
|
|
37
|
+
if (typeof o === 'object' && o !== null && o.offset !== undefined) {
|
|
38
|
+
const bufFrom = startPos + parseInt(o.offset, 10);
|
|
39
|
+
const bufTo = startPos + parseInt(o.offset, 10) + parseInt(o.size, 10);
|
|
40
|
+
const partBuf = buf.subarray(bufFrom, bufTo);
|
|
41
|
+
const deflated = await Utils_1.Utils.inflate(partBuf);
|
|
42
|
+
const mesh = LLSD.LLSD.parseBinary(new LLSD.Binary(Array.from(deflated), 'BASE64'));
|
|
43
|
+
if (mesh.result === undefined) {
|
|
44
|
+
throw new Error('Failed to parse compressed submesh data');
|
|
45
|
+
}
|
|
46
|
+
if (key === 'physics_convex') {
|
|
47
|
+
llmesh.physicsConvex = this.parsePhysicsConvex(mesh.result);
|
|
48
|
+
}
|
|
49
|
+
else if (key === 'skin') {
|
|
50
|
+
llmesh.skin = this.parseSkin(mesh.result);
|
|
51
|
+
}
|
|
52
|
+
else if (key === 'physics_havok' || key === 'physics_cost_data') {
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
llmesh.lodLevels[key] = this.parseLODLevel(mesh.result);
|
|
70
56
|
}
|
|
71
57
|
}
|
|
72
|
-
|
|
73
|
-
|
|
58
|
+
}
|
|
59
|
+
return llmesh;
|
|
74
60
|
}
|
|
75
61
|
static parseSkin(mesh) {
|
|
76
|
-
if (
|
|
62
|
+
if (mesh.joint_names === undefined) {
|
|
77
63
|
throw new Error('Joint names missing from skin');
|
|
78
64
|
}
|
|
79
|
-
if (
|
|
65
|
+
if (mesh.bind_shape_matrix === undefined) {
|
|
80
66
|
throw new Error('Bind shape matrix missing from skin');
|
|
81
67
|
}
|
|
82
|
-
if (
|
|
68
|
+
if (mesh.inverse_bind_matrix === undefined) {
|
|
83
69
|
throw new Error('Inverse bind matrix missing from skin');
|
|
84
70
|
}
|
|
85
71
|
const skin = {
|
|
86
|
-
jointNames: mesh
|
|
87
|
-
bindShapeMatrix: new mat4_1.TSMMat4(mesh
|
|
72
|
+
jointNames: mesh.joint_names,
|
|
73
|
+
bindShapeMatrix: new mat4_1.TSMMat4(mesh.bind_shape_matrix),
|
|
88
74
|
inverseBindMatrix: []
|
|
89
75
|
};
|
|
90
|
-
if (mesh
|
|
76
|
+
if (mesh.inverse_bind_matrix !== undefined) {
|
|
91
77
|
skin.inverseBindMatrix = [];
|
|
92
|
-
for (const inv of mesh
|
|
78
|
+
for (const inv of mesh.inverse_bind_matrix) {
|
|
93
79
|
skin.inverseBindMatrix.push(new mat4_1.TSMMat4(inv));
|
|
94
80
|
}
|
|
95
81
|
}
|
|
96
|
-
if (mesh
|
|
82
|
+
if (mesh.alt_inverse_bind_matrix !== undefined) {
|
|
97
83
|
skin.altInverseBindMatrix = [];
|
|
98
|
-
for (const inv of mesh
|
|
84
|
+
for (const inv of mesh.alt_inverse_bind_matrix) {
|
|
99
85
|
skin.altInverseBindMatrix.push(new mat4_1.TSMMat4(inv));
|
|
100
86
|
}
|
|
101
87
|
}
|
|
102
|
-
if (mesh
|
|
103
|
-
skin.pelvisOffset = new mat4_1.TSMMat4(mesh
|
|
88
|
+
if (mesh.pelvis_offset !== undefined) {
|
|
89
|
+
skin.pelvisOffset = new mat4_1.TSMMat4(mesh.pelvis_offset);
|
|
104
90
|
}
|
|
105
91
|
return skin;
|
|
106
92
|
}
|
|
@@ -122,22 +108,22 @@ class LLMesh {
|
|
|
122
108
|
max: new Vector3_1.Vector3([0.5, 0.5, 0.5])
|
|
123
109
|
}
|
|
124
110
|
};
|
|
125
|
-
if (mesh
|
|
126
|
-
conv.domain.min.x = mesh
|
|
127
|
-
conv.domain.min.y = mesh
|
|
128
|
-
conv.domain.min.z = mesh
|
|
129
|
-
}
|
|
130
|
-
if (mesh
|
|
131
|
-
conv.domain.max.x = mesh
|
|
132
|
-
conv.domain.max.y = mesh
|
|
133
|
-
conv.domain.max.z = mesh
|
|
134
|
-
}
|
|
135
|
-
if (mesh
|
|
136
|
-
if (
|
|
111
|
+
if (mesh.Min !== undefined) {
|
|
112
|
+
conv.domain.min.x = mesh.Min[0];
|
|
113
|
+
conv.domain.min.y = mesh.Min[1];
|
|
114
|
+
conv.domain.min.z = mesh.Min[2];
|
|
115
|
+
}
|
|
116
|
+
if (mesh.Max !== undefined) {
|
|
117
|
+
conv.domain.max.x = mesh.Max[0];
|
|
118
|
+
conv.domain.max.y = mesh.Max[1];
|
|
119
|
+
conv.domain.max.z = mesh.Max[2];
|
|
120
|
+
}
|
|
121
|
+
if (mesh.HullList !== undefined) {
|
|
122
|
+
if (mesh.Positions === undefined) {
|
|
137
123
|
throw new Error('Positions must be supplied if hull list is present');
|
|
138
124
|
}
|
|
139
|
-
conv.positions = this.decodeByteDomain3(mesh
|
|
140
|
-
conv.hullList = mesh
|
|
125
|
+
conv.positions = this.decodeByteDomain3(mesh.Positions.toArray(), conv.domain.min, conv.domain.max);
|
|
126
|
+
conv.hullList = mesh.HullList.toArray();
|
|
141
127
|
if (conv.hullList === undefined) {
|
|
142
128
|
throw new Error('HullList undefined');
|
|
143
129
|
}
|
|
@@ -151,10 +137,10 @@ class LLMesh {
|
|
|
151
137
|
}
|
|
152
138
|
}
|
|
153
139
|
}
|
|
154
|
-
if (
|
|
140
|
+
if (mesh.BoundingVerts === undefined) {
|
|
155
141
|
throw new Error('BoundingVerts is required');
|
|
156
142
|
}
|
|
157
|
-
conv.boundingVerts = this.decodeByteDomain3(mesh
|
|
143
|
+
conv.boundingVerts = this.decodeByteDomain3(mesh.BoundingVerts.toArray(), conv.domain.min, conv.domain.max);
|
|
158
144
|
return conv;
|
|
159
145
|
}
|
|
160
146
|
static parseLODLevel(mesh) {
|
|
@@ -166,51 +152,51 @@ class LLMesh {
|
|
|
166
152
|
max: new Vector3_1.Vector3([0.5, 0.5, 0.5])
|
|
167
153
|
}
|
|
168
154
|
};
|
|
169
|
-
if (submesh
|
|
155
|
+
if (submesh.NoGeometry) {
|
|
170
156
|
decoded.noGeometry = true;
|
|
171
157
|
list.push(decoded);
|
|
172
158
|
}
|
|
173
159
|
else {
|
|
174
160
|
decoded.position = [];
|
|
175
|
-
if (!submesh
|
|
161
|
+
if (!submesh.Position) {
|
|
176
162
|
throw new Error('Submesh does not contain position data');
|
|
177
163
|
}
|
|
178
164
|
if (decoded.positionDomain !== undefined) {
|
|
179
|
-
if (submesh
|
|
180
|
-
if (submesh
|
|
181
|
-
const dom = submesh
|
|
165
|
+
if (submesh.PositionDomain) {
|
|
166
|
+
if (submesh.PositionDomain.Max !== undefined) {
|
|
167
|
+
const dom = submesh.PositionDomain.Max;
|
|
182
168
|
decoded.positionDomain.max.x = dom[0];
|
|
183
169
|
decoded.positionDomain.max.y = dom[1];
|
|
184
170
|
decoded.positionDomain.max.z = dom[2];
|
|
185
171
|
}
|
|
186
|
-
if (submesh
|
|
187
|
-
const dom = submesh
|
|
172
|
+
if (submesh.PositionDomain.Min !== undefined) {
|
|
173
|
+
const dom = submesh.PositionDomain.Min;
|
|
188
174
|
decoded.positionDomain.min.x = dom[0];
|
|
189
175
|
decoded.positionDomain.min.y = dom[1];
|
|
190
176
|
decoded.positionDomain.min.z = dom[2];
|
|
191
177
|
}
|
|
192
178
|
}
|
|
193
|
-
decoded.position = this.decodeByteDomain3(submesh
|
|
179
|
+
decoded.position = this.decodeByteDomain3(submesh.Position.toArray(), decoded.positionDomain.min, decoded.positionDomain.max);
|
|
194
180
|
}
|
|
195
|
-
if (submesh
|
|
196
|
-
decoded.normal = this.decodeByteDomain3(submesh
|
|
181
|
+
if (submesh.Normal) {
|
|
182
|
+
decoded.normal = this.decodeByteDomain3(submesh.Normal.toArray(), new Vector3_1.Vector3([-1.0, -1.0, -1.0]), new Vector3_1.Vector3([1.0, 1.0, 1.0]));
|
|
197
183
|
if (decoded.normal.length !== decoded.position.length) {
|
|
198
184
|
throw new Error('Normal length does not match vertex position length');
|
|
199
185
|
}
|
|
200
186
|
}
|
|
201
|
-
if (submesh
|
|
187
|
+
if (submesh.TexCoord0) {
|
|
202
188
|
decoded.texCoord0Domain = {
|
|
203
189
|
min: new Vector2_1.Vector2([-0.5, -0.5]),
|
|
204
190
|
max: new Vector2_1.Vector2([0.5, 0.5])
|
|
205
191
|
};
|
|
206
|
-
if (submesh
|
|
207
|
-
if (submesh
|
|
208
|
-
const dom = submesh
|
|
192
|
+
if (submesh.TexCoord0Domain) {
|
|
193
|
+
if (submesh.TexCoord0Domain.Max !== undefined) {
|
|
194
|
+
const dom = submesh.TexCoord0Domain.Max;
|
|
209
195
|
decoded.texCoord0Domain.max.x = dom[0];
|
|
210
196
|
decoded.texCoord0Domain.max.y = dom[1];
|
|
211
197
|
}
|
|
212
|
-
if (submesh
|
|
213
|
-
const dom = submesh
|
|
198
|
+
if (submesh.TexCoord0Domain.Min !== undefined) {
|
|
199
|
+
const dom = submesh.TexCoord0Domain.Min;
|
|
214
200
|
decoded.texCoord0Domain.min.x = dom[0];
|
|
215
201
|
decoded.texCoord0Domain.min.y = dom[1];
|
|
216
202
|
}
|
|
@@ -218,12 +204,12 @@ class LLMesh {
|
|
|
218
204
|
else {
|
|
219
205
|
throw new Error('TexCoord0Domain is required if Texcoord0 is present');
|
|
220
206
|
}
|
|
221
|
-
decoded.texCoord0 = this.decodeByteDomain2(submesh
|
|
207
|
+
decoded.texCoord0 = this.decodeByteDomain2(submesh.TexCoord0.toArray(), decoded.texCoord0Domain.min, decoded.texCoord0Domain.max);
|
|
222
208
|
}
|
|
223
|
-
if (!submesh
|
|
209
|
+
if (!submesh.TriangleList) {
|
|
224
210
|
throw new Error('TriangleList is required');
|
|
225
211
|
}
|
|
226
|
-
const indexBuf = Buffer.from(submesh
|
|
212
|
+
const indexBuf = Buffer.from(submesh.TriangleList.toArray());
|
|
227
213
|
decoded.triangleList = [];
|
|
228
214
|
for (let pos = 0; pos < indexBuf.length; pos = pos + 2) {
|
|
229
215
|
const vertIndex = indexBuf.readUInt16LE(pos);
|
|
@@ -232,8 +218,8 @@ class LLMesh {
|
|
|
232
218
|
}
|
|
233
219
|
decoded.triangleList.push(vertIndex);
|
|
234
220
|
}
|
|
235
|
-
if (submesh
|
|
236
|
-
const skinBuf = Buffer.from(submesh
|
|
221
|
+
if (submesh.Weights) {
|
|
222
|
+
const skinBuf = Buffer.from(submesh.Weights.toArray());
|
|
237
223
|
decoded.weights = [];
|
|
238
224
|
let pos = 0;
|
|
239
225
|
while (pos < skinBuf.length) {
|
|
@@ -282,6 +268,44 @@ class LLMesh {
|
|
|
282
268
|
static normalizeDomain(value, min, max) {
|
|
283
269
|
return ((value / 65535) * (max - min)) + min;
|
|
284
270
|
}
|
|
271
|
+
async toAsset() {
|
|
272
|
+
const llsd = {
|
|
273
|
+
'creator': new LLSD.UUID(this.creatorID.toString()),
|
|
274
|
+
'version': this.version,
|
|
275
|
+
'date': null
|
|
276
|
+
};
|
|
277
|
+
let offset = 0;
|
|
278
|
+
const bufs = [];
|
|
279
|
+
for (const lod of Object.keys(this.lodLevels)) {
|
|
280
|
+
const lodBlob = await this.encodeLODLevel(lod, this.lodLevels[lod]);
|
|
281
|
+
llsd[lod] = {
|
|
282
|
+
'offset': offset,
|
|
283
|
+
'size': lodBlob.length
|
|
284
|
+
};
|
|
285
|
+
offset += lodBlob.length;
|
|
286
|
+
bufs.push(lodBlob);
|
|
287
|
+
}
|
|
288
|
+
if (this.physicsConvex) {
|
|
289
|
+
const physBlob = await this.encodePhysicsConvex(this.physicsConvex);
|
|
290
|
+
llsd.physics_convex = {
|
|
291
|
+
'offset': offset,
|
|
292
|
+
'size': physBlob.length
|
|
293
|
+
};
|
|
294
|
+
offset += physBlob.length;
|
|
295
|
+
bufs.push(physBlob);
|
|
296
|
+
}
|
|
297
|
+
if (this.skin) {
|
|
298
|
+
const skinBlob = await this.encodeSkin(this.skin);
|
|
299
|
+
llsd.skin = {
|
|
300
|
+
'offset': offset,
|
|
301
|
+
'size': skinBlob.length
|
|
302
|
+
};
|
|
303
|
+
offset += skinBlob.length;
|
|
304
|
+
bufs.push(skinBlob);
|
|
305
|
+
}
|
|
306
|
+
bufs.unshift(Buffer.from(LLSD.LLSD.formatBinary(llsd).toArray()));
|
|
307
|
+
return Buffer.concat(bufs);
|
|
308
|
+
}
|
|
285
309
|
encodeSubMesh(mesh) {
|
|
286
310
|
const data = {};
|
|
287
311
|
if (mesh.noGeometry === true) {
|
|
@@ -311,8 +335,8 @@ class LLMesh {
|
|
|
311
335
|
if (mesh.triangleList) {
|
|
312
336
|
const triangles = Buffer.allocUnsafe(mesh.triangleList.length * 2);
|
|
313
337
|
let pos = 0;
|
|
314
|
-
for (
|
|
315
|
-
triangles.writeUInt16LE(
|
|
338
|
+
for (const triangle of mesh.triangleList) {
|
|
339
|
+
triangles.writeUInt16LE(triangle, pos);
|
|
316
340
|
pos = pos + 2;
|
|
317
341
|
}
|
|
318
342
|
data.triangleList = new LLSD.Binary(Array.from(triangles));
|
|
@@ -372,120 +396,74 @@ class LLMesh {
|
|
|
372
396
|
}
|
|
373
397
|
return buf;
|
|
374
398
|
}
|
|
375
|
-
encodeLODLevel(_, submeshes) {
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
return Utils_1.Utils.deflate(Buffer.from(mesh.toArray()));
|
|
383
|
-
});
|
|
384
|
-
}
|
|
385
|
-
encodePhysicsConvex(conv) {
|
|
386
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
387
|
-
const llsd = {
|
|
388
|
-
Min: LLMesh.fixReal(conv.domain.min.toArray()),
|
|
389
|
-
Max: LLMesh.fixReal(conv.domain.max.toArray())
|
|
390
|
-
};
|
|
391
|
-
const sizeX = conv.domain.max.x - conv.domain.min.x;
|
|
392
|
-
const sizeY = conv.domain.max.y - conv.domain.min.y;
|
|
393
|
-
const sizeZ = conv.domain.max.z - conv.domain.min.z;
|
|
394
|
-
if (conv.hullList) {
|
|
395
|
-
if (!conv.positions) {
|
|
396
|
-
throw new Error('Positions must be present if hullList is set.');
|
|
397
|
-
}
|
|
398
|
-
llsd.HullList = new LLSD.Binary(conv.hullList);
|
|
399
|
-
const buf = Buffer.allocUnsafe(conv.positions.length * 6);
|
|
400
|
-
let pos = 0;
|
|
401
|
-
for (const vec of conv.positions) {
|
|
402
|
-
buf.writeUInt16LE(Math.round(((vec.x - conv.domain.min.x) / sizeX) * 65535), pos);
|
|
403
|
-
pos = pos + 2;
|
|
404
|
-
buf.writeUInt16LE(Math.round(((vec.y - conv.domain.min.y) / sizeY) * 65535), pos);
|
|
405
|
-
pos = pos + 2;
|
|
406
|
-
buf.writeUInt16LE(Math.round(((vec.z - conv.domain.min.z) / sizeZ) * 65535), pos);
|
|
407
|
-
pos = pos + 2;
|
|
408
|
-
}
|
|
409
|
-
llsd.Positions = new LLSD.Binary(Array.from(buf));
|
|
410
|
-
}
|
|
411
|
-
{
|
|
412
|
-
const buf = Buffer.allocUnsafe(conv.boundingVerts.length * 6);
|
|
413
|
-
let pos = 0;
|
|
414
|
-
for (const vec of conv.boundingVerts) {
|
|
415
|
-
buf.writeUInt16LE(Math.round(((vec.x - conv.domain.min.x) / sizeX)) * 65535, pos);
|
|
416
|
-
pos = pos + 2;
|
|
417
|
-
buf.writeUInt16LE(Math.round(((vec.y - conv.domain.min.y) / sizeY)) * 65535, pos);
|
|
418
|
-
pos = pos + 2;
|
|
419
|
-
buf.writeUInt16LE(Math.round(((vec.z - conv.domain.min.z) / sizeZ)) * 65535, pos);
|
|
420
|
-
pos = pos + 2;
|
|
421
|
-
}
|
|
422
|
-
llsd.BoundingVerts = new LLSD.Binary(Array.from(buf));
|
|
423
|
-
}
|
|
424
|
-
const mesh = LLSD.LLSD.formatBinary(llsd);
|
|
425
|
-
return yield Utils_1.Utils.deflate(Buffer.from(mesh.toArray()));
|
|
426
|
-
});
|
|
399
|
+
async encodeLODLevel(_, submeshes) {
|
|
400
|
+
const smList = [];
|
|
401
|
+
for (const sub of submeshes) {
|
|
402
|
+
smList.push(this.encodeSubMesh(sub));
|
|
403
|
+
}
|
|
404
|
+
const mesh = LLSD.LLSD.formatBinary(smList);
|
|
405
|
+
return Utils_1.Utils.deflate(Buffer.from(mesh.toArray()));
|
|
427
406
|
}
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
407
|
+
async encodePhysicsConvex(conv) {
|
|
408
|
+
const llsd = {
|
|
409
|
+
Min: LLMesh.fixReal(conv.domain.min.toArray()),
|
|
410
|
+
Max: LLMesh.fixReal(conv.domain.max.toArray())
|
|
411
|
+
};
|
|
412
|
+
const sizeX = conv.domain.max.x - conv.domain.min.x;
|
|
413
|
+
const sizeY = conv.domain.max.y - conv.domain.min.y;
|
|
414
|
+
const sizeZ = conv.domain.max.z - conv.domain.min.z;
|
|
415
|
+
if (conv.hullList) {
|
|
416
|
+
if (!conv.positions) {
|
|
417
|
+
throw new Error('Positions must be present if hullList is set.');
|
|
436
418
|
}
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
419
|
+
llsd.HullList = new LLSD.Binary(conv.hullList);
|
|
420
|
+
const buf = Buffer.allocUnsafe(conv.positions.length * 6);
|
|
421
|
+
let pos = 0;
|
|
422
|
+
for (const vec of conv.positions) {
|
|
423
|
+
buf.writeUInt16LE(Math.round(((vec.x - conv.domain.min.x) / sizeX) * 65535), pos);
|
|
424
|
+
pos = pos + 2;
|
|
425
|
+
buf.writeUInt16LE(Math.round(((vec.y - conv.domain.min.y) / sizeY) * 65535), pos);
|
|
426
|
+
pos = pos + 2;
|
|
427
|
+
buf.writeUInt16LE(Math.round(((vec.z - conv.domain.min.z) / sizeZ) * 65535), pos);
|
|
428
|
+
pos = pos + 2;
|
|
442
429
|
}
|
|
443
|
-
|
|
444
|
-
|
|
430
|
+
llsd.Positions = new LLSD.Binary(Array.from(buf));
|
|
431
|
+
}
|
|
432
|
+
{
|
|
433
|
+
const buf = Buffer.allocUnsafe(conv.boundingVerts.length * 6);
|
|
434
|
+
let pos = 0;
|
|
435
|
+
for (const vec of conv.boundingVerts) {
|
|
436
|
+
buf.writeUInt16LE(Math.round(((vec.x - conv.domain.min.x) / sizeX)) * 65535, pos);
|
|
437
|
+
pos = pos + 2;
|
|
438
|
+
buf.writeUInt16LE(Math.round(((vec.y - conv.domain.min.y) / sizeY)) * 65535, pos);
|
|
439
|
+
pos = pos + 2;
|
|
440
|
+
buf.writeUInt16LE(Math.round(((vec.z - conv.domain.min.z) / sizeZ)) * 65535, pos);
|
|
441
|
+
pos = pos + 2;
|
|
445
442
|
}
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
443
|
+
llsd.BoundingVerts = new LLSD.Binary(Array.from(buf));
|
|
444
|
+
}
|
|
445
|
+
const mesh = LLSD.LLSD.formatBinary(llsd);
|
|
446
|
+
return Utils_1.Utils.deflate(Buffer.from(mesh.toArray()));
|
|
449
447
|
}
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
llsd
|
|
462
|
-
'offset': offset,
|
|
463
|
-
'size': lodBlob.length
|
|
464
|
-
};
|
|
465
|
-
offset += lodBlob.length;
|
|
466
|
-
bufs.push(lodBlob);
|
|
467
|
-
}
|
|
468
|
-
if (this.physicsConvex) {
|
|
469
|
-
const physBlob = yield this.encodePhysicsConvex(this.physicsConvex);
|
|
470
|
-
llsd['physics_convex'] = {
|
|
471
|
-
'offset': offset,
|
|
472
|
-
'size': physBlob.length
|
|
473
|
-
};
|
|
474
|
-
offset += physBlob.length;
|
|
475
|
-
bufs.push(physBlob);
|
|
476
|
-
}
|
|
477
|
-
if (this.skin) {
|
|
478
|
-
const skinBlob = yield this.encodeSkin(this.skin);
|
|
479
|
-
llsd['skin'] = {
|
|
480
|
-
'offset': offset,
|
|
481
|
-
'size': skinBlob.length
|
|
482
|
-
};
|
|
483
|
-
offset += skinBlob.length;
|
|
484
|
-
bufs.push(skinBlob);
|
|
448
|
+
async encodeSkin(skin) {
|
|
449
|
+
const llsd = {};
|
|
450
|
+
llsd.joint_names = skin.jointNames;
|
|
451
|
+
llsd.bind_shape_matrix = skin.bindShapeMatrix.toArray();
|
|
452
|
+
llsd.inverse_bind_matrix = [];
|
|
453
|
+
for (const matrix of skin.inverseBindMatrix) {
|
|
454
|
+
llsd.inverse_bind_matrix.push(matrix.toArray());
|
|
455
|
+
}
|
|
456
|
+
if (skin.altInverseBindMatrix) {
|
|
457
|
+
llsd.alt_inverse_bind_matrix = [];
|
|
458
|
+
for (const matrix of skin.altInverseBindMatrix) {
|
|
459
|
+
llsd.alt_inverse_bind_matrix.push(matrix.toArray());
|
|
485
460
|
}
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
461
|
+
}
|
|
462
|
+
if (skin.pelvisOffset) {
|
|
463
|
+
llsd.pelvis_offset = skin.pelvisOffset.toArray();
|
|
464
|
+
}
|
|
465
|
+
const mesh = LLSD.LLSD.formatBinary(llsd);
|
|
466
|
+
return Utils_1.Utils.deflate(Buffer.from(mesh.toArray()));
|
|
489
467
|
}
|
|
490
468
|
}
|
|
491
469
|
exports.LLMesh = LLMesh;
|