From 8e735639631e370875d8b98356cf3a9c2ad5ba59 Mon Sep 17 00:00:00 2001 From: Casper Warden <216465704+casperwardensl@users.noreply.github.com> Date: Wed, 22 Sep 2021 14:58:49 +0100 Subject: [PATCH] Fix other inventory creation type issues --- lib/classes/InventoryFolder.ts | 45 +++++++++++++------------- lib/classes/Utils.ts | 2 ++ lib/classes/commands/RegionCommands.ts | 8 +++++ 3 files changed, 33 insertions(+), 22 deletions(-) diff --git a/lib/classes/InventoryFolder.ts b/lib/classes/InventoryFolder.ts index fe8268f..3d8de34 100644 --- a/lib/classes/InventoryFolder.ts +++ b/lib/classes/InventoryFolder.ts @@ -1,29 +1,29 @@ -import { UUID } from './UUID'; -import { InventoryItem } from './InventoryItem'; -import * as fs from 'fs/promises'; -import * as fsSync from 'fs'; -import * as path from 'path'; import * as LLSD from '@caspertech/llsd'; -import { InventorySortOrder } from '../enums/InventorySortOrder'; -import { Agent } from './Agent'; -import { FolderType } from '../enums/FolderType'; -import { CreateInventoryFolderMessage } from './messages/CreateInventoryFolder'; -import { Utils } from './Utils'; -import { PacketFlags } from '../enums/PacketFlags'; -import { Message } from '../enums/Message'; -import { FilterResponse } from '../enums/FilterResponse'; -import { UpdateCreateInventoryItemMessage } from './messages/UpdateCreateInventoryItem'; +import * as fsSync from 'fs'; +import * as fs from 'fs/promises'; +import * as path from 'path'; import { LLMesh } from '..'; -import { CreateInventoryItemMessage } from './messages/CreateInventoryItem'; -import { WearableType } from '../enums/WearableType'; -import { PermissionMask } from '../enums/PermissionMask'; import { AssetType } from '../enums/AssetType'; -import { LLWearable } from './LLWearable'; -import { InventoryType } from '../enums/InventoryType'; -import { AssetUploadRequestMessage } from './messages/AssetUploadRequest'; -import { RequestXferMessage } from './messages/RequestXfer'; -import { Logger } from './Logger'; +import { FilterResponse } from '../enums/FilterResponse'; +import { FolderType } from '../enums/FolderType'; import { InventoryLibrary } from '../enums/InventoryLibrary'; +import { InventorySortOrder } from '../enums/InventorySortOrder'; +import { InventoryType } from '../enums/InventoryType'; +import { Message } from '../enums/Message'; +import { PacketFlags } from '../enums/PacketFlags'; +import { PermissionMask } from '../enums/PermissionMask'; +import { WearableType } from '../enums/WearableType'; +import { Agent } from './Agent'; +import { InventoryItem } from './InventoryItem'; +import { LLWearable } from './LLWearable'; +import { Logger } from './Logger'; +import { AssetUploadRequestMessage } from './messages/AssetUploadRequest'; +import { CreateInventoryFolderMessage } from './messages/CreateInventoryFolder'; +import { CreateInventoryItemMessage } from './messages/CreateInventoryItem'; +import { RequestXferMessage } from './messages/RequestXfer'; +import { UpdateCreateInventoryItemMessage } from './messages/UpdateCreateInventoryItem'; +import { Utils } from './Utils'; +import { UUID } from './UUID'; export class InventoryFolder { @@ -674,6 +674,7 @@ export class InventoryFolder switch (inventoryType) { case InventoryType.Wearable: + case InventoryType.Bodypart: // Wearables have to be uploaded using the legacy method and then created this.uploadInventoryAssetLegacy(type, inventoryType, data, name, description).then((invItemID: UUID) => { diff --git a/lib/classes/Utils.ts b/lib/classes/Utils.ts index ca6df49..504de65 100644 --- a/lib/classes/Utils.ts +++ b/lib/classes/Utils.ts @@ -166,6 +166,8 @@ export class Utils return 'snapshot'; case InventoryType.Attachment: return 'attach'; + case InventoryType.Bodypart: + return 'bodypart'; case InventoryType.Wearable: return 'wearable'; case InventoryType.Animation: diff --git a/lib/classes/commands/RegionCommands.ts b/lib/classes/commands/RegionCommands.ts index 3b0f47d..1920948 100644 --- a/lib/classes/commands/RegionCommands.ts +++ b/lib/classes/commands/RegionCommands.ts @@ -820,6 +820,7 @@ export class RegionCommands extends CommandsBase } break; } + case InventoryType.Wearable: case InventoryType.Bodypart: { if (buildMap.assetMap.bodyparts[invItem.assetID.toString()] !== undefined) @@ -1028,6 +1029,7 @@ export class RegionCommands extends CommandsBase } break; } + case InventoryType.Wearable: case InventoryType.Bodypart: { if (buildMap.assetMap.bodyparts[assetID.toString()] === undefined) @@ -1076,6 +1078,7 @@ export class RegionCommands extends CommandsBase } break; } + case InventoryType.Script: case InventoryType.LSL: { if (buildMap.assetMap.scripts[assetID.toString()] === undefined) @@ -1088,6 +1091,7 @@ export class RegionCommands extends CommandsBase } break; } + case InventoryType.Texture: case InventoryType.Snapshot: { if (buildMap.assetMap.textures[assetID.toString()] === undefined) @@ -1130,7 +1134,11 @@ export class RegionCommands extends CommandsBase { buildMap.assetMap.objects[assetID.toString()] = null; } + break; } + default: + console.error('Unsupported inventory type: ' + j.inventoryType); + break; } } }