aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-10-15TITANIC: Simplify cursors to build up as RGBA during loadingPaul Gilbert
2017-10-15DINGUX: Really constify getFeatureStateColin Snover
2017-10-15DINGUX: Fix missing const on hasFeature/getFeatureState implementationColin Snover
2017-10-15DINGUX: Replace usage of old SurfaceSdlGraphicsManager APIsColin Snover
2017-10-15GPH: Replace usage of old SurfaceSdlGraphicsManager APIsColin Snover
2017-10-15PSP: Improve const-correctnessColin Snover
2017-10-15PSP2: Replace usage of old SurfaceSdlGraphicsManager APIsColin Snover
2017-10-15OPENPANDORA: Remove duplicated loadGFXMode codeColin Snover
2017-10-15I18N: Update translations templatesThierry Crozat
2017-10-15GUI: CleanupEugene Sandulenko
2017-10-15BACKENDS: Constify PaletteManager::grabPalette implementationsColin Snover
2017-10-15I18N: Update translations templatesThierry Crozat
2017-10-15Merge branch 'graphics-backends-improvements'Colin Snover
2017-10-15BACKENDS: Fix up graphics manager ports with const & override where appropriateColin Snover
2017-10-15SDL: Allow window size to be reset whenever launcher is visibleColin Snover
This ensures the window gets resized properly when a user changes the scaler options in the GUI. Simply unlocking the window size on a call to setGraphicsMode is not good enough, because the scaler mode can be changed by games during mode switches, and we don't want to reset the window size in that case.
2017-10-15SDL: Support 32bpp cursor renderingColin Snover
32bpp cursor scaling is not available, but this should be fine as many of the software scalers are not designed to work with >16bpp data in any case. This change also includes some minor cleanup of unnecessary #ifdefs around code that works equally well with or without USE_RGB_COLOR, to simplify the implementation.
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: Do not send mouse events to games occurring outside the game draw rectColin Snover
2017-10-15SDL: Minor code cleanup to declare variables at point of first useColin Snover
2017-10-15GRAPHICS: Send blank cursors to graphics backendsColin Snover
Blank cursors don't mean to continue drawing the previous cursor, they mean that the cursor in the backend needs to be blank.
2017-10-15BACKENDS: Fix GraphicsManager handling of empty cursorsColin Snover
The SDL graphics manager was just ignoring calls from CursorMan to set the cursor to a blank cursor, which meant engines that did not immediately send a cursor to CursorMan at startup would still show the launcher's cursor (usually with a broken palette). The OpenGL graphics manager would try to generate and draw an invalid cursor surface when receiving an empty cursor.
2017-10-15BACKENDS: Also hide mouse cursor outside game area when an engine has hidden ↵Colin Snover
the cursor The only reason we show the system cursor outside the game area is to show users where their mouse is when the window is resized and the mouse is outside the game area. If the game cannot be interacted with, then the mouse also does not need to be shown in the black areas.
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-15SDL: Allow window resize with non-OpenGL SDL2 backendColin Snover
The GUI is not redrawn when the window size changes, but that is not as important as being able to resize the games themselves.
2017-10-15BACKENDS: Fix some comment typosColin Snover
2017-10-15I18N: Update translation (Finnish)Timo Mikkolainen
Currently translated at 100.0% (959 of 959 strings)
2017-10-15I18N: Update translation (Italian)Paolo Bossi
Currently translated at 100.0% (959 of 959 strings)
2017-10-15I18N: Update translation (German)Lothar Serra Mari
Currently translated at 100.0% (959 of 959 strings)
2017-10-15I18N: Update translation (Hungarian)George Kormendi
Currently translated at 100.0% (959 of 959 strings)
2017-10-15I18N: Update translations templatesThierry Crozat
2017-10-15GUI: UPDATES: Redesign updates dialog as suggested by criezy in PR#1040Eugene Sandulenko
2017-10-14TITANIC: Remove accidentally committed cutscene slowdownPaul Gilbert
2017-10-14TITANIC: Stop final piano note of music room music getting cut offPaul Gilbert
2017-10-14TITANIC: Properly flag audio buffer as finished when song is donePaul Gilbert
2017-10-13TITANIC: Fix rotating on Top of Well balconyPaul Gilbert
2017-10-13TITANIC: Show busy cursor when SuccUBus sending or receivingPaul Gilbert
2017-10-13TITANIC: Workaround for wrong ambient music on loadPaul Gilbert
2017-10-13TITANIC: Renamed GlobalSound methods to AmbientSoundPaul Gilbert
2017-10-13TITANIC: Cleanup of auto music player classes and messagesPaul Gilbert
2017-10-12TITANIC: Play Pellerator sound only when moving to a new destinationPaul Gilbert
2017-10-12TITANIC: DE: Fix showing accented characters in Chat tabPaul Gilbert
2017-10-12TITANIC: DE: Fix saying 'ja' to Deskbot during checkinPaul Gilbert
2017-10-12CREATE_PROJECT: Support using libjpeg for iOS buildsThierry Crozat
2017-10-12CREATE_PROJECT: Fix some compilation issues for iOSThierry Crozat
Note that this still doesn't compile with the library package provided by bSr43 because this package is missing libvorbisfile.a and has a non standard name for libglib-2.0.a. But it would probably be better to fix the package than maintain non-standard packages.
2017-10-11DOC: Fix whitespaces and tabbing in German READMErootfather
2017-10-10TITANIC: Fix buffer overflow in parser searchAndReplacePaul Gilbert
2017-10-10TITANIC: Show SGT furniture in stateroom even after upgradingPaul Gilbert
2017-10-10TITANIC: Only allow moving to SGT TV in assigned roomPaul Gilbert
2017-10-10TITANIC: Fix talking to the Maitre DPaul Gilbert