Hi Bas,
On Sat, 23 Jun 2001, Bas Zoetekouw wrote:
> > > - after the copyprotection screen, one tone is continuously played.
> > > There is no background music.
>
> Hmmpf, when I tried again, I couldn't reproduce it. Weird.
> [some minutes later]
> Well, weird indeed. I can reproduce, but it does not happen any time I
> try. It seems to have to do with the tone that was being played when I
> press enter. There seem to be three cases: (1) the music stops at once after
> entering the copyprotection name; (2) a low tone is played, but fades
> out after a few seconds; (3) a somewhat higher tone is being
> continuously played.
I guess that all of these could be resolved if we'd just stop all music
when the RestartGame() call is invoked (which happens in PQ2 if you pass
the copy protection. IIRC it's also available from the debug console and
could be used to bypass the copy protection screen...
RestartGame() not doing this is now bug #216.
> There is still no bg music during the game though, but that might be
> normal. I'll check that with sierra's sciv in a minute.
I don't think the early SCI games had music playing continuously. It's not
an architectural limitation or something like this, though- it just seems
that the later games had a more complete soundtrack (which, in some cases,
consisted just of 'background noises' (birds chirping etc.)).
[Looping score chime]
> Something I just noticed: when the chime is continuously playing and I
> press F2 to turn of the sound, just the volume reduces. I have to press
> F2 once again to turn off the sound. In the beginning (before I've had
> any point chimes), and the bg music is playing (see below), I can turn
> off the music by just pressing F2 once.
The fact that the sound is turned off completely when pressing F2 the
second time deserves some explanation: Each keypress, excluding the
hardwired debug console activation hotkeys, is interpreted by Sierra's
scripts. I assume that, if F2 is used to resume sound output, they just
check their list of songs and either issue a 'sound off' or start playing
the song with the highest priority (here, 'song' refers to sound effects,
point chimes, and background music alike).
F2 not working initially is now known as bug #215.
> > > - in the action menu, "fire gun" has hot key "F0" (should be "F10")
> >
> > Yes. Weird- I know I fixed this one a while ago.
>
> Well, I'm using 0.3.2a, so it might already have been fixed in cvs.
I know I fixed this well over a year ago. But maybe this is a different
case, or my memory's playing tricks on me...
> > > - cannot save game at the beginning (before entering homicide office):
> > > i get a disk full error. Lateron in the game i am able to save.
> >
> > Weird again. I don't have any idea what this could be; will require
> > further debugging. It works fine here...
>
> I can't reproduce this one any more :(
FreeSCI checks disk space by trying to create a 1 MB file (which is about
four times of what it usually needs), in case you're wondering.
> > There was a computer in that game? =-)
>
> Jup, on the desk between Sonny's and Keith's, somewhat in front of both.
> The passwords are on the chief's desk.
Ah! Thanks!
Doesn't appear to do tab completion, though. Oh well...
> > > - crash when arriving at the mall (savegame "4"):
> > > GFX Error: sci_view_0.c, gfxr_draw_cel0() L101:View 55:(0/0) writes RLE data
>over its designated end at rel. offset 0x0190
> >
> > This is either heap corruption or a broken resource. This might also
> > affect playing in DOS, but it depends on where Sierra SCI retreives that
> > particular resource from
>
> Ah. I just tried the version from the original Sierra PQ collectors
> series cdrom, and that one works a lot better. The background music does
> play now. At least, until the first points chime is played. After the
> chime, the music doesn't come back up. I would guess that this is a bug
> in the "chime play routine" (is there such a thing?)
In SCI0, all sound is equal. I don't know if explaining this will be of
any practical value, but it might clear up a few things: Songs (which
encompass all kinds of sound output, as explained above) consist of a
five-tuple (number, loop, priority, state, signal), at least as far as
the SCI kernel is concerned. Any song object contains this information,
plus some additional stuff which is only relevant for 'user space' (the
interpreted scripts). When SCI scripts want to play a song, they
instantiate a 'Song' object, fill in these five fields (or leave them at
the default values), and pass the object to a kernel function which first
initializes the song in the sound server, and then instructs the sound
server to play it. After this, the scripts rely on the sound server to
provide information about changes in the song state asynchronously. The
asynchronity causes the feared SQ3 pod door bug, but it's unlikely to
cause a problem here- it is much more probable that we're getting the
semantics of 'loop' wrong.
Different theory- maybe we're not supposed to _write_ to it at all? This
would certainly help with the PQ2 point chime problem...
> After restoring in the jail scene, I now get an error when I try to
> walk to the right:
> FSCI: write_selector: Warning (kscripts.c L57): Selector 'completed' of object at
>b402 could not be written to (kgraphics.c L779)
Sounds like a mover object without 'completed'. Is fatal (i.e. does it
dump you to the debug console), or is it just a warning?
> When I restore the game just before arriving at the mall, I now get:
> Send to invalid selector 0x101 of object at 0xabd0
> pc=08b2 acc=abd0 o=0fb2 fp=5f02 sp=5f0c
> prev=d sbase=5ed0 globls=209e &restmod=0
> Step #2426050
> 08b2: [W] send 06
> rm67::keep[INVALID](0096)
> But this might just be an incompatibily between the two PQ versions (see
> below), since the game also crashes after I restore other savegames from
> the old version in the new version.
This is quite likely.
> I'll try playing the new version from the beginning, and see if I get a
> crash at the mall then.
OK, thanks!
> > You can check this by starting up in debug mode (`sciv -D pq`) and issuing
> > the command 'gfx_draw_cel 55 0 0'. If you get the same error, it's a
> > corrupted resource file with a very high certainty.
>
> I don't get the error in either version. However, in Sierra's original version,
> there is an American flag drawn, in my old version, it isn't.
You should still get at least some of the error messages. Still, decoding
is done per-loop (IIRC), so 'gfx_draw_cel 55 x 0' for some x > 0 might
trigger it. Gettting to the Mall should show the problem, too, of
course...
(note that it draws an American flag for mee, too. Graphics drivers other
than GGI might require extra refreshing for the flag to be seen, though.)
> > Which version of PQ2 and Sierra's interpreter are you using? (PQ2 version
> > is available from the menu, the interpreter version can be obtained by
> > running `strings <x> | grep 000`, where <x> is the name of the binary
> > executable interpreter shipped with the game (typically sciv.exe or
> > SCIV.EXE).
>
> Old version: PQ=1.001.000, sierra.exe=0.000.395
That's a pretty old interpreter version...
> Original cd version: PQ=1.002.011, sciv.exe=0.000.490
It's entirely possible that some other problems from the old version will
be gone or different. Any versionning issues you come across could be very
valuable to us.
> I hope htis helps.
Thanks for your bug reports! Sorry that I didn't reply any sooner...
> BTW: yesterday I uploaded a new freesci package to Debian. It's just
> 0.3.2a with the gcc 3.0 patch and some Debian specific changes
> (corrected (build)dependencies and achitectures).
OK, thanks! Does woody/sid now build with gcc-3.0 by default? My
'sid' installation still seems to use something labelled as '2.97',
despite the official gcc-3.0 being installed (and available as 'gcc-3.0').
BTW: The current semester will be over in three weeks; I'm hoping to do
some actual work (bug fixing, improving my reply latency etc.) then...
llap,
Christoph