Opened 16 years ago

Closed 14 years ago

Last modified 17 months ago

#1756 closed defect (fixed)

ALL: Wrong cursor colour in NewGui

Reported by: eriktorbjorn Owned by: lordhoto
Priority: normal Component: GUI
Keywords: Cc:
Game:

Description

When using the NewGui, the cursor colour is hard-coded to palette entries 7, 8 and 15. This works fine for most of the older SCUMM games, but not in newer ones like CMI (start the debugger on the difficulty selection screen and the cursor will change between white and red), and not in non-SCUMM games.

I originally noticed this when adding a warning message when BASS fails to save a game (the cursor was almost invisible), but I didn't get around to filing a proper bug report about it until now.

The glitch happens with the CVS version, but has probably been around ever since the NewGui was introduced.

Ticket imported from: #1022283. Ticket imported from: bugs/1756.

Change History (8)

comment:1 by fingolfin, 16 years ago

Yeah. And we have to setup a special palette in base/main.cpp for the cursor to appear at all in the launcher...

The problem here really is more a shortcoming of OSystem than of NewGui: cursors currently are always 8 bit and always use the regular palette. One could solve this in various ways: 1) add a separate (optional) mouse palette -> this would allow us to keep doing color rotations 2) add 16bit color cursors 3) or add a separate "overlay cursor" which is used when the overlay is one instead of the regular cursor (this actually combines with both 1 and 2)

I always wanted to add something to OSystem which would allow NewGUI to "backup" the active cursor so that it can later restore it (currently code calling NewGUI has to "manually" restore its mouse cursor which is ugly and error prone). There are multiple solutions to this, but the above item 3 has the added benefit of solving two problems at once :-)

comment:2 by sev-, 15 years ago

new OSystem methods setCursorPalette() and disableCursorPalette() should help.

comment:3 by eriktorbjorn, 15 years ago

I thought those functions still didn't apply to the cursor when using the overlay. Anyway, we'd need some way of restoring the cursor palette afterwards, as well.

comment:4 by fingolfin, 14 years ago

The GUI code now uses a custom cursor, right? Is this issue fixed then?

comment:5 by fingolfin, 14 years ago

Owner: set to lordhoto

comment:6 by eriktorbjorn, 14 years ago

I guess so. The cursor looks rather tiny in COMI (any 640x480 game?) but it *is* the right colour.

comment:7 by eriktorbjorn, 14 years ago

Resolution: fixed
Status: newclosed

comment:8 by digitall, 17 months ago

Component: --Unset--GUI
Note: See TracTickets for help on using tickets.