diff --git a/src/common/layout/LayoutPetImageView.tsx b/src/common/layout/LayoutPetImageView.tsx index acf1a79..29686b8 100644 --- a/src/common/layout/LayoutPetImageView.tsx +++ b/src/common/layout/LayoutPetImageView.tsx @@ -67,10 +67,12 @@ export const LayoutPetImageView: FC = props => if(petTypeId === 16) petHeadOnly = false; const imageResult = GetRoomEngine().getRoomObjectPetImage(petTypeId, petPaletteId, petColor1, new Vector3d((direction * 45)), 64, { - imageReady: async (id, texture, image) => + imageReady: async (result) => { if(isDisposed.current) return; + const { image, data: texture } = result; + if(image) { setPetUrl(image.src); @@ -85,9 +87,9 @@ export const LayoutPetImageView: FC = props => setHeight(texture.height); } }, - imageFailed: (id) => + imageFailed: () => { - + // no-op } }, petHeadOnly, 0, petCustomParts, posture); diff --git a/src/common/layout/LayoutRoomObjectImageView.tsx b/src/common/layout/LayoutRoomObjectImageView.tsx index ab07dc4..2e0472f 100644 --- a/src/common/layout/LayoutRoomObjectImageView.tsx +++ b/src/common/layout/LayoutRoomObjectImageView.tsx @@ -53,13 +53,16 @@ export const LayoutRoomObjectImageView: FC = pro useEffect(() => { const imageResult = GetRoomEngine().getRoomObjectImage(roomId, objectId, category, new Vector3d(direction * 45), 64, { - imageReady: async (id, texture, image) => + imageReady: async (result) => { - const img = await TextureUtils.generateImage(texture); + const img = await TextureUtils.generateImage(result.data); if(img && isMounted.current) setImageElement(img); }, - imageFailed: null + imageFailed: () => + { + // no-op + } }); if(!imageResult) return; diff --git a/src/hooks/rooms/widgets/furniture/useFurniturePresentWidget.ts b/src/hooks/rooms/widgets/furniture/useFurniturePresentWidget.ts index 4c1611c..65912ba 100644 --- a/src/hooks/rooms/widgets/furniture/useFurniturePresentWidget.ts +++ b/src/hooks/rooms/widgets/furniture/useFurniturePresentWidget.ts @@ -53,19 +53,24 @@ const useFurniturePresentWidgetState = () => { // async fix image return { - imageReady: (id, texture, image) => + imageReady: (result) => { (async () => { - if(!image && texture) + let image = result.image; + + if(!image && result.data) { - image = await TextureUtils.generateImage(texture); + image = await TextureUtils.generateImage(result.data); } - setImageUrl(image.src); + if(image) setImageUrl(image.src); })(); }, - imageFailed: null + imageFailed: () => + { + // no-op + } }; }, []);