Opened 4 years ago

Closed 3 years ago

Last modified 3 years ago

#11640 closed defect (fixed)

SCI: SQ6: Not possible to take the pil and the gallstones

Reported by: Alien-Grey Owned by: sluicebox
Priority: normal Component: Engine: SCI
Version: Keywords: original
Cc: Alien-Grey Game: Space Quest 6


For some reason it isn't possible to take the pil and the gallstones. It's possible that I run in to these bugs because I already used the feather.

This also seems to be an issue with the original game executable. here's a post about this bug:!topic/

I'm using Windows 10 with ScummVM version 2.1.2

Attachments (4)

sq6.003 (60.2 KB ) - added by Alien-Grey 4 years ago.
sq6.004 (59.7 KB ) - added by Alien-Grey 4 years ago.
sq6.007 (63.3 KB ) - added by Alien-Grey 4 years ago.
sq6.020 (61.0 KB ) - added by Alien-Grey 3 years ago.

Download all attachments as: .zip

Change History (23)

by Alien-Grey, 4 years ago

Attachment: sq6.003 added

by Alien-Grey, 4 years ago

Attachment: sq6.004 added

comment:1 by bluegr, 4 years ago

Sounds like a script bug, which depends on the order you perform some actions. Check this thread:

comment:2 by sev-, 4 years ago

Priority: blockernormal
Summary: Not possible to take the pil and the gallstonesSCI: SQ6: Not possible to take the pil and the gallstones

in reply to:  1 comment:3 by Alien-Grey, 4 years ago

Replying to bluegr:

Sounds like a script bug, which depends on the order you perform some actions. Check this thread:

It's the same bug. I'm also using Space Quest 6 version 1.0 but I don't know if this makes any difference when playing it with ScummVM.

by Alien-Grey, 4 years ago

Attachment: sq6.007 added

comment:4 by Alien-Grey, 4 years ago

Added an other game save state that can't be loaded any more and opens the console with an error message.

This game save state is right after the ship lands in the body of Stellar.

comment:5 by sluicebox, 4 years ago

Wow, that's an impassioned bug report from 1995.

The Do icon is in a messed up state, it's unrelated to the specific items. You can't pick up anything because you can't click Do on anything. The Do icon thinks it's the "Exit South" icon, implying that something went wrong with one of the southern exits in the stomach. Normally, when the Walk icon is over an exit, the code temporarily switches it to the right Exit verb, so that's my prime suspect for where things went wrong, but I don't know why it broke.

As a workaround, you can fix the icon by bringing up the ScummVM debugger and entering:

send doIcon2 message 4

If you remember where you were when or before Do stopped working that could help narrow it down. I think it involved an Exit South cursor and these are the stomach rooms with those:

rm610 first room in the stomach
rm640 tube with tablet, twinkie
rm650 top green room
rm660 bottom green room

If you have a save game at the very beginning of the stomach section of the game that would be a big help for when I eventually try to reproduce this. I don't have any SQ6 save games and I don't want to play through it.

(I don't know what's going on with that last save, it loads fine for me.)

comment:6 by sluicebox, 4 years ago

Update: I don't need any save games, it's fine. And that last save game errors when loading from ScummVM launcher but not when loading within the game. Could you please make a separate bug report for that? Any details on that would be helpful.

comment:7 by Alien-Grey, 4 years ago

I think that i ran in to this bug because I did not take the pil before I used the feather. I'm not sure but I think I couldn't take the gallstones because I went the other way (right) first. I didn't use the item to clear the path to go further.

I thought the last game save state would be important because it's right before leaving the ship on the stomach. If it isn't related to this bug than I will open a new ticket for it.

Last edited 4 years ago by Alien-Grey (previous) (diff)

comment:8 by sluicebox, 4 years ago

I tried some stuff and couldn't reproduce what causes the bug, but I'm not a SQ6 expert, so here are steps for how you can use the debugger to figure out exactly where things go wrong with the Do icon. It would be great if we can figure this out before the upcoming 2.2.0 release, but we'll get there either way.

You can enter a command in the ScummVM debugger so that it will pop it up as soon as the Do icon breaks. How you open the debugger depends on your ScummVM version. If you're using release version 2.1.2 then it's CTRL+SHIFT+D. If you're using a newer development build then it's customizable. Go to Options \ Keymaps to see what the shortcut is for "Open Debugger". Once you've opened the debugger, type the following and press enter (capitalization matters):

bpw doIcon2::message

You can then dismiss the debugger with ESC or by typing "exit". You can verify that your breakpoint still exists with the "bl" command. If it's gone (maybe you returned to launcher) then just type the above command again to recreate it.

If the debugger pops up while playing then you've tripped the bug! Type "bt" and screenshot the results and post it here along with what you did. (It might take multiple screenshots if you have to scroll to get all the text.) That might be enough information right there. Ultimately we want to know what actions to take to reliably trip this so you can restore to an earlier point try again, and if you figure it out then you can post a save right before with the steps to reproduce.

Your last save is very helpful, but that error when loading it from the launcher is almost certainly a different bug.

Last edited 4 years ago by sluicebox (previous) (diff)

comment:9 by Alien-Grey, 4 years ago

I did try to replicate it but didn't succeed.

However I did find something else. When bpw doIcon2::message is active the game save state that triggers an error just loads fine.

comment:10 by Alien-Grey, 3 years ago

Now that I've got a better understanding what is going with this bug. I think it's safe to say that it happened between using the pump with the pool of bile and exit the area.

Off topic: Is there a way to easily see all space quest 6 tickets? The reason I'm asking this is because there's also a walk/crawl bug in the stomach area just like in the space shuttle entrance area. If it isn't already reported than I'm going to have to open a new ticket for this.

Edit: I was wrong and I did find the way to show all the Space Quest 6 bugs reported. Obviously the search button isn't much of a help. But clicking on the space quest 6 link in the OP is.

Last edited 3 years ago by Alien-Grey (previous) (diff)

comment:11 by Alien-Grey, 3 years ago

I made some progress yesterday and I did fine the spot where this bugs happens. Unfortunately this only happens randomly and I did not get the debugger to pop up when it happens.

It happens after Roger uses the hook to climb out of the stomach. If you can't interact (use the hand) any more with the piece of cake that is stuck there than you know you run in to this bug. It takes multiple attempts to trigger this bug.

I'm starting from loading game save sq6.007 (can only be loaded when the debugger is active and only after loading a different game save state first).

comment:12 by sluicebox, 3 years ago

We're closing in! Great job narrowing that down, I will take a look tomorrow.

I've figured out the bug that's causing the corrupt save games in the cockpit. I can reproduce it from scratch, I've found where Sierra fixed it in later versions, and I've written a patch to backport that fix to 1.0. (which is also the one GOG sells)

All of this involves cursors and it's very possible that the cockpit bug is part of the chain that leads to Do breaking. Thanks to you narrowing that down, I should be able to confirm that soon.

To search the bug tracker for SQ6, you want to make a query where game=SQ6 and bookmark that link. Or, use one of the existing SCI queries (reports) and just sort on the Game column.

This is the query I made and use for all SCI stuff, it's effectively my entire interface into the tracker since I don't use notifications:

comment:13 by sluicebox, 3 years ago

Here's something that may be confusing things: The celery and the paperclip are programmed in a weird way that makes clicking on them work even when Do is broken. Nothing else in the game is written this way. This means that just because you can pick those two things up doesn't mean Do isn't already broken. The feather and candies are normal, so if you can pick them up then Do still works. (I would love to see the code comments as to why they wrote staple/celery that way, it's suspicious.)

I still can't reproduce this yet, but we're getting close. I bet the reason it seems random is that it depends on subtle things like which icons you select and when, along with when you mouse over exits. It's good news that we've narrowed it down to before the twinkie, because that's only five screens. I just need to trip it once and we'll have it. I know it's difficult upon breaking it to say "okay, what all did I click and how did I mouse in the last two minutes", so if you have a way to record yourself or something that could help. At this point I understand a lot of what's happening, there's just one missing link I don't see.

If you're unsure if Do is broken, you can query it by typing "vo doIcon2 message" into the debugger. If it prints a number other than 4 then it's broken.

I'm having fun chipping away at this, I hope you are to! Also, I'm on the scummvm discord channel if you ever want to chat or try stuff.

Last edited 3 years ago by sluicebox (previous) (diff)

comment:14 by Alien-Grey, 3 years ago

I could at least trigger this bug three times. I know Do is still working because I can pick the feather and one candy (red one). I try to pick a second candy. I don't throw the first one in the acid pool so I leave the other two pieces of candy just sit there.

I don't pick up any of the items around the space ship before I leave this area and go in to the stomach area.

When I do exit the stomach area I crawl a bit around the piece of cake and than try to interact with it.

One of my thought was that Do gets broken because of the crawl bug that also happens in this spot but it doesn't seem to trigger the Do bug.

by Alien-Grey, 3 years ago

Attachment: sq6.020 added

comment:15 by Alien-Grey, 3 years ago

I did find the bug and know exactly how to trigger it.

Download game save state sq6.020. Load it and click a few times with the feet icon (already in use when loading the game save state) on the top of the piece of cake. Now try to use the hand icon. Now Do no longer works for me every time.

comment:16 by sluicebox, 3 years ago

You did it!! I can now reproduce this, the breakpoint hits when I click Do. Thanks for the thorough bug hunting!

comment:17 by sluicebox, 3 years ago

Owner: set to sluicebox
Resolution: fixed
Status: newclosed

Fixed in: b6d8b7a1d95ebc728d43554f81e3240221c15a53

There are two unrelated script bugs here, though coincidentally they both involve the Walk cursor. They're both fixed now. I created a new ticket for the corrupt cockpit saves: #11673.

This bug occurs when an ExitFeature (the area that triggers an Exit cursor) overlaps with the icon bar, which in the twinkie room you can make happen by moving in a manner that scrolls the room so that they overlap. Then, select Walk, mouse over the bottom so that the cursor becomes Exit, then mouse from there directly over the icon bar and click an icon such as Hand. Do is now broken. You can also break Talk this way. This bug occurs in all versions.

Thanks again for tracking this down! Angry 1995 usenet poster is avenged.

Last edited 3 years ago by sluicebox (previous) (diff)

comment:18 by sluicebox, 3 years ago

Keywords: original added

comment:19 by Alien-Grey, 3 years ago

That's good news. All we need now is a Space Quest 3 vga remake and a Space Quest 5 voice pack. :D

Maybe all fan made games should also be compatible with ScummVM. Some of them already need fixes to be compatible with Windows 10 to get them to run. It won't be much longer now before they can no longer be played and will be lost.

Thanks for fixing the bugs.

Note: See TracTickets for help on using tickets.