Opened 21 years ago

Closed 21 years ago

Last modified 21 years ago

#894 closed defect (fixed)

LOOM: regression: cannot get note 'f'; game uncompletable

Reported by: SF/lord_nightmare Owned by: eriktorbjorn
Priority: normal Component: Engine: SCUMM
Version: Keywords: script
Cc: Game: Loom


Loom Floppy(EGA): Getting note 'f' on loom island no longer works, as it supposedly did in previous versions. This makes the waterspout impassable, as it cannot be untwisted without that note. If I use the 'drafts learn' cheat from the debugger, I can get past that point and from then on gaining notes seems to work (I gain note 'g' when reaching the shore past the waterspout, which makes me LOSE all the higher notes I cheated to earn).

Using latest CVS, as always.

Lord Nightmare

Ticket imported from: #755208. Ticket imported from: bugs/894.

Change History (6)

comment:1 by fingolfin, 21 years ago

I think erik fixed this last night.

comment:2 by fingolfin, 21 years ago

Owner: set to eriktorbjorn

comment:3 by eriktorbjorn, 21 years ago

This morning, actually. The patch is not yet visible in the backup CVS tree that SourceForge's "viewcvs" pages use, but I guess it will be soon.

The problem was that the variable which is used to indicate if the player has already learned the fourth note (and possible for other things as well) is also used at the beginning to indicate that the user has entered the wrong code on the copy protection screen.

We used to bypass the copy protection by intercepting the reading of that variable, but that didn't stop it from being written. I've devised a new bypassing method which I hope will be much safer.

Your old savegame is hosed, of course, but fortunately this happens early in the game. Please let me know if it works if you start from the beginning.

In case anyone is curious, the condition for learning the fourth note when making the lightning strike the tree seems to be that you have successfully used both the "straw to gold" and the "dyeing" drafts at least once, and that this is the first time you use the "opening" draft. (This is possible since you don't have to use the opening draft on the egg yourself.)

And that the mysterious bit 15 is not set. Come to think of it, it's quite possible that this was a deliberate feature of the "demo" mode that you get if you enter the wrong code too many times. In that case, the new bypassing mechanism is needlessly complicated. I'll have to update the comment to mention that.

I imagine the conditions are similar when "dyeing" or "straw to gold" are the last of the three drafts you use, but I never bothered to verify this. The game appears (correctly, in my opinion) to consider the "emptying" draft as purely optional.

comment:4 by SF/ender, 21 years ago

I assume this can be closed then?

comment:5 by eriktorbjorn, 21 years ago

After some consideration, I've put back the old bypassing code, slightly modified. If it turns out the variable is used for more than just demo mode, we'll just have to deal with those regressions later.

This way, old savegames will still work.

comment:6 by eriktorbjorn, 21 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.