Fixed puzzles and keys; Fixed bug with floor and ceiling trapdoors;

This commit is contained in:
Montagna Marco 2020-04-13 06:49:05 +02:00
parent cae57bda59
commit c0eaab7018
2 changed files with 8 additions and 8 deletions

View file

@ -1716,7 +1716,7 @@ void CalculateCamera()
if (Camera.type if (Camera.type
&& Camera.flags != CHASE_OBJECT && Camera.flags != CHASE_OBJECT
&& (SniperCamActive = Camera.fixed[Camera.number].flags & 3, Camera.fixed[Camera.number].flags & 2)) && (Camera.number != -1 &&(SniperCamActive = Camera.fixed[Camera.number].flags & 3, Camera.fixed[Camera.number].flags & 2)))
{ {
PHD_VECTOR pos; PHD_VECTOR pos;
pos.x = 0; pos.x = 0;

View file

@ -597,12 +597,12 @@ void PuzzleHoleCollision(short itemNum, ITEM_INFO* l, COLL_INFO* coll)
{ {
if (g_Inventory->GetSelectedObject() == NO_ITEM) if (g_Inventory->GetSelectedObject() == NO_ITEM)
{ {
if (g_Inventory->IsObjectPresentInInventory(item->objectNumber - 70)) if (g_Inventory->IsObjectPresentInInventory(item->objectNumber - (ID_PUZZLE_HOLE1 - ID_PUZZLE_ITEM1)))
g_Inventory->SetEnterObject(item->objectNumber - 70); g_Inventory->SetEnterObject(item->objectNumber - (ID_PUZZLE_HOLE1 - ID_PUZZLE_ITEM1));
item->pos.yRot = oldYrot; item->pos.yRot = oldYrot;
return; return;
} }
if (g_Inventory->GetSelectedObject() != item->objectNumber - 70) if (g_Inventory->GetSelectedObject() != item->objectNumber - (ID_PUZZLE_HOLE1 - ID_PUZZLE_ITEM1))
{ {
item->pos.yRot = oldYrot; item->pos.yRot = oldYrot;
return; return;
@ -704,11 +704,11 @@ void KeyHoleCollision(short itemNum, ITEM_INFO* l, COLL_INFO* coll)
return; return;
if (g_Inventory->GetSelectedObject() == NO_ITEM) if (g_Inventory->GetSelectedObject() == NO_ITEM)
{ {
if (g_Inventory->IsObjectPresentInInventory(item->objectNumber - 62)) if (g_Inventory->IsObjectPresentInInventory(item->objectNumber - (ID_KEY_HOLE1 - ID_KEY_ITEM1)))
g_Inventory->SetEnterObject(item->objectNumber - 62); g_Inventory->SetEnterObject(item->objectNumber - (ID_KEY_HOLE1 - ID_KEY_ITEM1));
return; return;
} }
if (g_Inventory->GetSelectedObject() != item->objectNumber - 62) if (g_Inventory->GetSelectedObject() != item->objectNumber - (ID_KEY_HOLE1 - ID_KEY_ITEM1))
return; return;
} }
@ -1374,7 +1374,7 @@ short* FindPlinth(ITEM_INFO* item)
void PuzzleDone(ITEM_INFO* item, short itemNum) void PuzzleDone(ITEM_INFO* item, short itemNum)
{ {
item->objectNumber += 8; item->objectNumber += (ID_PUZZLE_DONE1 - ID_PUZZLE_HOLE1);
item->animNumber = Objects[item->objectNumber].animIndex; item->animNumber = Objects[item->objectNumber].animIndex;
item->frameNumber = Anims[item->animNumber].frameBase; item->frameNumber = Anims[item->animNumber].frameBase;
item->requiredAnimState = 0; item->requiredAnimState = 0;