86439 Commits

Author SHA1 Message Date
sluicebox
908a13998c SCI: Fix previous LB2 CD script patch 2022-08-19 16:45:43 -04:00
antoniou79
9a78bc339c BLADERUNNER: Get rid of -Wcast-align warning 2022-08-19 20:06:03 +03:00
Dominik Kreutzer
f9f864c959 SCUMM: DiMUSE: Fix unaligned map access
The map in IMuseDigiDispatch can contain unaligned blocks if it
contains a TEXT block with a length not divisible by four. This causes
unaligned memory accesses in a few places.

This commit fixes the issue by ensuring only aligned pointers are typed
as `int32 *` while unaligned pointers are typed as `uint8 *` and are
only accessed through helper functions.
2022-08-19 16:59:23 +02:00
Eugene Sandulenko
a99b0aa952
SCUMM: Fix non-ASCII string constant 2022-08-19 14:45:38 +02:00
athrxx
f1c5276bef SCUMM: (v1/v2/FR) - add original pause/restart/quit strings
I have added the French strings provided by dwa and made
a little decoder that transfers the character to cp850 if
needed.
This way we can support both original pause/restart/quit
dialogs and the ones that we currently have.
2022-08-19 13:19:22 +02:00
sluicebox
d1cf428dec SCI: Fix LB2 CD Wolf and O'Riley actor loops 2022-08-19 07:12:29 -04:00
sluicebox
78a6a93faf SCI: Fix LB2 error when clicking dagger case 2022-08-19 07:12:29 -04:00
sluicebox
9ccadff907 SCI: Fix LB2 museum music script bugs 2022-08-19 07:12:28 -04:00
sluicebox
987354c5fa SCI: Fix kDoSoundFade SCI1+ behavior when sound not playing
In SCI1 and later, kDoSoundFade does not test a sound's status.
Incoming fade properties are applied regardless of whether the
sound is playing and kDoSoundFade does not set the signal.

The code that's been doing this was added and updated in 2010
for ICEMAN and LSL3. Now it's only applied to SCI0 calls.
e41874c91d4e658289664e7ea5eddc2c89a03c34
f743468ec7174088dffde0fd1a61d3afcf78280b

Verified in QFG2 1.000, JONES CD, and LB2 CD.

Fixes scenes in LB2 where multiple songs occasionally play at the
same time due to broken fade-outs. Hiding behind the tapestry
during a meeting is the one that occurred the most consistently.
Related to bug #6462
2022-08-19 07:12:28 -04:00
sluicebox
db7699c65a SCI: Set correct SCI1.1 fade-complete signal value
As the comment says, the signal value is 0x00fe.

Verified in LB2 CD interpreter.
2022-08-19 07:12:27 -04:00
sluicebox
12576e29fb SCI: Add name filtering to functions debug command 2022-08-19 07:12:27 -04:00
eientei
7bbd857ae1 MTROPOLIS: Add detection for Muppet Treasure Island (EN from JeffCharizardFlame, IT, ES (MX), EN demo) 2022-08-19 01:20:15 -04:00
athrxx
2fe65d95ef SCUMM: limit render modes to suitable targets
While we already tried to prevent invalid render mode
selections there were still some possible misconfigurations.
I have no idea why on earth people do things like select
CGA mode on Mac or Amiga, but it happens...
2022-08-18 20:35:38 +02:00
athrxx
2124de037e SCUMM: fix savename encodings
I used kISO8859_1 which works fine most of the
time, but it is still not correct. Now, we just call
getDialogCodePage(), so we get the code page
that matches the current game font...
2022-08-18 20:35:21 +02:00
Martin Gerhardy
aaf47ea195 TWINE: Items/pickups start flashing the moment they pop out. 2022-08-18 17:08:43 +02:00
Martin Gerhardy
d1be8e523e TWINE: todo comment 2022-08-18 17:08:43 +02:00
Martin Gerhardy
26cce38137 TWINE: extract to local variables 2022-08-18 17:08:43 +02:00
Martin Gerhardy
5dddc23714 TWINE: fixed giving kashes as replacements where it should have been life points 2022-08-18 17:08:43 +02:00
Martin Gerhardy
c39ea9499b TWINE: depth sorting issue for doors
https://bugs.scummvm.org/ticket/12085
2022-08-18 17:08:43 +02:00
Martin Gerhardy
4f03586d8b TWINE: music pauses when entering the behaviour mode menu
so it also pauses when hitting F1-F2

https://bugs.scummvm.org/ticket/13679
2022-08-17 20:50:39 +02:00
athrxx
c6e8f6494b SCUMM: (v1-3) - improve pause/restart/quit string handling
The recent PR 4204 made me aware of some things I had kind of tried to ignore when I updated these dialogs for CJK font support.

Currently, the language for the pause/restart/quit messages is tied to the GUI/launcher language and the translation manager is used to translate the. E. g., if you start the French version of MM or ZAK and have a launcher language setting of English, you will get the English pause/restart/quit messages. If you set the launcher language to French you will get it the French ones. Also, the encodings from the translation manager aren't compatible with the game string encodings (mostly solved by PR 4204, though).

This commit now gets rid of any translation manager use here. Instead, we tie the translations for these messages to the game language.

I have included all strings for the v1/v2 language variants I found in the detection table.

I am interested in having the exact original messages here. However, I have only inserted them from the English interpreters, since those are all I have. For the other languages, for the time being, I have just used the texts from the translation manager and reencoded those with codepage 850. So, if anyone has access to an original v1/v2 interpreter in French, Italian, German, Spanish, Russian or Swedish, he/she might want to extract and replace the strings here with the correct ones...
2022-08-18 02:17:42 +02:00
Donovan Watteau
27f2307b8a SCUMM: Work around a small glitch with Largo's door in Monkey2
If one closes the door just before using the pins with the voodoo doll
in front of Largo, the middle of the door will glitch when Largo opens
it again to escape from his room.

It looks like script 13-200 forgot to clean the part of the door which
deals with the (invisible) laundry claim ticket, in this case. But
script 13-213 triggers the same action without any problem, since this
one properly updates the class and state of this object; so let's just
reuse its `setState(111,2)` and `setClass(111,[160])` calls.
2022-08-17 23:15:04 +03:00
eientei
d47127aa90 SCUMM: Simplify bug #4556 workaround; comment fixes 2022-08-17 21:47:29 +02:00
Donovan Watteau
9e01a7dd21 SCUMM: Use CP850 (or Windows-1252) in dialogs for some European languages
Not 100% correct, since LEC used an incomplete, tweaked and variable
internal code page that's just based on CP850, but it should still be
an improvement.
2022-08-17 19:04:04 +02:00
Donovan Watteau
484c0589f7 SCUMM: Add more inline details about the Trac#1266 workaround
Details taken from the Trac issue itself; I don't have this version.
2022-08-17 14:54:27 +02:00
eientei
c10cac531e SCI: Add detection for QFG2 v1.105 (5x5.25") 2022-08-17 01:54:44 -04:00
Misty De Meo
43d96157e5 DIRECTOR: unify getResource behaviour 2022-08-16 17:43:33 -07:00
Shahar Ariel
8b09704245 SWORD2: Add Hebrew support 2022-08-16 12:57:02 +03:00
athrxx
221f9c955f SCUMM: cleanup b4185bdf
Extend change to the versions to which it applies and update comment.
2022-08-15 23:11:54 +02:00
Orgad Shaneh
8136ab7406 SCUMM: Fix hash and description of Hebrew MI2 2022-08-15 20:27:46 +03:00
sluicebox
91abac95c7 SCI: Add entry for LB2 French fan translation 2022-08-15 10:49:06 -04:00
Orgad Shaneh
71ee10a8a9 SCUMM: Detect Hebrew fan translation for MI2 2022-08-15 10:10:51 +03:00
athrxx
b4185bdf60 SCUMM: (LOOM/EGA) - fix bug 13763 (Inaccurate text position)
I am going to clean this up a bit after confirming the behavior of the other v1-3 games. I bet that it it is the same thing (only that it probably doesn't matter, due to the text display being restricted to the top of the screen and the verb screen).
2022-08-15 01:06:19 +02:00
BLooperZ
2af18f7a91 SCUMM: MONKEY2: align library cards to the right 2022-08-14 22:41:50 +03:00
BLooperZ
20813133ab SCUMM: MONKEY2: fix BiDi in multi-line dialogue interpolation 2022-08-14 22:16:15 +03:00
Eugene Sandulenko
1326ae2a62
MACVENTURE: Drop unneeded assignment. The same value is in the default constructor 2022-08-14 16:46:21 +02:00
eientei
c19597d49d MACVENTURE: Fix detection for Deja Vu 1993, others 2022-08-14 16:44:51 +02:00
athrxx
9d5155c475 KYRA: (LOK/Mac) - revert 4a287834 and make a different fix
The Mac version is supposed to always use the ENG main screen (with the text-free jewel button).
2022-08-14 16:09:31 +02:00
athrxx
9670b84de3 KYRA :(LOK/Mac) - minor sound driver improvement
Add control change volume - I haven't seen any use case yet, though.
2022-08-14 14:30:08 +02:00
neuromancer
3e1217159f HYPNO: added detection of wetlands 1.1 2022-08-14 09:16:48 +02:00
athrxx
b8bc864abd SCUMM: (LOOM/FM-Towns) - fix regression
Target is partly dysfunctional. Savegames can still be loaded from GMM, but the game will abort at the difficulty select dialog when starting normally...
2022-08-14 01:40:49 +02:00
athrxx
bf373f7454 KYRA: fix warnings 2022-08-13 16:59:14 +02:00
athrxx
574155f602 KYRA: (LOK/Talkie) - improve intro
(add some missing speech synchro stuff from disasm)
2022-08-13 16:51:48 +02:00
athrxx
4b4c436eb4 KYRA: (LOK/Mac) - fix talkie intro
(this version has an extra opcode)
2022-08-13 16:51:43 +02:00
athrxx
3589e5cf1b KYRA: (LOK/Mac) - improve sound driver
(talkie version adjustments )
2022-08-13 16:51:41 +02:00
athrxx
6a1f0077ad KYRA :(LOK/Mac) - use correct credits file 2022-08-13 16:51:36 +02:00
athrxx
4a28783478 KYRA: (LOK/Mac) - priorize resource files that match the selected language
The talkie version seems to have file versions for all supported languages in the game folder. So we try the ones that match our language first.
2022-08-13 16:51:33 +02:00
athrxx
eb6a769085 KYRA: (LOK/Mac) - fix talkie version
The talkie version was silently killed while we completed the support for the regular Mac version.

Also cleanup all the LOK static resources a bit (remove garbage offsets).
2022-08-13 16:51:22 +02:00
AndywinXp
edf63e8672 SCUMM: DiMUSE: Prevent crashes if a .SOU/.BUN file can't be found 2022-08-13 11:57:55 +02:00
treloret
4368a380c4 SCI: Added detection for SCI fanmade games and removed unused gameid 2022-08-13 02:04:40 +03:00