Opened 4 years ago

Closed 4 years ago

#7000 closed defect (fixed)

Touche : Regression in money system

Reported by: SF/albadross Owned by: wjp
Priority: normal Component: Engine: Touche
Keywords: Cc:
Game: Touché: The Adventures of the Fifth Musketeer

Description

ScummVM version : 1.8.0git6200-g5afdf32 (Jan 18 2016 04:08:31)
Language : English (downloaded from ScummVM website)
Windows 7 Ultimate 64-bit

I have been running this gane using a recent git version and have run into problems with the money system. I realised I had problems when I could not buy the ornamental cathedral despite having 25 francs, I replayed the game with a walkthrough to check I had made no mistakes - same result. But I knew this game had been around a long time without complaint so I tried again with an earlier stable version 1.2.0 (random choice). This made me see that the git version no longer :

  1. deducts 10 francs for the beggar
  2. deducts everything for the innkeeper
  3. gives you a franc from the hole in the floorboard.

I am providing 3 savegames for each version of the program. The number in brackets is the number of francs you have at that point.

  1. touche.62 - 1.2.0 - Outside tavern (15)
  2. touche.63 - 1.2.0 - In the bedroom (0)
  3. touche.64 - 1.2.0 - About to leave the bedroom (1)
  4. touche.65 - 1.8.0 git - Outside tavern (25)
  5. touche.66 - 1.8.0 git - In the bedroom (25)
  6. touche.67 - 1.8.0 git - About to leave the bedroom (25)

Ticket imported from: bugs/7000.

Attachments (7)

touche.62 (4.7 KB) - added by SF/albadross 4 years ago.
touche.63 (3.4 KB) - added by SF/albadross 4 years ago.
touche.64 (3.4 KB) - added by SF/albadross 4 years ago.
touche.65 (4.7 KB) - added by SF/albadross 4 years ago.
touche.66 (3.4 KB) - added by SF/albadross 4 years ago.
touche.67 (3.4 KB) - added by SF/albadross 4 years ago.
touche.68 (3.9 KB) - added by SF/albadross 4 years ago.

Download all attachments as: .zip

Change History (11)

Changed 4 years ago by SF/albadross

Attachment: touche.67 added

Changed 4 years ago by SF/albadross

Attachment: touche.68 added

comment:1 Changed 4 years ago by SF/albadross

Having continued with the one franc (savegame 64 from 1.2.0) but using the git version instead, you still cannot buy the ornament.

I am including a savegame just before you buy the ornament, The old stable version allows you to buy it.

For now, I shall try to complete the game using the old version only

comment:2 Changed 4 years ago by wjp

I'm suspecting 9d2cc7ce84107d93d56371e8266cbe2193a7923b.

Before that, KeyChar::inventoryItems used to have 4 items, but inventoryItems[4] was accessed in a money-related function. The variable KeyChar::money was stored right behind inventoryItems.

That commit changed the size of inventoryItems to 5, so removing this (accidental?) aliasing.

comment:3 Changed 4 years ago by wjp

Thank you for the detailed bug report, by the way.

comment:4 Changed 4 years ago by wjp

It looks like the asserts in the inventory access opcodes meant to prevent this are broken too.

comment:5 Changed 4 years ago by SF/albadross

As you might have expected, I did get to the end of the game with version 1.2.0.

But if you can sort the problem out, I am happy to test a new version (at least, the start up to buying the junk).

comment:6 Changed 4 years ago by wjp

This should be fixed now.

comment:7 Changed 4 years ago by SF/albadross

Tested fix (up to and including buying the junk) - worked as it should

comment:8 Changed 4 years ago by wjp

Thank you for verifying.

comment:9 Changed 4 years ago by wjp

Owner: set to wjp
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.