From c3735c5bd0efac67d198ccc9f7b7116a9bac7506 Mon Sep 17 00:00:00 2001 From: Marky <143505183+HashtagMarky@users.noreply.github.com> Date: Tue, 21 Oct 2025 10:23:05 +0100 Subject: [PATCH] =?UTF-8?q?Fix=20OW=20Pok=C3=A9mon=20VObjects=20(#7991)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/event_object_movement.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 6d0cf86cf6..0c17f5c445 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1927,8 +1927,15 @@ u8 CreateVirtualObject(u16 graphicsId, u8 virtualObjId, s16 x, s16 y, u8 elevati x += MAP_OFFSET; y += MAP_OFFSET; SetSpritePosToOffsetMapCoords(&x, &y, 8, 16); - if (spriteTemplate.paletteTag != TAG_NONE) + if (spriteTemplate.paletteTag == OBJ_EVENT_PAL_TAG_DYNAMIC) + { + u32 paletteNum = LoadDynamicFollowerPaletteFromGraphicsId(graphicsId, &spriteTemplate); + spriteTemplate.paletteTag = GetSpritePaletteTagByPaletteNum(paletteNum); + } + else if (spriteTemplate.paletteTag != TAG_NONE) + { LoadObjectEventPalette(spriteTemplate.paletteTag); + } spriteId = CreateSpriteAtEnd(&spriteTemplate, x, y, 0); if (spriteId != MAX_SPRITES) @@ -1942,6 +1949,9 @@ u8 CreateVirtualObject(u16 graphicsId, u8 virtualObjId, s16 x, s16 y, u8 elevati sprite->sVirtualObjId = virtualObjId; sprite->sVirtualObjElev = elevation; + if (OW_GFX_COMPRESS && graphicsInfo->compressed) + spriteTemplate.tileTag = LoadSheetGraphicsInfo(graphicsInfo, graphicsId, sprite); + if (subspriteTables != NULL) { SetSubspriteTables(sprite, subspriteTables);