aboutsummaryrefslogtreecommitdiff
path: root/backends/platform
AgeCommit message (Collapse)Author
2018-02-09SDL: Do not try to replace FILE with an incompatible typeColin Snover
It’s questionable that the SDL backend code is trying so hard to maintain forbidden symbols at all since backend code is exactly where such things are allowed, and it is a game of whack-a-mole to keep system API changes from breaking this fragile system of symbol redefinitions. Probably this should all just get replaced with a FORBIDDEN_SYMBOL_ALLOW_ALL, but for the time being this at least gets builds working again on up-to-date msys2/mingw-w64 compilers. Fixes Trac#10405.
2018-02-08PSP2: allow 'frontpanel_touchpad_mode=true' option in ScummVM.inirsn8887
Can change option to 'true' manually in scummvm.ini to force front panel into indirect touchpad mode where the pointer doesn't jump to finger.
2018-01-26RISCOS: Fix compilation of null backendCameron Cawley
2018-01-26RISCOS: Don't list RISC OS as a POSIX platformCameron Cawley
2018-01-26ANDROIDSDL: set version name to 2.1.0git, renamed asset appdata filelubomyr
2018-01-24PSP2: Set Touchpad Mouse Mode option default to offrsn8887
2018-01-24PSP2: More settings for touch (direct touch on/off, pointer speed)rsn8887
2018-01-14SYMBIAN: Set install version to 2.0.0Fiodar Stryzhniou
2018-01-14SYMBIAN: Hide warnings from system headersFiodar Stryzhniou
2018-01-13Merge pull request #1097 from bgK/vkeybd-data-pathBastien Bouclet
VKEYBD: Fallback to SearchMan when loading keyboard packs
2018-01-05PSP: fix bit shifts of cursor x/y, fix too-slow cursorrsn8887
2018-01-04PSP: adjust cursor refresh to better match speed it had before it became smoothrsn8887
2018-01-04PSP: support mouse speed/joy deadzone options and smooth cursor motionrsn8887
2018-01-03PSP: Use aspect correction checkbox instead of extra graphics modesrsn8887
2018-01-01ALL: Bump copyright year. 2018!Eugene Sandulenko
2017-12-29PSP: Fix bug #10239: PSP port incorrect 4:3 aspect ratioD G Turner
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-28BACKENDS: Remove vkeybdpath override from some portsBastien Bouclet
DATA_PATH is now search when loading virtual keyboard files, the overrides are no longer required.
2017-12-26PSP2: Add controller config, remove joystick event handlingrsn8887
2017-12-26SDL: Only enable joystick related features when joysticks are enabledBastien Bouclet
Fixes #9714.
2017-12-26SDL: Cleanup joystick deadzone handlingBastien Bouclet
2017-12-26SDL: Move the non analog joystick code to the Symbian portBastien Bouclet
Symbian was the only user of that code.
2017-12-15BUILD: Check if posix_spawn is available in configureThierry Crozat
2017-12-14POSIX: Fix compilation with some old macOS SDKsThierry Crozat
2017-12-14POSIX: Do not hang ScummVM when opening a browserColin Snover
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-14POSIX: Fix CVE-2017-17528Colin Snover
2017-12-13MAEMO: Update debian/changelogTarek Soliman
2017-12-03ALL: Remove obsolete register keywordColin Snover
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-02PSP2: fix clipping and display quality for odd resolutions (Phantasmagoria)rsn8887
2017-11-29MAEMO: Update debian/changelogTarek Soliman
2017-11-30RELEASE: This is 2.1.0gitThierry Crozat
2017-11-25ANDROID: Fix illegal-in-C++11 narrowing conversionsColin Snover
2017-11-26Revert "SDL: Use RLE acceleration for SDL2 transparent surfaces"Thierry Crozat
This reverts commit 6b4195a542083c97f696c843b9823d578b018996. 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-24Merge pull request #1063 from bgK/keyboard-repeatBastien Bouclet
SDL2: Improve handling of keyboard repeat events
2017-11-21RELEASE: 1.10 will henceforth be known as 2.0Colin Snover
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-19SDL: Improve handling of SDL2 keyboard repeat eventsBastien Bouclet
- 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-19EVENTS: Rename synthetic to kbdRepeatBastien Bouclet
2017-11-17SDL: Grab mouse when ScummVM is started in fullscreen modeColin Snover
2017-11-11SDL: Use RLE acceleration for SDL2 transparent surfacesThierry Crozat
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-10-23SDL: Automatically grab mouse upon entering fullscreenColin Snover
Folks are confused about the new behaviour where the mouse is not restricted to the game area in fullscreen, which is understandable. This changes mouseIsGrabbed to use SDL directly in order to avoid making changes to the user preference in the _inputGrabState. Otherwise we'd either clobber the user's previous windowed mouse grab preference, or require maintaining a second variable just to track the original state, when we can have SDL do that for us.
2017-10-15PSP: Improve const-correctnessColin Snover
2017-10-15BACKENDS: Constify PaletteManager::grabPalette implementationsColin Snover
2017-10-15BACKENDS: Fix missing mouse events when system cursor cannot be movedColin Snover
Normally with SDL, a mouse motion event will be sent after the system mouse cursor has been moved by a call to SDL_WarpMouseInWindow, but if the system cursor cannot be moved (e.g. because the window does not have mouse focus), games still need to receive these mouse events so they can successfully update the mouse position internally. Otherwise, games continue to think the mouse is still in the original position and will continue to try to perform whatever action is associated with that mouse position. Refs Trac#9689.
2017-10-15BACKENDS: Refactor OpenGL & SDL graphics backendsColin Snover
This patch refactors the OpenGL and SDL graphics backends, primarily to unify window scaling and mouse handling, and to fix coordinate mapping between the ScummVM window and the virtual game screen when they have different aspect ratios. Unified code for these two backends has been moved to a new header-only WindowedGraphicsManager class, so named because it contains code for managing graphics managers that interact with a windowing system and render virtual screens within a larger physical content window. The biggest behavioral change here is with the coordinate system mapping: Previously, mouse offsets were converted by mapping the whole space within the window as input to the virtual game screen without maintaining aspect ratio. This was done to prevent 'stickiness' when the mouse cursor was within the window but outside of the virtual game screen, but it caused noticeable distortion of mouse movement speed on the axis with blank space. Instead of introducing mouse speed distortion to prevent stickiness, this patch changes coordinate transformation to show the system cursor when the mouse moves outside of the virtual game screen when mouse grab is off, or by holding the mouse inside the virtual game screen (instead of the entire window) when mouse grab is on. This patch also improves some other properties of the GraphicsManager/PaletteManager interfaces: * Nullipotent operations (getWidth, getHeight, etc.) of the PaletteManager/GraphicsManager interfaces are now const * Methods marked `virtual` but not inherited by any subclass have been de-virtualized * Extra unnecessary calculations of hardware height in SurfaceSdlGraphicsManager have been removed * Methods have been renamed where appropriate for clarity (setWindowSize -> handleResize, etc.) * C++11 support improved with `override` specifier added on overridden virtual methods in subclasses (primarily to avoid myself accidentally creating new methods in the subclasses by changing types/names during refactoring) Additional refactoring can and should be done at some point to continue to deduplicate code between the OpenGL and SDL backends. Since the primary goal here was to improve the coordinate mapping, full refactoring of these backends was not completed here.
2017-10-15SDL: Accept signed values for mouse cursor warpingColin Snover
This matches the other ScummVM and SDL APIs for mouse warp.
2017-10-07BACKENDS: Fix window sizing of games that switch between multiple resolutionsColin Snover
2017-10-07SDL: Do not reset window size when engines update rendering surfaceColin Snover
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-01RISCOS: Add RISC OS filesystemCameron Cawley
2017-09-30IOS: Improve iOS 11 compatibilityVincent Bénony
2017-09-12OPENPANDORA: Remove unused includeThierry Crozat
The use of DoubleBufferSDLMixerManager in the OpenPandora backend was removed in commit b157269 but the include for it was left behind.
2017-09-12GPH: Remove unused includeThierry Crozat
The use of DoubleBufferSDLMixerManager in the GPH backend was removed in commit 3b6398c but the include for it was left behind.