Opened 18 years ago

Closed 17 years ago

#257 closed defect (fixed)

ZAK256: missing markings

Reported by: SF/logicdeluxe Owned by: SF/ender
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: Zak McKracken

Description

Built on May 13 2002 18:33:48 win
Inside the Mars face there are no markings on the
statue which are required for the yellow crystal. Also
the Sphinx markings are missing in the map room. They
appear just like on the Sphinx itself, befor you used
the cryon on them.

Ticket imported from: #555651. Ticket imported from: bugs/257.

Attachments (1)

zak256.s05 (35.0 KB ) - added by SF/logicdeluxe 18 years ago.

Download all attachments as: .zip

Change History (15)

by SF/logicdeluxe, 18 years ago

Attachment: zak256.s05 added

comment:1 by SF/ender, 17 years ago

Um, it looks okay to me, with your save and the latest CVS.
Unless it's supposed to actually have a drawing there? It's
been so long since I played original Zak I can't recall :)

comment:2 by SF/ender, 17 years ago

Owner: set to SF/ender

comment:3 by SF/inguin, 17 years ago

Yes, it IS supposed to have a drawing. Zak has to redraw it in
the center of the pyramid in Mexico in order to free the yellow
crystal shard.

comment:4 by SF/vvs, 17 years ago

This is apparently because random number generator is not
working in Zak for some reason. All puzzles are at their
initial state without any randomness. You can play it
several times and still get the same puzzles every time
(like TPC phone number, markings puzzles, buttons
combinations, winning lotto numbers etc.)

comment:5 by fingolfin, 17 years ago

Interesting. Note that o5_getRandomNr is being called and
returns random results, as desired.

However I don't quite see how this would reduce the observed
effects. If the numbers were not really random, there should
still be a drawing (always the same one), shouldn't it?

comment:6 by SF/vvs, 17 years ago

Yes o5_getRandomNr is working, but it doesn't matter.
After looking at original SCUMM (Maniac Mansion) I noticed
that random seeds got updated every run of game loop and
also when called from scripts, while in ScummVM it gets
updated only when called from scripts. So, as the scripts
call getRandomNumber at the same point, usually in the
beginning to initialize its internal variables, the pseudo
random numbers in ScummVM are completely predictable and
will be the same every time game starts. I've patched
ScummVM so, that getRandomNumber(255) get called every run
of game loop and the results now look sufficiently random as
intended. But you are right, there are still no drawings :-(
Also, RNG logic in ScummVM looks pretty suspicious to me.
Why _randSeed2 was initialized but never used there?

comment:7 by fingolfin, 17 years ago

Adding a call to getRandomNumber every time we go thru the
run loop sure is no problem. Will do that.

As to _randSeed2 not being used: that's just fine. The var
is only there from when it was used for the reversed
engineered random number generator. However, our current RNG
is actually better than the old one even though it uses less
state date (better in the sense of a standard chi square
test, the PRNG used in Monkey Island for example is very weak).

However, all of this leaves the original problem open: no
drawings are visible. I am 99% sure that this is not caused
by the random number generator.

comment:8 by SF/ender, 17 years ago

I'm waiting for Yot to be free to hopefully help with this one.

comment:9 by SF/khalek, 17 years ago

with latest cvs I can see markings on the statue from the
save game, not sure its the correct behaviour as I've never
played through zak before

comment:10 by SF/inguin, 17 years ago

Hm, I still can't. :-(
Do you only see that there are markings or did you actually try to
read them? It is supposed to have a pattern of several lines on it.

comment:11 by SF/khalek, 17 years ago

yes I've been told there are supposed to be more than dots
sorry for getting your hopes up that this might have been
fixed already

comment:12 by SF/inguin, 17 years ago

Wow, we're so damn stupid (must be the influence of the
Caponian device):
Just because there's nothing to see at the drawings doesn't
mean we can't copy them to their respective destinations. Just
use the yellow crayon on it, don't draw any lines and click
"Finished drawing".
Of course that's not the way it's supposed to be, but at least it's
possible to finish the game.

comment:13 by SF/ender, 17 years ago

Resolution: fixed
Status: newclosed

comment:14 by SF/ender, 17 years ago

Oh, I always knew it would still work - thats why Zak is labeled as
completable :)

In any case, yot has spent much time finding the really odd cause of this
bug (caused by some really odd stuff in Zaks engine), and the fix will be in
CVS sometime in the next few hours.

So after months of searching, we can finally declare this case... closed!

Note: See TracTickets for help on using tickets.