Commit Graph
137148 Commits
Author SHA1 Message Date
sluicebox befeca6c9b SCI: Fix kDoSound redundant fade detection
Fixes two discrepancies in redundant fade detection that were discovered
while investigating LONGBOW bug #13674:

- MusicEntry::fadeTo was altered even when the fade was ignored
- Redundant fades are allowed in SSCI when the stopOnFade flag is passed
2022-07-30 16:39:25 -04:00
sluicebox d2d46b67c5 SCI: Fix KQ5 bandit music fade workaround
The existing workaround prevented a crash but it performed volume tests
on an object's offset and abruptly ended the bandit music instead of
fading it out as in the original.

The broken kDoSoundFade call is redundant because a second script calls
kDoSoundFade correctly at the same time. Now the broken call is ignored
and the music fades out normally.

Bug #5078
2022-07-30 16:39:24 -04:00
sluicebox 55c719aea9 SCI: Handle alternate bit orders in game flag debug commands
Five games store flags in a different bit order than the rest
2022-07-30 16:39:24 -04:00
Paweł Kołodziejski 63cdc2f3eb ICB: Avoid casting CGameObject class to memory 2022-07-30 21:26:14 +02:00
Paweł Kołodziejski 32f10e16f4 ICB: Few endian code fixes 2022-07-30 21:25:28 +02:00
Paweł Kołodziejski 8813b7e489 ICB: Silence warnings 2022-07-30 20:48:03 +02:00
Paweł Kołodziejski a2aaca3786 ICB: Avoid casting rap_API class to memory 2022-07-30 16:58:23 +02:00
Paweł Kołodziejski dedb524011 ICB: More work on endian code safe 2022-07-30 16:29:46 +02:00
Paweł Kołodziejski a277b779f0 ICB: More work on endian code safe 2022-07-30 16:18:27 +02:00
Paweł Kołodziejski 0f4791ea28 ICB: Avoid casting PXMarker class to memory 2022-07-30 16:17:54 +02:00
Paweł Kołodziejski c0a35f0825 ICB: Eliminate macro function override 2022-07-30 15:32:37 +02:00
ScummVM-Translations d317e934ea 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-07-30 13:14:44 +00:00
Paweł Kołodziejski 072fead8da ICB: Avoid casting LinkedDataFile class to memory 2022-07-30 15:14:30 +02:00
ScummVM-Translations c86dbeb66c I18N: Update translations templates 2022-07-30 11:49:34 +00:00
Donovan Watteau 3927fd8ef1 SCUMM: Fix DISABLE_TOWNS_DUAL_LAYER_MODE builds 2022-07-30 13:47:07 +02:00
Donovan Watteau b1e08f3f52 SCUMM: Fix typo in variable name in previous fix 2022-07-30 13:45:44 +02:00
Paweł Kołodziejski 73f29ee3d5 ICB: Work in endian code safe, avoid casting pxBitmap class to memory. 2022-07-30 11:05:03 +02:00
Paweł Kołodziejski 25496c5a84 ICB: Do not load game data into memory. 2022-07-29 20:48:42 +02:00
athrxx 1e6e1c60f8 SCUMM: fix warning 2022-07-29 20:43:50 +02:00
Donovan Watteau b571215da8 SCUMM: Fix/unify eriktorbjorn's name in MD5 table
Was truncated in commit 3576556621.
With approval on Discord.

(This change doesn't impact engines/scumm/scumm-md5.h)
2022-07-29 20:14:36 +02:00
Lothar Serra Mari c43b34498b NEWS: Mention EGA dithering mode for SCUMM in German NEWS 2022-07-29 20:04:22 +02:00
athrxx c79f3e8781 SCUMM: (DOTT/EGA) -fix verb screen glitch
(wrong color range in darkenPalette, but actually only for games that don't really support the EGA mode)
2022-07-29 19:35:33 +02:00
Donovan Watteau 27f9a460b5 JANITORIAL: Fix "the the" and similar typos 2022-07-29 19:36:40 +03:00
athrxx 7c6973ed8a SCUMM: (LOOM/VGA) - fix dissolve effect for EGA dithering mode 2022-07-29 18:11:55 +02:00
athrxx 602a70fa2b SCUMM: (EGA) - fix palette glitch when loading savegames 2022-07-29 16:43:33 +02:00
ScummVM-Translations 5bd078ecf4 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-07-29 14:30:39 +00:00
athrxx eca2a6fff0 NEWS: mention SCUMM EGA dithering 2022-07-29 16:30:12 +02:00
ScummVM-Translations 744209d318 I18N: Update translations templates 2022-07-29 14:23:51 +00:00
athrxx 9c3b176632 SCUMM: (MI1/FM-Towns) - clear text surface when restarting with F8
All other FM-Towns titles do this in initScreens(). I don't remember why I did it like this for MI1 , but now it doesn't glitch on restart any more...
2022-07-29 16:23:25 +02:00
athrxx 9ca9be789c SCUMM: implement EGA dithering mode
(for certain VGA titles)

I've included some titles that do not support this in the original, but e. g. DOTT will require some more fixes for glitches.
2022-07-29 16:23:24 +02:00
Donovan Watteau 3892502b04 SCUMM: Further file sizes for the MD5 table, from eientei95 2022-07-29 13:09:10 +02:00
Le Philousophe bffb6e244a BASE: Allow platforms to not include the help messages
This allows to save some space on constrained devices which still allow
for command line.
Enable this space saving on DS and enable back command line support.
Cleanup old workaround for 3DS.
2022-07-29 13:08:22 +02:00
Le Philousophe 8593f576fd JANITORIAL: Remove useless DS ifdefs
DS port already defines DISABLE_COMMAND_LINE
2022-07-29 13:08:22 +02:00
Le Philousophe 458535cee1 JANITORIAL: Remove useless ANDROID ifdef
The ANDROID define has been removed in 8de5edde95.
This means this if branch was never taken for more than 10 years.
2022-07-29 13:08:22 +02:00
Timo Mikkolainen 10d4348f8f I18N: Update translation (Finnish)
Currently translated at 100.0% (1771 of 1771 strings)
2022-07-28 21:37:25 +00:00
Donovan Watteau af74960d11 SCUMM: Add some file sizes and version strings in MD5 table
From my own media (old UbiSoft CDs, Limited Run Games sets, GOG...).
2022-07-28 21:10:30 +03:00
Orgad Shaneh 5809c34120 SCUMM: Fix past-buffer read on fakeBidiString
fakeBidiString accepts an argument named ignoreVerb. When it is set, we do
not reverse the current section at this point (only these 2 characters are
swapped, so that they'll be swapped back when reversing everything at once
afterwards).

But the condition above covers also end of string *current == 0 along with
the control characters, so on this case, the function still looked for the
newline character past the string buffer. On some cases, a previous string
that was written on the same buffer (the buffer is reused for every string
in the engine), can have newline exactly at this point, and we applied the
same logic, and swapped the newline with 0, which eventually resulted with
some garbled text from the previous buffer.

Fix by excluding end of buffer for this condition.
2022-07-28 11:51:58 +03:00
AndywinXp 2a13273e5c SCUMM: DiMUSE: Remove unnecessary mutex call causing softlocks
The call was unnecessary since the one being fundamental is the call made
to the resource manager mutex in _vm->getResourceAddress(); this fixes
some very rare (but also very real) cases of v7-8 games softlocking.
2022-07-28 00:16:17 +02:00
Lothar Serra Mari 39fa934653 NEWS: Mention latest MI2 dead-end fix in German NEWS file 2022-07-27 18:45:00 +02:00
Paweł Kołodziejski fccbc28357 WINTERMUTE: Relax exit conditions for mszip packed X files
Few game have X files packed data not clean ended.
Remove conditions on last data and keep only remaining data condition.
2022-07-27 18:10:09 +02:00
AndywinXp 5475281c09 SCUMM: Clean up boolean assignment in c108dc2
...whoops. Thanks athrxx for the heads up.
2022-07-27 17:12:55 +02:00
AndywinXp c108dc2646 SCUMM: Fix o5_faceActor() implementation for v4 and below
Fixes #5312.
Verified from the disasms of MANIAC v2, INDY3 v3 and LOOM v4.
2022-07-27 15:03:36 +02:00
Donovan Watteau a5c0b044c6 NEWS: Mention the fix for the dead-end in Monkey 2 Ultimate 2022-07-27 10:21:43 +02:00
Donovan Watteau 691d1dffdb SCUMM: Improve the antiques dealer map piece workaround (Monkey2)
The Ultimate Talkie Edition fixes this at the source, by setting
Bit[70] as intended when you buy the map piece.

But it makes more sense to fix it at a later stage for us, so that
it will also apply for previous saves (if one enables the Enhancement
option), and so that one can also disable this enhancement just before
meeting Captain Dread at this point, if they prefer to restore the
original behavior of the game.

Again, we're not modding the game here, just restoring an intended
behavior which was hidden by a script error, but people may prefer
playing the game with the original behavior they've known for years
and years.
2022-07-27 10:58:21 +03:00
Donovan Watteau abe00b44c9 SCUMM: Restore Captain's Dread reaction when you have the four map pieces
This actually comes from the Ultimate Talkie Edition, so we're just
borrowing their fix for this.

The original scripts check if you have the whole map of Big Whoop; if
that's the case and you go to Captain Dread's ship, he should tell you
that he must go back to Scabb Island, and he'll leave you there and
never appear again. This forces the player to focus on Scabb Island
again, so that you know where to solve the map puzzle.

If you don't remember this, it's because the scripts forget to update
the status of the map piece from the antiques dealer, when you buy it.
So this is what this commit fixes, and this makes the Captain Dread
script trigger as intended.

Note: this REQUIRES the model lighthouse lens fix I've committed just
before, otherwise this would add a dead-end to the game (because of
another original script oversight; see that commit and
o5_notEqualZero() for more information).

We are restoring something which was part of the original intent of
the writers (it has even been dubbed in the Special Edition), but
it's maybe controversial since people never saw this in the original
because of a script bug.  That's why this is just an enhancement that
you can disable.

Kudos to the Ultimate Talkie Edition authors for this very nice
finding!
2022-07-27 10:58:21 +03:00
Donovan Watteau e30f9e2c35 SCUMM: Fix a possible dead-end in Monkey Island 2 (Ultimate Edition)
When playing the Regular mode of the Ultimate Talkie Edition of Monkey
Island 2, you can get stuck if you picked up the four map pieces, but
haven't picked up the model lighthouse lens yet. Captain Dread will
force you to go back to Scabb Island and disappear (so you can't go
back to Phatt Island), but Wally won't be able to read the map without
his monocle and without the lens replacement. Nobody wants a dead-end
in a Monkey Island game :)

This commit just short-circuits the checks for the four map pieces if
the lens is still on the model lighthouse, and so you're still free
to navigate between the 3 islands until you pick it up.

This doesn't happen in any other version (yet), because the Ultimate
Edition is the only one which fixed setting the Bit[70] flag when
buying the map piece from the antiques dealer, restoring the reaction
from Captain Dread but unveiling this other, more fatal script
oversight.  But we'll need this fix for the other versions anyway,
since I'm going to add the same enhancement in a new commit.
2022-07-27 10:58:21 +03:00
elasota 5e2f191d75 MTROPOLIS: Fix detection entry for Obsidian Mac demo 2022-07-27 02:35:13 -04:00
elasota 3503feec23 MTROPOLIS: Fix up some things used by Obsidian demos 2022-07-27 02:34:17 -04:00
elasota 2fcbe69771 MTROPOLIS: Forcibly disable behavior children when the behavior is switched off 2022-07-27 01:41:51 -04:00
D G Turner 0e40647711 DIRECTOR: LINGO: Fix GCC Compiler Warning 2022-07-27 05:57:48 +01:00