TINSEL: Fix held items not in either inventory being lost

This commit is contained in:
Paul Gilbert 2018-04-20 22:27:33 -04:00
parent 030582af00
commit ea524fa792
2 changed files with 7 additions and 0 deletions

2
NEWS
View File

@ -28,6 +28,8 @@ For a more comprehensive changelog of the latest experimental code, see:
Tinsel:
- Fix loading Discworld 1 savegames from the launcher where Rincewind had a held item
- Script patch for hang in Discworld 1 GRA using items on Temple big hammer
- In Discworld 1, Held items being released that were never in the Luggage or Rincewind's inventory
will now be automatically dropped into the Luggage rather than being lost
Tucker:
- Fixed multiple graphic issues in Bud Tucker in Double Trouble.

View File

@ -1907,6 +1907,11 @@ extern void HoldItem(int item, bool bKeepFilm) {
invObj = GetInvObject(item);
SetAuxCursor(invObj->hIconFilm); // and is aux. cursor
}
// WORKAROUND: If a held item is being removed that's not in either inventory (i.e. it was picked up
// but never put in them), then when removing it from being held, drop it in the luggage
if (g_heldItem != INV_NOICON && InventoryPos(g_heldItem) == INV_HELDNOTIN)
AddToInventory(INV_1, g_heldItem);
}
g_heldItem = item; // Item held