diff --git a/src/game/carrier.c b/src/game/carrier.c index 3916b8fed..f5ab51114 100644 --- a/src/game/carrier.c +++ b/src/game/carrier.c @@ -286,6 +286,7 @@ static void Carrier_AnimateDrop(CARRIED_ITEM *item) // Track animating status in the carrier for saving/loading. item->pos = pickup->pos; + item->rot = pickup->rot; item->room_number = pickup->room_number; item->fall_speed = pickup->fall_speed; } diff --git a/src/game/items.c b/src/game/items.c index ee6b1e35b..656da5634 100644 --- a/src/game/items.c +++ b/src/game/items.c @@ -313,6 +313,7 @@ int16_t Item_Spawn(ITEM_INFO *item, int16_t object_num) spawn->object_number = object_num; spawn->room_number = item->room_number; spawn->pos = item->pos; + spawn->rot = item->rot; Item_Initialise(spawn_num); spawn->status = IS_NOT_ACTIVE; spawn->shade = 4096; diff --git a/src/game/objects/traps/dart.c b/src/game/objects/traps/dart.c index fe9220c79..340b6e2a3 100644 --- a/src/game/objects/traps/dart.c +++ b/src/game/objects/traps/dart.c @@ -143,6 +143,7 @@ void DartEmitter_Control(int16_t item_num) if (fx_num != NO_ITEM) { FX_INFO *fx = &g_Effects[fx_num]; fx->pos = dart->pos; + fx->rot = dart->rot; fx->speed = 0; fx->frame_number = 0; fx->counter = 0; diff --git a/src/game/objects/traps/thors_hammer.c b/src/game/objects/traps/thors_hammer.c index 0c4a52113..8af2f8aa2 100644 --- a/src/game/objects/traps/thors_hammer.c +++ b/src/game/objects/traps/thors_hammer.c @@ -42,6 +42,7 @@ void ThorsHandle_Initialise(int16_t item_num) head_item->object_number = O_THORS_HEAD; head_item->room_number = hand_item->room_number; head_item->pos = hand_item->pos; + head_item->rot = hand_item->rot; head_item->shade = hand_item->shade; Item_Initialise(head_item_num); hand_item->data = head_item;