Opened 16 years ago

Closed 16 years ago

Last modified 16 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
Keywords: script Cc:
Game: Loom

Description

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, 16 years ago

I think erik fixed this last night.

comment:2 by fingolfin, 16 years ago

Owner: set to eriktorbjorn

comment:3 by eriktorbjorn, 16 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, 16 years ago

I assume this can be closed then?

comment:5 by eriktorbjorn, 16 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, 16 years ago

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