diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 22a4bc9a55..6627253d38 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -195,7 +195,6 @@ struct ObjectEvent u32 fixedPriority:1; u32 hideReflection:1; u32 shiny:1; // OW mon shininess - u32 expanded:1; // 0 for vanilla, 1 for expanded OWs /*0x04*/ u16 graphicsId; // 11 bits for species; high 5 bits for form /*0x06*/ u8 movementType; /*0x07*/ u8 trainerType; diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 2595448808..6abd2c7e31 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1317,7 +1317,6 @@ static u8 InitObjectEventStateFromTemplate(const struct ObjectEventTemplate *tem y = template->y + MAP_OFFSET; objectEvent->active = TRUE; objectEvent->triggerGroundEffectsOnMove = TRUE; - objectEvent->expanded = TRUE; objectEvent->graphicsId = PackGraphicsId(template); if (objectEvent->graphicsId >= OBJ_EVENT_GFX_MON_BASE) { if (template->script && template->script[0] == 0x7d) diff --git a/src/load_save.c b/src/load_save.c index 07da625014..f071cdb827 100644 --- a/src/load_save.c +++ b/src/load_save.c @@ -190,6 +190,7 @@ void SaveObjectEvents(void) // since the lower graphicsIds will be in the same place as vanilla graphicsId = gObjectEvents[i].graphicsId; gSaveBlock1Ptr->objectEvents[i].graphicsId = (graphicsId >> 8) | (graphicsId << 8); + gSaveBlock1Ptr->objectEvents[i].spriteId = 127; // magic number // To avoid crash on vanilla, save follower as inactive if (gObjectEvents[i].localId == OBJ_EVENT_ID_FOLLOWER) gSaveBlock1Ptr->objectEvents[i].active = FALSE; @@ -208,8 +209,9 @@ void LoadObjectEvents(void) // since the lower graphicsIds will be in the same place as vanilla graphicsId = gObjectEvents[i].graphicsId; gObjectEvents[i].graphicsId = (graphicsId >> 8) | (graphicsId << 8); - if (!gObjectEvents[i].expanded) + if (gObjectEvents[i].spriteId != 127) gObjectEvents[i].graphicsId &= 0xFF; + gObjectEvents[i].spriteId = 0; // Try to restore saved inactive follower if (gObjectEvents[i].localId == OBJ_EVENT_ID_FOLLOWER && !gObjectEvents[i].active &&