133103 Commits

Author SHA1 Message Date
Walter Agazzi
e2575b86f6 SWORD: Add workaround for missing strings in Spanish demo 2022-10-04 20:35:31 +03:00
AndywinXp
7077d8d124 SCUMM: Fix AmigaOS and NDS builds 2022-10-04 13:50:49 +02:00
AndywinXp
a7a4d9f120 SCUMM: DiMUSE: Implement antiskip system for devices with slow load times
This code is present in all the original interpreters using Digital iMUSE, and it was implemented
in order to allow slower CD drives to fetch new data without having music skipping during load times.
This works by basically flooding the music buffer with data whenever a big resource, a voice file, or
a SMUSH movie is loaded.
Arguably this is not needed for devices using SSD drives, but since this change had its benefits on a
quite old laptop of mine, and since the memory overhead is very minimal, I have decided to implement it.
2022-10-04 11:34:14 +02:00
Andrea Boscarino
6ad5ed0b92 SCUMM: DiMUSE: Solve very rare deadlocks caused by two different mutex objects 2022-10-04 11:33:26 +02:00
SupSuper
ac771ac2de GUI: Fix engine icons only showing up in grid once 2022-10-04 01:37:28 +01:00
Walter Agazzi
cd29ebbda1 ICB: Add detection for Spanish Anniversary version 2022-10-04 00:41:02 +02:00
Stian Schultz
e357e335a3 I18N: Update translation (Norwegian Bokmål)
Currently translated at 100.0% (1767 of 1767 strings)
2022-10-03 20:37:52 +00:00
LINUX-SAUNA
5f33d59df8 I18N: Update translation (Finnish)
Currently translated at 100.0% (1767 of 1767 strings)
2022-10-03 20:37:51 +00:00
Thierry Crozat
23f15cfb2d AGS: Fix detection for The Excavation of Hob's Barrow
This game needs to use the Clifftop Games variant of the AGSSpriteFont
plugin. Also it uses an alternate name for the plugin. That name
was already supported when loading builtin plugins, but not for the
Clifftop Games variant.

This commit also adds detection for the Mac version from Steam.
2022-10-03 18:44:22 +01:00
Thierry Crozat
88c56f912d AGS: Fix access to uninitialized memory in base SpriteFont plugin
When using the base SpriteFont plugin and not the ClifftopGames variant,
the renderers pointer were not initialized in the constructor, which
could lead to them not being instantiated, and then causing a crash.
2022-10-03 18:44:22 +01:00
Donovan Watteau
a82501b638 AGS: Fix ReadEncInt32() on big-endian systems
Fixes kq1agdi crashing on big-endian systems, since it tried to allocate
a gigantic amount of memory from MFLUtil::ReadV21() because of the
misread values.

From upstream 5e29a339fc83bf5c06a3a9a3b1c65a2fc4b4e72c
Also includes upstream 427752da015fd93549deef1a31d5e533e5c9319e
2022-10-03 18:42:58 +01:00
Roland van Laar
73cb9378ad DIRECTOR: Fix dereference after null check
Add check on currentSprite because if statement before does a
check if currentSprite exists, meaning currentSprite can be a nullptr.

Fixes COVERITY: 1498653
2022-10-03 15:45:20 +02:00
Walter Agazzi
8def4f7245 MADS: Mark Rex Nebular Demo as unstable 2022-10-03 15:10:57 +02:00
Misty De Meo
a7f29a1c6e JANITORIAL: fix whitespace in CDROM XObj 2022-10-02 22:29:21 +02:00
Misty De Meo
f8a791bf9b DIRECTOR: move CDDA status into CDROM XObj 2022-10-02 22:29:21 +02:00
ScummVM-Translations
069d57da85 I18N: Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: ScummVM/scummvm
Translate-URL: https://translations.scummvm.org/projects/scummvm/scummvm/
2022-10-02 19:45:48 +00:00
Walter Agazzi
1a9c8fc501 WINTERMUTE: Add detection for Carol Reed 5 german 2022-10-02 21:44:15 +02:00
ScummVM-Translations
326ffbf448 I18N: Update translations templates 2022-10-02 19:09:41 +00:00
Donovan Watteau
98552a75d3 SCUMM: JANITORIAL: Better description of the French MI1 release with buggy MT-32
I'm told by some French players that only the 8-disk French VGA floppy
release had invalid MT-32 content, but that the 4-disk release didn't
have this problem. The MD5 check still appears to be OK, but the comment
was a bit wrong.
2022-10-02 21:08:05 +02:00
Martin Gerhardy
101b47623f TWINE: sanity check for fallback animation
if that animation could not get found, we access the animdata with a negative array index
(just a theoretical issue though)
2022-10-02 14:08:29 +02:00
Martin Gerhardy
1148ecaddd TWINE: reduced scope of extraIdx variable 2022-10-02 14:08:29 +02:00
Martin Gerhardy
e696fc3a12 TWINE: eliminate dead code 2022-10-02 14:08:29 +02:00
Antoniou Athanasios
8a1489b9e7 I18N: Update translation (Greek)
Currently translated at 100.0% (1767 of 1767 strings)
2022-10-02 09:57:29 +00:00
Einar Johan Trøan Sømåen
8054efa922 I18N: Update translation (Swedish)
Currently translated at 63.3% (1119 of 1767 strings)
2022-10-02 04:37:52 +00:00
Einar Johan Trøan Sømåen
8b03e57c16 I18N: Update translation (Norwegian Nynorsk)
Currently translated at 32.9% (582 of 1767 strings)
2022-10-02 04:37:51 +00:00
Einar Johan Trøan Sømåen
dba29d41be I18N: Update translation (Norwegian Bokmål)
Currently translated at 100.0% (1767 of 1767 strings)
2022-10-02 04:37:50 +00:00
Einar Johan Trøan Sømåen
e70c103ca3
GRIM: Initialize Overlay::_layer
Fixes COVERITY: 1433532
2022-10-02 01:27:13 +02:00
Einar Johan Trøan Sømåen
a18212b4d4
GRIM: Initialize Lua value even for Nil to avoid uninit values
In practice shouldn't matter, but just to avoid having
uninitialized values around, we should set the value-field,
even for Nil.

Fixes COVERITY: 1470689
2022-10-02 01:16:36 +02:00
Einar Johan Trøan Sømåen
1eb48aa90a
GRIM: Check for success in loading material.
Fixes COVERITY: 1433524
2022-10-02 01:13:10 +02:00
Einar Johan Trøan Sømåen
18a34fc9be
GRIM: Check that Bitmap-loading succeeded.
Fixes COVERIY: 1230890
2022-10-02 01:06:12 +02:00
Einar Johan Trøan Sømåen
068fd722e0
GRIM: Initialize GfxBase::_globalScaleW/_globalScaleH
This is a field in GfxBase that is only used (and initialized)
in GfxOpenGL, hence it will be left uninitialized in the other
renderers.

Fixes COVERITY: 1009909
2022-10-02 00:57:59 +02:00
Einar Johan Trøan Sømåen
109dbdb5b7
GRIM: Initialize Costume::_components in Costume::load
Presumably the indata always defines the parents before
the children, but nevertheless doesn't hurt to fix this,
if nothing else to make tools like Coverity happy.

Fixes COVERITY: 1470594
2022-10-02 00:50:42 +02:00
Einar Johan Trøan Sømåen
9647b9e707
GRIM: Initialize Model::_radius
It was left uninitialized if loadBinary was run,
presumably it was only used in use cases where that
was the loader that was run.

Fixes COVERITY: 1470688
2022-10-02 00:41:40 +02:00
Einar Johan Trøan Sømåen
ae8c19f894
GRIM: free() malloc-ed data in iMuse-callback.
The data-buffer is allocated using malloc(), and
should thus be free()-ed, not delete[]-ed.

Fixes COVERITY: 1433506
2022-10-02 00:38:12 +02:00
Einar Johan Trøan Sømåen
8e6ff75013
GRIM: Initialize SmushPlayer::_currentVideoIsTheora
Not likely to be a problem, as it is guaranteed to be
fully set once loadFile() has been called. But nevertheless
all fields should have a defined value after the constructor
has been run.

Fixes COVERITY: 1433423
2022-10-02 00:25:58 +02:00
Einar Johan Trøan Sømåen
3518c370bb
GRIM: Flip order of width/height in surface-creation.
This has 0 impact beyond pedantic correctness, as the
surface is square in this case, but doesn't hurt to
silence this warning properly.

Fixes COVERITY: 1433334
2022-10-02 00:16:24 +02:00
Walter Agazzi
a8d60fe56b I18N: Update translation (Italian)
Currently translated at 100.0% (1767 of 1767 strings)
2022-10-01 19:59:13 +00:00
Walter Agazzi
9ada4e505a AGS: Add detection for latest MAGS games 2022-10-01 21:46:50 +02:00
AndywinXp
57a4f165d5 SCUMM: DIMUSE: Add defines for magic numbers and command IDs 2022-10-01 17:47:17 +02:00
kane159
c7edf1ef19 I18N: Update translation (Chinese (zh))
Currently translated at 23.5% (417 of 1767 strings)
2022-10-01 14:37:50 +00:00
Le Philousophe
1d715c7bbb GUI: Fix memory leak when loading DEMO icon 2022-10-01 15:38:44 +02:00
Lothar Serra Mari
eba4574564 NEWS: Fix date formatting in German NEWS file 2022-10-01 11:53:28 +02:00
Lothar Serra Mari
7cb8a031dd NEWS: Mention improvements to the icon-based grid view 2022-10-01 11:49:07 +02:00
Cameron Cawley
9a71eb1a6d VIDEO: Avoid 64-bit math in Smacker bitstreams 2022-10-01 10:58:47 +02:00
Donovan Watteau
d3069f84e8 SCUMM: Fix an original tapestry glitch in Indy3 VGA (Trac#3208)
The 256-color versions of Indy3 have a very strange vertical line on the
big tapestry that's in the middle of room 135, in Castle Brunwald.

It looks like an artist made some wrong click when redrawing this object
for the VGA versions, or maybe the compression routine for those images
had some bug. QA was probably rushed for this port, too, since Indy3 has
various oversights related to the VGA conversion. A similar problem was
fixed in commit 6735e3c0f006730831f020e31b3385ee55f58edb.

The tapestry glitch was a bit harder to fix, because the glitched line
hides several pixels with different colors, and because this resource is
in a compressed format. AFAICS, v3 games have no concept of transparent
pixels for background objects, so that simpler solution wouldn't work
either. We could also trim the leftmost OI strip (since the wall in the
background is fine), but I couldn't get this to safely work with the way
unkDecode11() works.

So I have redrawn a fixed OI_0324 with the old BMRP.EXE tool, diffed
the two resources and then added a small mechanism which patches (for
copyright reasons) the impacted bytes from the original resource, as
it is being read. This is a very low-level trick, so various checks
have been added to make sure that we're not corrupting something
(incl. any fan-made modified Indy3), and also in order to make the
workaround a bit easier to follow.

(The most obsessive players will notice that the tapestry still cuts
through a part of the column in the upper-right corner, but I'm only
interested in fixing the obvious problem which was right in the
middle of the room. Sorry if you wished you hadn't seen this.)
2022-10-01 11:31:41 +03:00
BLooperZ
eb851041ed AGOS: SIMON2: Fix pirate dialogue freeze 2022-10-01 11:28:11 +03:00
AndywinXp
59c0b4fa7d SCUMM: Extend workaround for #832 to all games using this code 2022-09-30 21:16:36 +02:00
Die4Ever
5fe99667ce
CI: fix xcodebuild return code getting swallowed by pipe to awk 2022-09-30 08:36:24 -05:00
ScummVM-Translations
28266db727 I18N: Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: ScummVM/scummvm
Translate-URL: https://translations.scummvm.org/projects/scummvm/scummvm/
2022-09-30 12:24:57 +00:00
Donovan Watteau
c65d64100e SCUMM: Prevent an OOB _extraBoxFlags access in Actor::remapDirection()
_walkbox may be equal to kOldInvalidBox, which is 255, but then
_extraBoxFlags[_walkbox] would be dereferenced while _extraBoxFlags only
has 65 elements.

Found with UBSan in Loom Talkie, when the leaf falls from the tree.
2022-09-30 14:24:44 +02:00