Commit graph

18 commits

Author SHA1 Message Date
Colin Snover
580f3875c0 SCI32: Fix explicit mouse position changes
This was broken by 9f33f2b3df.
2017-07-23 11:42:55 -05:00
Colin Snover
5b166a5173 SCI32: Avoid extra cursor paints when the cursor has not moved 2017-07-23 10:35:13 -05:00
Colin Snover
9f33f2b3df SCI32: Don't warp the mouse when it doesn't need to be warped 2017-07-23 10:35:13 -05:00
Colin Snover
604ac1a375 SCI32: Update cursor even when position appears unchanged
This may be masking another bug, but at least what happens in
Phant1 is that the mouse does not get redrawn after being moved
programmatically to the fast-forward button when deviceMoved
returns early.
2017-05-06 19:00:04 -05:00
Colin Snover
8b49313af3 SCI32: Fix terrible rendering performance when vsync is enabled
More than one call to OSystem::updateScreen per frame on systems
with vsync ruins performance because the call is blocked until
the next vsync interval.

This also fixes bad rendering performance with the OpenGL backend.
2017-05-06 10:38:58 -05:00
Colin Snover
bb40889a60 Revert "SCI32: Add debugging calls to GfxCursor32"
This reverts commit c02f2674ad.

Two minutes after committing this, the author of the ticket
resolved the problem, which was caused by missing VMDs.
2017-05-01 21:16:20 -05:00
Colin Snover
c02f2674ad SCI32: Add debugging calls to GfxCursor32
Refs Trac#9740.
2017-05-01 20:44:25 -05:00
Colin Snover
5dd9618842 SCI32: Remove unnecessary GfxFrameout::_frameNowVisible
This flag was used in SSCI to read from VRAM instead of from the
back buffer when a mouse interrupt was received in the middle of
a back buffer update. Since ScummVM controls when mouse events
are received via polling, it is not possible to receive a mouse
event in the middle of back buffer updates, so this code is
unnecessary for the engine to work properly.

This also fixes Valgrind warnings about use of uninitialized
memory at the start of the game, caused by not filling the cursor
memory buffers because `_frameNowVisible` was false until the first
frame was rendered.
2017-04-29 14:31:01 -05:00
Colin Snover
31daa956d6 SCI: Implement bounds-checked reads of game resources 2017-03-27 19:42:31 -05:00
Colin Snover
efa6b74cce SCI32: Clarify comment about empty code path in cursor code 2017-01-16 12:16:13 -06:00
Colin Snover
320d6c8255 SCI32: Fix uninitialised read of cursor background at start of game 2017-01-11 12:02:12 -06:00
Colin Snover
40444b0aeb SCI32: Clarify some identifiers
transparentColor -> skipColor
displace -> origin
scaledWidth -> xResolution
scaledHeight -> yResolution
2016-10-09 11:21:46 -05:00
Colin Snover
d0517f515e SCI32: Update screen on frameout, instead of in the event loop 2016-09-29 19:39:16 -05:00
Filippos Karapetis
ba8d6f6c03 SCI32: Move the SCI32 Mac cursor handling code into GfxCursor32
This was left in the SCI16 code in commit 80d9182554
2016-08-22 19:56:06 +03:00
Colin Snover
b74532fc1e SCI32: Clean up Cursor32 includes 2016-08-19 13:57:40 -05:00
Colin Snover
c8a2b9af22 SCI32: Fix comment 2016-08-19 13:57:40 -05:00
Colin Snover
03177721b8 SCI32: Allow pixel doubling of some cursors to improve usability 2016-08-19 13:57:40 -05:00
Colin Snover
80d9182554 SCI32: Implement SCI32 cursor support 2016-08-19 13:57:40 -05:00