This commit is contained in:
Woops 2020-06-20 06:35:13 -05:00
parent 040df20441
commit 52b5cc7472

View file

@ -738,8 +738,8 @@ void KeyHoleCollision(short itemNum, ITEM_INFO* l, COLL_INFO* coll)
void do_pickup() void do_pickup()
{ {
pickupitem = (short)Lara.generalPtr;
ITEM_INFO* item = &Items[pickupitem]; ITEM_INFO* item = &Items[pickupitem];
pickupitem = item->objectNumber;
short oldXrot = item->pos.xRot; short oldXrot = item->pos.xRot;
short oldYrot = item->pos.yRot; short oldYrot = item->pos.yRot;
short oldZrot = item->pos.zRot; short oldZrot = item->pos.zRot;
@ -782,12 +782,13 @@ void do_pickup()
InitialiseNewWeapon(); InitialiseNewWeapon();
Lara.gunStatus = LG_SPECIAL; Lara.gunStatus = LG_SPECIAL;
Lara.flareAge = (short)(item->data) & 0x7FFF; Lara.flareAge = (short)(item->data) & 0x7FFF;
KillItem(pickupitem);
return; return;
} }
} }
else else
{ {
if (LaraItem->animNumber == ANIMATION_LARA_UNDERWATER_PICKUP) if (LaraItem->animNumber == ANIMATION_LARA_UNDERWATER_PICKUP)//dirty but what can I do, it uses the same state
{ {
AddDisplayPickup(item->objectNumber); AddDisplayPickup(item->objectNumber);
if (!(item->triggerFlags & 0xC0)) if (!(item->triggerFlags & 0xC0))
@ -807,7 +808,7 @@ void do_pickup()
} }
else else
{ {
if (LaraItem->animNumber == ANIMATION_LARA_PICKUP) if (LaraItem->currentAnimState == STATE_LARA_PICKUP || LaraItem->currentAnimState == STATE_LARA_PICKUP_FROM_CHEST)
{ {
AddDisplayPickup(item->objectNumber); AddDisplayPickup(item->objectNumber);
if (item->triggerFlags & 0x100) if (item->triggerFlags & 0x100)