Opened 9 years ago

Closed 9 years ago

Last modified 13 months ago

#5613 closed defect (fixed)

SCI32: KQ7 scrolling bug

Reported by: SF/vakons Owned by: bluegr
Priority: normal Component: Engine: SCI
Keywords: Cc:
Game: King's Quest 7

Description

I know that the game is not officially supported,
but there is a bug which appeared in v1.2.0svn52804 and can be fixed by making the things as in revision 52802.

In engines\sci\graphics\frameout.cpp, in IF operator:

// We get negative left in kq7 in scrolling rooms
if (it->planeRect.left < 0) {
it->planeOffsetX = -it->planeRect.left;
it->planeRect.left = 0;
}

adding the ELSE branch

else {
it->planeOffsetX = 0;
}

will ensure the initialized value for planeOffsetX and will fix current bug with scrolling bar:
- start the game from chapter 1, press menu gem, and menu will be somewhere off screen (it will be visible), although menu buttons will work);
- start the game from chapter 5, move the scrolling slider to the left, press menu gem, and menu will be shifted;
- start the game from chapter 1, go to the well, walk one screen up between the mountains above the well, move the scrolling slider to it's leftmost position, as far as it possible. Now go back 1 screen down, and all objects' hotspots will be displaced. Don't move the scrolling slider and go to the left screen. It will be corrupted.

Ticket imported from: #3231867. Ticket imported from: bugs/5613.

Change History (4)

comment:1 by SF/vakons, 9 years ago

I meant "menu will be somewhere off screen (it will not be visible, although menu buttons will work)".

And it's about KQ7 in-game menu, not ScummVM internal.

comment:2 by bluegr, 9 years ago

Owner: set to bluegr
Resolution: fixed
Status: newclosed

comment:3 by bluegr, 9 years ago

Fixed in rev c2274e90. Thanks a lot for your patch :) Nice catch

comment:4 by digitall, 13 months ago

Component: Engine: SCI
Game: King's Quest 7
Note: See TracTickets for help on using tickets.