Fix OW Pokémon VObjects (#7991)

This commit is contained in:
Marky 2025-10-21 10:23:05 +01:00 committed by GitHub
parent ac321bf581
commit c3735c5bd0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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);