Commit Graph

6481 Commits

Author SHA1 Message Date
Tarek Soliman
f285e384da GRAPHICS: Fix rounding error when using non-integral scaling
When a non-integral scaling was being used, x and/or y cursor position would be
one less than what it should be.

Fixes Trac#10401

Thanks snover!
2018-01-12 22:43:00 -06:00
rsn8887
e78984147d PSP: fix bit shifts of cursor x/y, fix too-slow cursor 2018-01-05 15:51:39 -06:00
rsn8887
b2cf5a30bf PSP: adjust cursor refresh to better match speed it had before it became smooth 2018-01-04 23:29:51 -06:00
rsn8887
4e4a5892c8 PSP: support mouse speed/joy deadzone options and smooth cursor motion 2018-01-04 06:07:34 -06:00
rsn8887
231407206d PSP: Use aspect correction checkbox instead of extra graphics modes 2018-01-03 14:14:36 -06:00
Bastien Bouclet
bb5e8d3a11
Merge pull request #1090 from bgK/remove-zaurus-yopy
PORTS: Remove the Zaurus and Yopy ports
2018-01-03 06:40:49 +01:00
Eugene Sandulenko
d6078ea406 ALL: Bump copyright year. 2018! 2018-01-01 00:09:56 +01:00
D G Turner
a3d2c52687 PSP: Fix bug #10239: PSP port incorrect 4:3 aspect ratio
This is based on a patch supplied by dam-soft. A new graphics mode is
added to the PSP port. The graphics mode is called '4:3 Aspect Ratio'
and fixes the incorrect AR. The older modes are also still present and
behave as before.
2017-12-29 01:21:40 -06:00
Bastien Bouclet
1fa80ea3a3 SDL: Add debug traces for joystick hotplug 2017-12-27 07:30:53 +01:00
Bastien Bouclet
6437ca1ede PS3: Stop using SDL mouse focus events to detect the XMB
Mouse focus events are also sent by SDL when the mouse is warped outside
of the window area. App suspended / resumed are now used. These are only
sent by SDL when opening / closing the XMB on the PS3.

Fixes #10340.
2017-12-26 21:29:30 +01:00
rsn8887
dafadbc8c7 PSP2: Add controller config, remove joystick event handling 2017-12-26 21:11:05 +01:00
Bastien Bouclet
1522fc8e2f SDL: Add support for joystick hotplug
Fixes #10366.
2017-12-26 21:11:05 +01:00
Bastien Bouclet
a86eae6323 SDL: Only enable joystick related features when joysticks are enabled
Fixes #9714.
2017-12-26 21:11:05 +01:00
Bastien Bouclet
5838894f24 PSP2: Remove identical to base class joystick axis event handling 2017-12-26 21:11:04 +01:00
Bastien Bouclet
ee4ff8ca08 SDL: Cleanup joystick deadzone handling 2017-12-26 21:11:04 +01:00
Bastien Bouclet
1fb748e974 SDL: Move the non analog joystick code to the Symbian port
Symbian was the only user of that code.
2017-12-26 21:11:04 +01:00
Bastien Bouclet
6fb50d562f PS3: Remove gamepad button mapping
SDL_PSL1GHT now supports the GameController API. ScummVM's default
mapping is now used.
2017-12-26 21:11:04 +01:00
Bastien Bouclet
ac78058fcd SDL: Initial support for game controllers
The button mapping is that of the Vita port

Co-Authored-By: rsn8887 <rsn8887@users.noreply.github.com>
2017-12-26 21:11:04 +01:00
Bastien Bouclet
60a1100beb PORTS: Remove the Zaurus port
There was never an official release. The last unofficial release of ScummVM was 0.6.0.
Production ceased in 2007.
2017-12-19 07:42:22 +01:00
Bastien Bouclet
ca469f728b PORTS: Remove the Yopy PDA port
No official release was ever done for that platform. Production ceased
in 2005.
2017-12-19 07:37:08 +01:00
Thierry Crozat
4f1025378f BUILD: Check if posix_spawn is available in configure 2017-12-15 01:08:14 +00:00
Thierry Crozat
2926cd4a50 POSIX: Fix compilation with some old macOS SDKs 2017-12-14 23:37:20 +00:00
Colin Snover
008149e357 POSIX: Do not hang ScummVM when opening a browser
If the call used to open the browser does not return until the
browser is closed, this would previously cause ScummVM to hang.
Since we are using waitpid now, we can avoid hanging by telling
waitpid to not block on a child which has not exited.
2017-12-14 14:30:16 -06:00
Colin Snover
7aaac1dfba POSIX: Fix CVE-2017-17528 2017-12-14 14:30:11 -06:00
Tarek Soliman
41651e6704 MAEMO: Update debian/changelog 2017-12-13 20:55:57 -06:00
Bastien Bouclet
ae634388e9 SDL: Enable the startup fullscreen hack for X11 only
It causes problems on AmigaOS and Linux/SDL2/Vivante
2017-12-10 15:23:16 +01:00
Colin Snover
a5bc89102e ALL: Remove obsolete register keyword
The register keyword was deprecated from the C++11 standard,
<http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4193.html#809>,
and removed from the C++17 standard,
<http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4340>, so
cannot exist in a well-formed C++17 program.

It has never done anything in GCC
<https://gcc.gnu.org/ml/gcc/2010-05/msg00113.html>
and because of the way it is specified in the standard, it is “as
meaningful as whitespace”
<http://www.drdobbs.com/keywords-that-arent-or-comments-by-anoth/184403859>.

The one remaining use of the register keyword is in the DS backend,
where it is used to create a local register variable using the
non-standard GCC Extended Asm feature.

Closes gh-1079.
2017-12-03 20:27:42 -06:00
Colin Snover
20b2c1b7e1 SDL: Fix memory corruption when switching to/from 32-bit cursors
When a 32-bit cursor has the same size as an 8- or 16-bit cursor,
the mouse surfaces were not being regenerated even though the
32-bit cursors have a different memory requirement. This lead to
memory corruption as an inappropriate surface would be used for
the other type of cursor.

The shoe-horned 32-bit cursor support is clearly showing its
scrappy nature here and probably ought to be revisited in the
future if the SurfaceSdl graphics manager sticks around.

Fixes Trac#10349, Trac#10350, Trac#10351.
2017-12-03 12:33:05 -06:00
rsn8887
c78fa86860 PSP2: fix clipping and display quality for odd resolutions (Phantasmagoria) 2017-12-02 13:00:22 -06:00
rsn8887
d73437c293 PSP2: fix odd resolutions on PSP2, fixes Phantasmagoria 2017-12-02 11:53:23 -06:00
Colin Snover
5c855a0a5a BACKENDS: Fix shake position getting stuck
If a game is doing a screen shake (for example, DOTT when the
stereo is on), and the user does an RTL, the screen shake offset
may get stuck if the engine does not reset it on shutdown. To
avoid this in all cases, just always reset the screen shake
whenever the graphics manager is told to switch to a new graphics
mode.
2017-12-01 19:43:12 -06:00
Tarek Soliman
d06323141c MAEMO: Update debian/changelog 2017-11-29 21:12:18 -06:00
Thierry Crozat
cd7e6cd31c RELEASE: This is 2.1.0git 2017-11-30 00:13:10 +00:00
Bastien Bouclet
779b97ee3f SDL: Don't use the window size hint for fullscreen
Prevents the opengl backend from changing mode when entering fullscreen
for games with a window size hint.

Fixes #10335. Closes gh-1074.
2017-11-29 16:49:32 -06:00
Cameron Cawley
4d2e1d16b1 RISCOS: Improve detection of absolute paths 2017-11-28 22:23:58 +00:00
Cameron Cawley
509b12de65 RISCOS: Fix using filenames with spaces 2017-11-28 22:23:58 +00:00
Bastien Bouclet
6eb9a48bbd EVENTS: Delay initializing the virtual keyboard
The virtual keyboard requires the backend to be fully initialized
because it needs the display size.

Fixes #10338.
2017-11-28 05:49:45 +01:00
Colin Snover
c278677d07 SDL: Store fake mouse warp event in virtual coordinates
Normally, notifyMousePosition converts real mouse events into the
virtual coordinate system, but events only get sent through
notifyMousePosition if they are real events from SDL since that
method also decides if the real mouse is inside the content area or
not. As such, these fake events need to be pre-converted to virtual
coordinates or else the wrong values are sent through to the engine
when a scaler or AR correction is in use.
2017-11-27 20:39:21 -06:00
Colin Snover
fbefda8a2f ANDROID: Fix illegal-in-C++11 narrowing conversions 2017-11-25 20:19:01 -06:00
Thierry Crozat
2d88a30803 Revert "SDL: Use RLE acceleration for SDL2 transparent surfaces"
This reverts commit 6b4195a542.
There seemed to be no clear benefit in using RLE for transparent
surfaces, and there were a few reports that it might cause crashes
on Windows. So to be on the safe side I prefer to revert this
commit.
2017-11-26 01:56:48 +00:00
Bastien Bouclet
5ed745f532
Merge pull request #1063 from bgK/keyboard-repeat
SDL2: Improve handling of keyboard repeat events
2017-11-24 19:37:58 +01:00
Colin Snover
c13defd661 RELEASE: 1.10 will henceforth be known as 2.0
General consensus on the ML was that people wanted to do this.
http://lists.scummvm.org/pipermail/scummvm-devel/2017-November/012008.html
2017-11-21 15:26:52 -06:00
Bastien Bouclet
bc5ac6440c EVENTS: Fix one ms error in repeat event generation time check 2017-11-19 20:07:51 +01:00
Bastien Bouclet
8fc70ce37f SDL: Improve handling of SDL2 keyboard repeat events
- Flag them as repeat events
- Disable ScummVM's own repeat event generation

This fixes keyboard repeat events not being flagged as such with SDL2,
and complies with the user's operating system preferences regarding key
repeat timings.
2017-11-19 16:12:50 +01:00
Bastien Bouclet
7d811d356e EVENTS: Allow disabling repeat event generation 2017-11-19 16:12:50 +01:00
Bastien Bouclet
7539a77eeb EVENTS: Move key repeat handling to its own method 2017-11-19 16:12:50 +01:00
Bastien Bouclet
8beb519c5e EVENTS: Rename synthetic to kbdRepeat 2017-11-19 16:12:50 +01:00
Colin Snover
d3a831644c SDL: Grab mouse when ScummVM is started in fullscreen mode 2017-11-17 12:01:35 -06:00
Colin Snover
9bbf7f3f36 SDL: Don't pass null pointers to SDL_DestroyTexture/SDL_DestroyRenderer
SDL does not like this and will raise an assertion when built with
internal SDL assertions turned on. With internal assertions turned
off, it will still call SDL_SetError any time a null pointer is
passed, though it will not raise an assertion or crash.
2017-11-15 11:36:14 -06:00
Bastien Bouclet
1dbe3ad18e SDL: Fix assertion when using 4bpp cursors with a key color
Myst ME uses such cursors.
2017-11-11 13:26:22 +01:00