Commit graph

400 commits

Author SHA1 Message Date
Bastien Bouclet
66654cb376 ALL: Sync with ScummVM - rev. cd37d510f9 2019-01-26 20:47:55 +01:00
Thierry Crozat
4e24ede18d SDL: Fix crash when calling OSystem::quit() and OSystem::fatalError() 2018-11-26 22:42:30 +00:00
Bastien Bouclet
53759fe53a ALL: Sync with ScummVM - rev. 2586ca2345 2018-07-31 21:09:37 +02:00
Cameron Cawley
ada05fd726 WIN32: Move Windows-specific implementation of logMessage out of OSystem_SDL 2018-06-03 17:43:30 +01:00
Cameron Cawley
e1c83f8e87 WIN32: Move Windows-specific implementation of getSystemLanguage out of OSystem_SDL 2018-06-03 17:43:30 +01:00
Thierry Crozat
0dae57ab2f SDL: Handle encoding conversion for clipboard text 2018-04-29 21:47:10 +01:00
Thierry Crozat
3fe0e3c38e OSYSTEM: Add API to copy text to clipboard
This has also been implemented for the SDL2 and macOS backends.
2018-04-29 21:47:10 +01:00
Bastien Bouclet
455a409cab ALL: Sync with ScummVM - rev. b272701834 2018-03-17 16:25:28 +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
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
a98cca7f22 SDL: Disable ResidualVM key repeats for SDL2
This code should have been imported when merging from ScummVM
2017-12-10 05:38:31 +01:00
Bastien Bouclet
3ec01653c3 ALL: Merge from ScummVM rev 3a933138ce 2017-12-06 21:41:03 +01: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
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
Thierry Crozat
6b4195a542 SDL: Use RLE acceleration for SDL2 transparent surfaces
We were already doing it for SDL1.2, but with SDL2 the SDL_RLEACCEL
is not passed to SDL and instead we need to call SDL_SetSurfaceRLE.
2017-11-11 00:18:57 +00:00
Colin Snover
ebe6c40a6a SDL: Do not reset window size when engines update rendering surface
This change allows:

* Engines to update their target rendering surface/size and pixel
  format with the backend multiple times during gameplay;
* Users to resize the ScummVM window without having it reset
  size/position every time an engine updates its target surface
  format;
* Conversions/scaling to continue to run efficiently in hardware,
  instead of requiring engines to pick their maximum possible
  output format once and upscale inefficiently in software;
* The window to reset size once when an engine calls to set its
  initial output size, and to reset again once ScummVM returns to
  the launcher.

This is relevant for at least SCI32 and DreamWeb engines, which
perform graphics mode switches during games.
2017-10-07 12:30:29 -05:00
Bastien Bouclet
84e62b6c8d ALL: Sync with ScummVM - rev. 87ebc7140c 2017-09-02 15:04:07 +02:00
Bastien Bouclet
7a11ff2006 SDL: Keep the same window between the launcher and the engines 2017-09-01 09:28:09 +02:00
Frank Richter
0f93962ef4 Windows: Use GetUserDefaultUILanguage() instead of GetThreadLocale().
The thread locale concerns display options (e.g. date formatting) not
the display language. There are typically, but not necessarily the same,
as Windows allows them to be configured separately.
2017-08-01 08:55:48 +02:00
Thierry Crozat
e96c057c3d SDL: Allow specifying the screenshot directory in the config file
There is no GUI option to set the screenshot directory, but this
allows power users to set it if they don't want to use the default.
2017-04-24 01:07:05 +01:00
Pala
3849a3e90e WINDOWS: Change location where screenshot are saved
This fixes bug #9701: WINDOWS: Flow of taking screenshots
on Windows is broken
2017-04-24 01:06:29 +01:00
rsn8887
45bd7a8b75 SDL: Fix erratic analog pointer + control options
Fixes erratic speeds in analog pointer motion
Implemented option to set analog/keyboard pointer speed
and control the analog joystick deadzone. The deadzone option appears
only if the build supports analog joystick (via JOY_ANALOG define)
2017-02-22 16:52:09 -06:00
Pawel Kolodziejski
19bcd1f3bc ALL: Sync with ScummVM 2016-11-12 12:59:06 +01:00
Pawel Kolodziejski
9ba9c69b3f ALL: Sync with ScummVM - rev. 823c2f899b 2016-11-12 08:49:29 +01:00
Bastien Bouclet
6234b93813 SDL: Add a fixme regarding the encoding of the string returned by getTextFromClipboard 2016-09-13 09:21:51 +02:00
Bastien Bouclet
9e502bf9aa SDL: Plug a memory leak in OSystem_SDL::getTextFromClipboard 2016-09-13 09:19:53 +02:00
Thierry Crozat
a2a985368c BUILD: Tie the SDL_net version to the SDL version
This means that when using SDL 1.2 we use SDL_net 1.2, but when
using SDL 2 we now use SLD_net 2 as well. Both versions work
properly and there is not code change needed in ScummVM.

This change is because SDL_net depends on SDL, and using
SDL_net 1.2 with SDL 2 means we can end up needing to link with
both the SDL and SDL2 libraries.
2016-09-03 23:07:21 +01:00
Alexander Tkachev
b9bba9bd4b ALL: Move Clipboard support to OSystem
Commit adds kFeatureClipboardSupport. hasTextInClipboard() and
getTextFromClipboard().

OSystem_SDL has this feature if SDL2 is used.

EditableWidget and StorageWizardDialog use g_system to access clipboard
now.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
9f7bea156a CLOUD: Init SDL_Net 2016-08-24 16:07:55 +06:00
Alexander Tkachev
b3bf532211 CLOUD: Make CloudManager singleton
It's needed to ::destroy() it in main().
2016-08-24 16:07:55 +06:00
Alexander Tkachev
03217cd5c3 CLOUD: Add CurlJsonRequest
Now we can do REST API request by creating CurlJsonRequest and waiting
for it to call our callback. Passed pointer is Common::JSONValue.

This commit also does some minor variable renaming fixes.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
fade746f37 CLOUD: Add USE_CLOUD feature
Adds USE_CLOUD in both configure and create_project.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
ca2eeb2214 CLOUD: Add Cloud::Manager and Cloud::Storage
This commit introduces Common::CloudManager, which can be accessed from
OSystem.

The backend for this manager is Cloud::Manager (defined in
backends/cloud/manager.h). It should load all users storages from
configs and provide access to current Storage instance. For now it just
creates a new one.

Cloud::Storage (backends/cloud/storage.h) provides an API to interact
with cloud storage, for example, create new directory or sync files.
Right now it's not ready and has only two dummy methods: listDirectory()
and syncSaves().

There is Cloud::Dropbox::DropboxStorage backend
(backends/cloud/dropbox/dropboxstorage.h) for Cloud::Storage. Right now
it implements both listDirectory() and syncSaves() with starting timer
task and handling it by printing out some JSON examples.
2016-08-24 16:05:07 +06:00
Alexander Tkachev
7446ffd73b CLOUD: Integrate CloudThread into OSystem
Would be changed soon.
2016-08-24 16:05:07 +06:00
Bastien Bouclet
ad3ab61241 COMMON: Remove the EventRecorder dependency from OSystem
EventRecorder is in the gui lib which is not linked in the cxxtest suite.
2016-07-28 18:23:46 +02:00
Bastien Bouclet
5b927c06f1 SDL: Ony perform framebuffer detection once on startup 2016-07-14 12:04:06 +02:00
Bastien Bouclet
2141277df9 SDL: Detect the desktop resolution earlier
So that nothing has a chance to change it beforehand.
2016-07-14 12:04:05 +02:00
Bastien Bouclet
287f97228f BACKENDS: Make suggestSideTextures go through GraphicsManager 2016-07-14 12:02:55 +02:00
Bastien Bouclet
911e0e3915 BACKENDS: Remove launcherInitSize from GraphicsManager 2016-07-14 12:02:55 +02:00
Bastien Bouclet
52f2dfc869 SDL: Split the GraphicsManager into Surface and OpenGL 2016-07-14 12:02:51 +02:00
Johannes Schickel
b32f347531 SDL: Get rid of reference to SDL 1.3.
We only support SDL 1.2 and SDL 2.
2016-03-13 14:07:56 +01:00
Matthew Hoops
55a87c59b6 BACKENDS: Use a virtual function for creating the SDL audio CD manager 2016-03-13 13:53:40 +01:00
Pawel Kolodziejski
2fadf2e466 ALL: Synced with ScummVM 2015-12-22 00:24:01 +01:00
Bastien Bouclet
b9a1074999 PS3: Make use of an updated SDL2 version
This version, available at https://bitbucket.org/bgK/sdl_psl1ght, is based on SDL 2.0.3.
2015-12-15 20:10:19 +01:00
Dries Harnie
8fc79af213 SYSTEM: Add side textures as a System feature 2015-08-17 13:25:46 +02:00
Pawel Kolodziejski
4fe80cd669 ALL: synced with ScummVM 2015-04-19 07:43:34 +02:00
Johannes Schickel
3f22c12c56 SDL: Handle icon setup in SdlWindow. 2015-02-16 01:25:22 +01:00
Johannes Schickel
627d766325 SDL: Add basic abstraction class for the SDL window. 2015-02-16 01:03:29 +01:00
Johannes Schickel
8530997fff SDL: Add experimental support for SDL2.
This is based upon skristiansson's change set to make ScummVM work with SDL2.
2015-01-25 20:23:25 +01:00