Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#6729 closed defect (fixed)

SCI32: GK1 - Can not give Clay Mold to Sam

Reported by: SF/ruehmann Owned by: bluegr
Priority: normal Component: Engine: SCI
Version: Keywords:
Cc: Game:

Description

Can´t give Clay Mold to Sam In Gabriel Knight 1 Scummvm ScummVM 1.8.0git739-gccdb9c8 (Sep 12 2014 01:58:36) Features compiled in: TAINTED Vorbis FLAC MP3 ALSA SEQ TiMidity RGB zLib FluidSynth Theora FreeType2 JPEG PNG Linux Kubuntu 14.04 LTS Gabriel Knight 1 CD (DOS/English)

Ticket imported from: bugs/6729.

Attachments (3)

gk1-cd.007 (61.5 KB ) - added by SF/ruehmann 10 years ago.
scummvm00000.png (29.0 KB ) - added by digitall 10 years ago.
scummvm00001.png (30.6 KB ) - added by digitall 10 years ago.

Download all attachments as: .zip

Change History (18)

by SF/ruehmann, 10 years ago

Attachment: gk1-cd.007 added

comment:1 by digitall, 10 years ago

Summary: Can´t give Clay Mold to Sam In Gabriel Knight 1SCI32: GK1 - Can not give Clay Mold to Sam

comment:2 by digitall, 10 years ago

Replicated here. The issue appears to be that the "reconstructed veve" which is the cross hair target object to the left of the clay mold in the inventory has a problem.

The "hit box" for it extends over the clay mold, the inventory window thumb and off to the right. It appears that it's end x coordinate is incorrectly very large or it's width and this is the cause of the issue seen.

by digitall, 10 years ago

Attachment: scummvm00000.png added

comment:3 by digitall, 10 years ago

Debugger can be brought up with CTRL-SHIFT-d. Using this to show planes (pl) and then show the items on the inventory window plane (pi) gives the following.

Contrast the bounding box for the inventory window in scummvm00001.png with the zero values for the items in scummvm00000.png. Not familar with internals of SCI engine enough to follow if this is critical, but will try to work through this.

by digitall, 10 years ago

Attachment: scummvm00001.png added

comment:4 by digitall, 10 years ago

The "good" co-ordinates of the invselect slider for comparison...

comment:5 by digitall, 10 years ago

AH, my conclusion earlier was wrong. The issue is not bounding box, but that the clay plane item just fails to have a hit box... clicking on it gets the item that the mouse last clicked on / was over. :/

comment:6 by digitall, 10 years ago

The same behaviour is seen with this savegame in v1.7.0. Can't load this savegame in v1.6.0 as the savegame version is 31 and v1.6.0 SCI32 supports version 30 at maximum.

comment:7 by SF/mthreepwood, 10 years ago

Just to be clear: You did see I pointed out the regression point in the forum post, right?

But, as said there, the entire code needs to be rewritten. The current SCI32 graphics code is hack upon hack. The real fix for this bug is to RE the code.

comment:8 by digitall, 10 years ago

You indicated several commits, but I assume you mean this one? https://github.com/scummvm/scummvm/commit/13ec242a2c5f832e2cfcce47ff1d0085002b2bb6

I agree that RE and a full cleanup / rewrite is needed, but wondered if we could restore GK1 DOS CD to a completable state in the meantime.

Could that hack in 13ec242a2c5f832e2cfcce47ff1d0085002b2bb6 be limited to GID_QFG4 thus restoring function in GK1?

comment:9 by SF/mthreepwood, 10 years ago

Yes, that's the one I labeled as "broken".

IMO, there's no point in returning it to a completable state if it's all hacked together code.

comment:10 by bluegr, 10 years ago

Owner: set to bluegr
Resolution: fixed
Status: newclosed

comment:11 by bluegr, 10 years ago

Fixed in commit ade33c4c0b, by extending the check for all cases in GK1, as it was before.

comment:12 by SF/xaraks, 10 years ago

Sorry to bother: It still doesn't work for me with daily build and provided savegame? In detail operating the Clay Mold in any way doesn't work.

comment:13 by SF/mthreepwood, 10 years ago

The keyword in "daily build" is "daily". Wait until the next one.

comment:14 by SF/xaraks, 10 years ago

didn't think about possible timezone differences - my bad.

comment:15 by m-kiewitz, 10 years ago

Component: Engine: SCI
Note: See TracTickets for help on using tickets.