Commit Graph

82986 Commits

Author SHA1 Message Date
Thierry Crozat
59d1cb079e I18N: Update translations templates 2017-11-11 16:18:08 +01:00
Filippos Karapetis
1f1d860797 DRASCULA: Merge the floor coordinates into _walkRect 2017-11-11 17:14:38 +02:00
Filippos Karapetis
1e1b6f7ca4 DRASCULA: Rename gotoObject() to walkToPoint() and simplify it 2017-11-11 17:14:38 +02:00
Filippos Karapetis
2bf05c2a74 DRASCULA: Clean up room variables, and simplify some related checks 2017-11-11 17:14:38 +02:00
Filippos Karapetis
4dbed7742a DRASCULA: Reduce the scope of framesWithoutAction 2017-11-11 17:14:37 +02:00
Filippos Karapetis
fd8a86038a DRASCULA: walkToObject is a boolean variable 2017-11-11 17:14:37 +02:00
Filippos Karapetis
d81869af58 DRASCULA: Simplify the drawing code in BJ's room 2017-11-11 17:14:36 +02:00
Filippos Karapetis
51cd9b4888 DRASCULA: Remove superfluous variable 2017-11-11 17:14:36 +02:00
Filippos Karapetis
1c2a9d2e12 DRASCULA: characterMoved and characterVisible are boolean variables 2017-11-11 17:14:36 +02:00
Thierry Crozat
43cf1c5630 I18N: Update translations templates 2017-11-11 13:27:23 +01:00
Bastien Bouclet
443211d9ff SWORD25: Add a constructor to initialize SoundHandle members
Fixes #7018
2017-11-11 13:26:22 +01:00
Bastien Bouclet
08f9e05b15 SWORD25: Fix leaking the save thumbnail surface 2017-11-11 13:26:22 +01: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
Walter van Niftrik
be0e1371e8 ADL: Remove ADGF_TESTING for hires5+6 2017-11-11 10:39:16 +01:00
Colin Snover
925c9416db SWORD1: Fix use of deallocated stack memory
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-10 23:22:26 -06:00
Colin Snover
a8eddb2fc4 SKY: Fix use of deallocated stack memory
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-10 23:22:25 -06: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
Thierry Crozat
1d1f898c01 SDL: Preserve mouse position when switching between OpenGL and SurfaceSDL 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-11 00:15:13 +00:00
Thierry Crozat
b93fefebe8 SDL: Fix display artefacts with transparent OSD message
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-11 00:11:50 +00:00
Thierry Crozat
2b00829f09
Merge pull request #1041 from criezy/variadic-undefined
Fix undefined behaviour in variadic functions
2017-11-10 22:20:54 +00:00
Paul Gilbert
b73892e441 XEEN: Fix event handling for town messages 2017-11-10 15:35:33 -05:00
Thierry Crozat
1b955ae6da I18N: Update translations templates 2017-11-10 20:56:51 +01:00
Patrik Dahlstrom
bf85ad820c SDL: fix various OSD message artifacts
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-10 19:56:28 +00:00
Paul Gilbert
0ffbce5bb1 XEEN: Fix rendering of town messages 2017-11-10 12:23:29 -05:00
Timo Mikkolainen
aee98ba14d I18N: Update translation (Finnish)
Currently translated at 100.0% (960 of 960 strings)
2017-11-10 18:07:09 +01:00
Lothar Serra Mari
3bd1a5ac30 I18N: Update translation (German)
Currently translated at 100.0% (960 of 960 strings)
2017-11-10 17:59:00 +01:00
George Kormendi
7cc03fc9c4 I18N: Update translation (Hungarian)
Currently translated at 100.0% (960 of 960 strings)
2017-11-10 17:20:05 +01:00
Thierry Crozat
417528b37d I18N: Update translations templates 2017-11-10 16:59:35 +01:00
Colin Snover
a2bdff02d7 ENGINES: Improve output of unknown game variant detection
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-10 09:57:41 -06:00
Colin Snover
66826a8b9b ENGINES: Continue to check file presence after a hash/size mismatch
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-10 09:57:41 -06:00
Colin Snover
dda0f77bcf COMMON: Add basic fixed-width word wrap to Common::String 2017-11-10 09:57:41 -06:00
Colin Snover
216376477a CGE: Remove garbage character from comments 2017-11-10 09:57:03 -06:00
Colin Snover
972c453986 BBVS: Remove all bit shifts of potentially negative integers
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-10 09:57:03 -06:00
Colin Snover
51329c0dc6 ALL: Fix misuse of comma operator 2017-11-10 09:57:03 -06:00
Colin Snover
2de83e0937 COMMON: Use C++11 static_assert when available
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-10 09:56:43 -06:00
Paul Gilbert
600fe749c5 XEEN: Fix animation of wall torches 2017-11-10 06:09:30 -05:00
Paul Gilbert
d8aab6362a
Merge pull request #1049 from csnover/lure-unaligned
LURE: Stop taking address of unaligned pointer
2017-11-09 18:29:07 -05:00
Paul Gilbert
cb90f861b8 XEEN: Cleanup of PowType enum names 2017-11-09 11:05:28 -05:00
Paul Gilbert
381567c1a3 XEEN: Properly animate arrow shooting 2017-11-09 10:48:39 -05:00
Paul Gilbert
fed68d19d2 XEEN: Create a PowType enum for ranged arrow/spell types 2017-11-09 07:57:05 -05:00
Paul Gilbert
cd0f896253 XEEN: Changed multiAttack to rangedAttack 2017-11-08 19:55:41 -05:00
Bastien Bouclet
1757f7dc5d AUDIO: Switch to BitStreamMemoryStream in the QDM2 decoder 2017-11-08 20:57:35 +01:00
Bastien Bouclet
bf3c98815f AUDIO: Add some padding to the QDM2 decoder input buffer
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-08 20:57:24 +01:00
Colin Snover
b0eb5caa51 LURE: Stop taking address of unaligned pointer
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-07 22:57:33 -06:00
Colin Snover
8e8ec3900c SDL: Get correct default graphics mode ID when queried
Fixes Trac#10312.
2017-11-07 21:34:42 -06:00
Paul Gilbert
8a42959eed XEEN: Fix FX calls in multiAttack 2017-11-07 20:04:00 -05:00
Lothar Serra Mari
262570a576 I18N: Update translation (German)
Currently translated at 100.0% (959 of 959 strings)
2017-11-07 21:13:23 +01:00
D G Turner
872c5ee7c5 LINUX: Fix Header for major/minor macros, thus removing warnings.
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-07 20:18:22 +00:00
Thierry Crozat
18b8a8cd78 I18N: Regenerate translations data file 2017-11-06 05:05:04 +01:00
Paul Gilbert
87bff2dfcd TITANIC: Remove testing flag from German version 2017-11-04 11:38:19 -04:00