aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-11-11SWORD25: Fix leaking the save thumbnail surfaceBastien Bouclet
2017-11-11SDL: Fix assertion when using 4bpp cursors with a key colorBastien Bouclet
Myst ME uses such cursors.
2017-11-11ADL: Remove ADGF_TESTING for hires5+6Walter van Niftrik
2017-11-10SWORD1: Fix use of deallocated stack memoryColin Snover
FSNode::getName returns a String object, not a reference, so the pointer from c_str is valid only until the end of the statement.
2017-11-10SKY: Fix use of deallocated stack memoryColin Snover
FSNode::getName returns a String object, not a reference, so the pointer from c_str is valid only until the end of the statement.
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-11-11SDL: Preserve mouse position when switching between OpenGL and SurfaceSDL ↵Thierry Crozat
backends Since those GraphcisManager initialize the cursor position to (0,0) when created the cursor was jumping to the top left corner and then moving back to its initial position as soon as the mouse was moved. Now it stays at its initial position. There are still some issues with it when changing between OpenGL and SurfaceSDL at the same time as toggling fullscreen. But it is not worse than before.
2017-11-11SDL: Fix display artefacts with transparent OSD messageThierry Crozat
If we do not update the area below the message, it is just blitted on top of itself again and again and gets progressively less transparent. It also causes artefacts when the mouse pass below the OSD message.
2017-11-10Merge pull request #1041 from criezy/variadic-undefinedThierry Crozat
Fix undefined behaviour in variadic functions
2017-11-10XEEN: Fix event handling for town messagesPaul Gilbert
2017-11-10I18N: Update translations templatesThierry Crozat
2017-11-10SDL: fix various OSD message artifactsPatrik Dahlstrom
On the OpenPandora handheld, the OSD message would not render unless you moved the cursor in the area where it was supposed to show. Additionally, the OSD message was not transparent like in v1.8. This commit fixes both these issues.
2017-11-10XEEN: Fix rendering of town messagesPaul Gilbert
2017-11-10I18N: Update translation (Finnish)Timo Mikkolainen
Currently translated at 100.0% (960 of 960 strings)
2017-11-10I18N: Update translation (German)Lothar Serra Mari
Currently translated at 100.0% (960 of 960 strings)
2017-11-10I18N: Update translation (Hungarian)George Kormendi
Currently translated at 100.0% (960 of 960 strings)
2017-11-10I18N: Update translations templatesThierry Crozat
2017-11-10ENGINES: Improve output of unknown game variant detectionColin Snover
When a user tries to add a game expecting it to be a particular game for a particular engine, but a detector from another engine happens to match some files that exist in the game directory and reports on those files instead, this can cause a lot of confusion because the detector doesn't say what engine or game it thought it matched. This patch adds the name of the matching engine as well as any matching game IDs (if applicable) to the detector's logged output. It also provides more specific guidance about where to send the detection information (to the bug tracker), and properly wraps the first part of the report to 80 columns. Refs Trac#10272.
2017-11-10ENGINES: Continue to check file presence after a hash/size mismatchColin Snover
If an early file in the game's signature list has a hash/size mismatch, it is still necessary to continue to check the rest of the candidate files for existence, since the non-existence of candidate files is supposed to disqualify a game description as matching a game to an unknown variant. By quitting the file check early, the detector had been allowing descriptions to randomly match if there happened to be an early file in the detection list with the right name but wrong hash/size, even if some of the other signature files did not exist at all.
2017-11-10COMMON: Add basic fixed-width word wrap to Common::StringColin Snover
2017-11-10CGE: Remove garbage character from commentsColin Snover
2017-11-10BBVS: Remove all bit shifts of potentially negative integersColin Snover
Previous patches that removed shifts of constant negative values to eliminate UB were valid, but did not correct all places where this engine was potentially bit shifting negative values. There is no reason to not just use multiplication and division and let the compiler make the right choice for optimisation for an architecture, so that is what this patch does.
2017-11-10ALL: Fix misuse of comma operatorColin Snover
2017-11-10COMMON: Use C++11 static_assert when availableColin Snover
This improves the output of static assertions in all compilers, and prevents problems in MSVC 2015 where the mechanism for triggering a compilation error in C++98 mode may cause errors when that compiler builds in release mode. Fixes Trac#10154.
2017-11-10XEEN: Fix animation of wall torchesPaul Gilbert
2017-11-09Merge pull request #1049 from csnover/lure-unalignedPaul Gilbert
LURE: Stop taking address of unaligned pointer
2017-11-09XEEN: Cleanup of PowType enum namesPaul Gilbert
2017-11-09XEEN: Properly animate arrow shootingPaul Gilbert
2017-11-09XEEN: Create a PowType enum for ranged arrow/spell typesPaul Gilbert
2017-11-08XEEN: Changed multiAttack to rangedAttackPaul Gilbert
2017-11-08AUDIO: Switch to BitStreamMemoryStream in the QDM2 decoderBastien Bouclet
2017-11-08AUDIO: Add some padding to the QDM2 decoder input bufferBastien Bouclet
Fixes out of bounds reads in the Myst ME intro videos. OOB reads may happen because: - The bitstream implementation reads 4 bytes at a time, and the buffer size is not guaranteed to be a multiple of 4. - The huffman parsing code reads a fixed amount of bits when it sometimes needs not all of them. Also fixed bits vs bytes mismatch for the size parameter of the calls to the bitstream constructor, and removed a few unnecessary heap allocations. Fixes #10220.
2017-11-07LURE: Stop taking address of unaligned pointerColin Snover
While usage of these pointers was technically safe because they were read through an alignment-aware API, taking the address of an unaligned pointer was generating warnings in Clang, and is not strictly necessary here. This change solves the warning and also protects this code from any future change that might cause it to start reading unsafely.
2017-11-07SDL: Get correct default graphics mode ID when queriedColin Snover
Fixes Trac#10312.
2017-11-07XEEN: Fix FX calls in multiAttackPaul Gilbert
2017-11-07I18N: Update translation (German)Lothar Serra Mari
Currently translated at 100.0% (959 of 959 strings)
2017-11-07LINUX: Fix Header for major/minor macros, thus removing warnings.D G Turner
Warnings are as follows: "In the GNU C Library, "minor" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan toremove this soon. To use "minor", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "minor", you should undefine it after including <sys/types.h>"
2017-11-06I18N: Regenerate translations data fileThierry Crozat
2017-11-04TITANIC: Remove testing flag from German versionPaul Gilbert
2017-11-04ŃEWS: Update German NEWS filerootfather
2017-11-02NEWS: Add important Myst bug fixesBastien Bouclet
2017-11-02MOHAWK: RIVEN: Remove the testing flagBastien Bouclet
2017-11-02BASE: Minor command line detection cleanupBastien Bouclet
2017-11-02VIDEO: Express VideoDecoder::endOfVideo using easier to understand logicBastien Bouclet
2017-10-31I18N: Update translations templatesThierry Crozat
2017-10-31SCUMM: Prevent false detection of Steam gamesBen Castricum
2017-10-29XEEN: Enable starting game from startup menuPaul Gilbert
2017-10-29DOC: Remove reference to SF for the Bug Tracker; improve wordingrootfather
2017-10-29DOC: Remove reference to Sourceforge for the Bug Trackerrootfather
2017-10-29SCI: Fix UB in SegManager memcpy/strcpy operationsColin Snover
Passing overlapping buffers to C standard library memcpy, strcpy, and strncpy is undefined behavior. In SSCI these operations would perform a forward copy, and most stdlib implementations do the same, but at least newer Linux glibc on x86 copies bytes in reverse, so just using the standard library on this platform results in broken output. Because SSCI used a blind forward copy instead of memmove for overlapping copy operations, this patch implements an explicit forward copy to ensure that overlapping copies continue to operate the same as in SSCI. This fixes the Island of Dr. Brain v1.1 flamingo puzzle (script 185, flamingos::init, localCall 4c3) on platforms that do not perform forward copy in memcpy/strcpy/strncpy. Thanks to @moralrecordings for research on this bug and an initial patch using memmove. Closes gh-1034.