Opened 8 months ago

Last modified 7 months ago

#11971 new defect

SCUMM: MANIAC/ZAK C64: GUI & dialog text are incorrectly positioned on screen, and cursor is improperly layered

Reported by: ATMcashpoint Owned by:
Priority: normal Component: Engine: SCUMM
Version: Keywords: maniac mansion, zak mckracken, maniac, zak, text, dialog, cursor, c64, commodore 64
Cc: Game: Maniac Mansion

Description (last modified by ATMcashpoint)

In the original Commodore 64 versions of Maniac Mansion and Zak McKracken, the dialog window at the top of the screen has an extra row of black pixels beneath the 8 pixels used for each line of text.

So in Maniac Mansion, the dialog window is 9 pixels high, and in Zak it's 17 - taking away a row of pixels from the blank area at the bottom of the GUI verb bank.

But in ScummVM the dialog windows are given just the height necessary for the dialog text, as in the PC V1 versions of these games. So they're 8 pixels high in Maniac and 16 in Zak, and the rest of the screen (background & GUI) is set one pixel higher than it should be.

(Note that Maniac Mansion's DOS V1 port added an extra text line to the Dialog Window, making it 16 pixels tall, but still without any extra pixels below the text.)

Also, in Maniac & Zak on C64 the dialog text and GUI verbs are indented two pixels from the left screen edge. In ScummVM, as in the DOS V1 versions of these games, they're indented just one pixel. So the whole verb bank and the dialog text should be shoved over to the right by one further pixel.

Plus, in both games' C64 versions, the verb bank has an extra row of black pixels above the Sentence Line, which again shifts the GUI down a pixel. Essentially, the idea is there's a row of black pixels both above and below the game backgrounds, separating this area from the dialog text above it and the GUI below.

So basically
1) put an extra row of black pixels under the Dialog Window text, shifting everything else downward;
2) shift the Dialog Window & GUI text right one pixel;
3) shift the GUI text downward one more pixel, leaving another row of black pixels just below the background art.

The attached screenshots illustrate the proper C64 and DOS V1 screen layouts, and ScummVM's current handling of the C64 versions.

Another issue, unrelated to the text alignment: in the C64 versions of MM & Zak, the pointer cursors pass *behind* the various character sprites on screen, something also not emulated in ScummVM. I've attached images of the C64 and ScummVM cursor behaviors for reference as well.

Attachments (11)

mmc64cursor.png (15.6 KB ) - added by ATMcashpoint 8 months ago.
mmc64cursor2.png (27.5 KB ) - added by ATMcashpoint 8 months ago.
mmc64dialog.png (16.3 KB ) - added by ATMcashpoint 8 months ago.
mmscummcursor.png (14.3 KB ) - added by ATMcashpoint 8 months ago.
mmscummdialog.png (15.1 KB ) - added by ATMcashpoint 8 months ago.
mmv1dialog.png (16.1 KB ) - added by ATMcashpoint 8 months ago.
zakc64cursor.png (18.9 KB ) - added by ATMcashpoint 8 months ago.
zakc64dialog.png (20.9 KB ) - added by ATMcashpoint 8 months ago.
zakscummcursor.png (18.6 KB ) - added by ATMcashpoint 8 months ago.
zakscummdialog.png (20.5 KB ) - added by ATMcashpoint 8 months ago.
zakv1dialog.png (20.4 KB ) - added by ATMcashpoint 8 months ago.

Download all attachments as: .zip

Change History (13)

by ATMcashpoint, 8 months ago

Attachment: mmc64cursor.png added

by ATMcashpoint, 8 months ago

Attachment: mmc64cursor2.png added

by ATMcashpoint, 8 months ago

Attachment: mmc64dialog.png added

by ATMcashpoint, 8 months ago

Attachment: mmscummcursor.png added

by ATMcashpoint, 8 months ago

Attachment: mmscummdialog.png added

by ATMcashpoint, 8 months ago

Attachment: mmv1dialog.png added

by ATMcashpoint, 8 months ago

Attachment: zakc64cursor.png added

by ATMcashpoint, 8 months ago

Attachment: zakc64dialog.png added

by ATMcashpoint, 8 months ago

Attachment: zakscummcursor.png added

by ATMcashpoint, 8 months ago

Attachment: zakscummdialog.png added

by ATMcashpoint, 8 months ago

Attachment: zakv1dialog.png added

comment:1 by ATMcashpoint, 8 months ago

Description: modified (diff)

comment:2 by sev-, 7 months ago

Summary: MANIAC/ZAK C64: GUI & dialog text are incorrectly positioned on screen, and cursor is improperly layeredSCUMM: MANIAC/ZAK C64: GUI & dialog text are incorrectly positioned on screen, and cursor is improperly layered
Note: See TracTickets for help on using tickets.