Opened 15 years ago

Closed 13 years ago

Last modified 11 months ago

#1756 closed defect (fixed)

ALL: Wrong cursor colour in NewGui

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


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, 15 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, 13 years ago

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

comment:5 by fingolfin, 13 years ago

Owner: set to lordhoto

comment:6 by eriktorbjorn, 13 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, 13 years ago

Resolution: fixed
Status: newclosed

comment:8 by digitall, 11 months ago

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