Commit Graph
86814 Commits
Author SHA1 Message Date
Willem Jan Palenstijn 3ac39075c8 GRAPHICS: Fix potentially uninitialized pointers in BDF loader 2017-11-14 09:12:15 +01:00
Bastien Bouclet 65d0984364 GRAPHICS: Fix freeing invalid pointers in the BDF font destructor
Fixes a crash on exit when using a non default GUI font.
Possibly fixes #10318.
2017-11-14 06:41:06 +01:00
Eugene Sandulenko 327dcf98ec DRASCULA: Make remaining static texts translatable
drascula.dat file version bumped
2017-11-14 04:07:11 +01:00
Paul Gilbert 2ab66e7803 XEEN: Added giveBankInterest method 2017-11-13 20:46:37 -05:00
Paul Gilbert 13a53f3731 XEEN: Added resetBlacksmithWares method 2017-11-13 20:37:29 -05:00
Paul Gilbert 6412dc5f0e XEEN: Fix compiler warnings 2017-11-13 17:40:44 -05:00
Paul Gilbert 5a17a96c38 TITANIC: Fix switch fall throughs 2017-11-13 07:37:07 -05:00
Bastien Bouclet 0b28ea9884 COMPOSER: Fix the detection for the French Gregory version
The commit message of 2739d8fa2 says this is for the French version. The
language was set to English by mistake.

Ref#6548
2017-11-13 07:25:37 +01:00
Colin Snover a6659ba9d5 DREAMWEB: Use accurate memory reclamation for Ex transfers
When the Ex memory regions are close to full, it is possible for
the game to fail to purge objects and then crash with an OOM error
even if it isn't actually out of memory. This patch calculates the
amount of free memory truly needed when allocating to Ex memory to
allow exactly the entire frame & text regions to be used, instead
previously where a hard-coded amount of free space to maintain was
used, which guaranteed that the entire memory region could not
actually be used by the game.

This change may be masking some underlying memory leak, or it may
just be that near the end of the game the game naturally comes
close to reaching the maximum memory region size. For the moment,
I am assuming the latter.

This commit also adds some assertion checks to the memory transfer
functions to make sure the regions don't quietly overflow in other
cases, since pickupConts performs transfers in a manner that
doesn't ensure enough free memory exists for them to be successful.

Fixes Trac#6820.
2017-11-12 23:15:05 -06:00
Colin Snover 0eda63bed1 SCUMM: Fix race condition in MOD player
Fixes Trac#6272.
2017-11-12 23:15:05 -06:00
Thierry Crozat 63b90d13e4 I18N: Regenerate translations data file 2017-11-13 05:05:08 +01:00
Paul Gilbert 97e4f3878d XEEN: Added How Much dialog 2017-11-12 20:27:42 -05:00
Paul Gilbert 191e491f0a XEEN: Added resetYearlyBits 2017-11-12 19:48:56 -05:00
Paul Gilbert 4abcbcb9fb XEEN: Added remainder of giveTake 2017-11-12 18:48:30 -05:00
Thierry Crozat 086b6e7e55 I18N: Update translation (French)
Currently translated at 100.0% (960 of 960 strings)
2017-11-12 23:44:59 +01:00
D G Turner 5199f9d080 SWORD25: Suppress GCC Cast Qualification Warnings.
Since lua_pushlightuserdata and lua_touserdata operate on (void *)
values, it is tricky to fix these warnings "correctly" without looking
at invasive changes to a significant amount of Lua internal code.

Since these pointers to consts are already being recast to drop the
const qualifications, then removing the const on the underlying value
declaration does not further expose this to change and stops the
compiler warnings associated with this.

Anyone with a better fix for this can restore the const
qualifications later.
2017-11-12 20:55:59 +00:00
Paul Gilbert da87097835 XEEN: Fix compiler warnings & AmigaOS errors 2017-11-12 06:05:40 -05:00
Bastien Bouclet ce3d5ebec1 GRAPHICS: Fix buffer overflow in drawBevelSquareAlgClip
Port of the fix from 0d8afad55.
2017-11-12 10:38:05 +01:00
Colin Snover 0d8afad559 GRAPHICS: Fix buffer overflow in drawBevelSquareAlg
Thanks to garethbp for discovering the issue and providing a fix.

Fixes Trac#6468.
2017-11-11 20:49:19 -06:00
Paul Gilbert c068dd8b4a XEEN: Added more giveTake 2017-11-11 21:31:30 -05:00
Colin Snover e6228f3ff6 SCI32: Fix integer overflow calculating audio duration
Due to the need to calculate the audio duration with millisecond
precision from the file size, it is possible to overflow a 32-bit
integer in games with long background audio loops, like RAMA,
during the calculation of the duration.

It is also not necessary to give some framerate here, so eliminate
the unnecessary explicit Timestamp construction with the second
argument.
2017-11-11 20:18:17 -06:00
Paul Gilbert 4a76e6fb3d XEEN: In progress implementing giveTake 2017-11-11 20:25:20 -05:00
Walter van Niftrik 4c3cb46bc8 ADL: Remove ADGF_TESTING for hires3+4 2017-11-11 23:41:59 +01:00
Colin Snover f99c83c0a0 DREAMWEB: Fix out-of-bounds read of frame animation data
The game reads until it sees 0xFF, which is not until frame 14 for
some animations in the first interactive room of the game. This
happened to work previously because the struct is packed so it
would read into the b31.. members, but this was still technically
an out-of-bounds read.
2017-11-11 16:19:23 -06:00
Paul Gilbert 406ff7db10 XEEN: Fix comparisons for script If opcode 2017-11-11 16:45:50 -05:00
Paul Gilbert 2c2803863e XEEN: Debugger commands for gold and gems 2017-11-11 12:21:39 -05:00
Paul Gilbert fddc81a23e XEEN: Fix premature sound parsing end 2017-11-11 11:56:56 -05:00
Ben Castricum d6e12691f0 I18N: Update translation (Dutch)
Currently translated at 100.0% (960 of 960 strings)
2017-11-11 16:31:14 +01:00
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