Commit Graph
137148 Commits
Author SHA1 Message Date
Orgad Shaneh 6aeda12247 ENGINES: Warn when overwriting a non-autosave on autosave 2021-08-23 13:34:35 +02:00
Orgad Shaneh a0c818bde6 COMMON: Introduce SaveFileManager::exists
Checks if a savefile with given name exists.

Implement on all backends.
2021-08-23 13:34:35 +02:00
Orgad Shaneh fb8f233ed7 BACKENDS: Replace virtual with override in SaveFileManager subclasses 2021-08-23 13:34:35 +02:00
Orgad Shaneh 7adad5aaf5 ENGINES: Streamline auto-save write/delete protection
Some engines call setAutosave and some don't. isAutosave is used to
determine if a saved game is an autosave, but in fact, on most cases it
just falls back to comparing the name to "Autosave".

This is wrong for several reasons:
* Older versions of ScummVM used Autosave 0.
* The name "Autosave" is translated, so if you change the language, it
  won't be detected.

Instead of relying on the name, use the well-known getAutosaveSlot() from
Engine/MetaEngine.

Fixes #12735.
2021-08-23 13:34:35 +02:00
ScummVM-Translations c4e58093d7 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/
2021-08-23 11:26:53 +00:00
einstein95 465f242f0a DEVTOOLS: COMPANION: Set last modified time to one from volume 2021-08-23 13:26:42 +02:00
ScummVM-Translations 714863f0e3 I18N: Update translations templates 2021-08-23 10:17:29 +00:00
Martin Gerhardy 063970ba8a TWINE: removed outdated todo comment 2021-08-23 12:17:01 +02:00
Martin Gerhardy b3befdf6b9 TWINE: fixed unlocking achievements when resetting game flags 2021-08-23 12:17:01 +02:00
Martin Gerhardy 6d44405f5a TWINE: fixed savegame thumbnail creation
see https://bugs.scummvm.org/ticket/12827

this fixes a previous error that created invalid thumbnail images

a savegame with an invalid thumbnail included, could not get loaded
2021-08-23 12:17:00 +02:00
Martin Gerhardy d701616f87 TWINE: disable custom thumbnail for now
workaround for the save bug that still needs a proper solution for the thumbnails
2021-08-23 12:17:00 +02:00
Martin Gerhardy a1c9b60557 TWINE: Extended error output 2021-08-23 12:17:00 +02:00
Martin Gerhardy 637af0396d TWINE: fixed global main menu binding
bind it to F5 - as ctrl is already bound
2021-08-23 12:17:00 +02:00
Eugene Sandulenko 8812574dc8 GLK: GLULX: Added detecion for Italian Beyond. Bugreport #12825 2021-08-23 00:40:37 +02:00
Cameron Cawley d5f633425e RISCOS: Remove Iconv requirement from !Run 2021-08-22 22:53:38 +01:00
a/ e6bb527771 SAGA2: Remove globals/static variables in transit.cpp 2021-08-23 06:16:52 +09:00
ScummVM-Translations 17e94ef4ba 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/
2021-08-22 21:10:06 +00:00
antoniou79 8749a2bb36 BLADERUNNER: RESTOREDCONTENT: Fix bugs in Crazylegs arrest
Also restore a few lines for dialogue with Runciter, and a Steele cue

And added notes for bugs to resolve in the future, the BLOND WOMAN dialogue bug with Early Q in particular
2021-08-23 00:09:51 +03:00
ScummVM-Translations 67ba8f327c I18N: Update translations templates 2021-08-22 21:09:13 +00:00
Martin Gerhardy 60111294a0 BACKENDS: moved the audio cd track path assembly into one location
also added m4a audio cd support as it is supported in openStreamFile() which
is called in DefaultAudioCDManager::play()
2021-08-23 00:09:03 +03:00
Martin Gerhardy dcaad26e86 ENGINES: keep existExtractedCDAudioFiles in sync with DefaultAudioCDManager::play()
out of sync since: f5164c9117
2021-08-23 00:09:03 +03:00
ScummVM-Translations d45d3307ce 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/
2021-08-22 21:08:19 +00:00
Ben Castricum 9f44c5522a SCUMM: MONKEY-VGA fix bug #10571, Object stopped with active cutscene
Also occurs in original

Script 68 contains the code for handling the mugs. The issue occurs when a mug
changes state. It will call setObjectName for the new state which in its turn
restarts objects in inventory. Some objects (kidnap note) can be in a cutscene state
what causes a crash if the object gets restarted. This workaroud waits for cutscenes
to end, preventing the crash.

Script #68
[0000] (DD) setClass(Local[0],[146]);
[0007] (28) if (!Bit[421]) {
[000C] (1A)   Bit[421] = 1;
[0011] (62)   stopScript(201);
[0013] (62)   stopScript(188);
[0015] (80)   breakHere();
[0016] (D8)   printEgo([Text(sound(0x612F889, 0xA) + "This stuff is eating right through the mug!")]);
[0054] (80)   breakHere();
[0055] (0A)   startScript(201,[]);
[0058] (**) }
[0058] (2E) delay(300);
[005C] (DD) setClass(Local[0],[147]);
[0063] (D4) setObjectName(Local[0],"melting mug");
[0072] (1A) Var[233] = 500;
[0077] (48) if (VAR_ROOM == 33) {
[007E] (3A)   Var[233] -= 2;
[0083] (48) } else if (VAR_ROOM == 35) {
[008D] (3A)   Var[233] -= 3;
[0092] (48) } else if (VAR_ROOM == 34) {
[009C] (3A)   Var[233] -= 5;
[00A1] (18) } else {
[00A4] (3A)   Var[233] -= 1;
[00A9] (**) }
[00A9] (80) breakHere();
[00AA] (78) unless (Var[233] < 1) goto 0077;
[00B1] (DD) setClass(Local[0],[134]);
[00B8] (D4) setObjectName(Local[0],"mug near death");
[00CA] (2E) delay(300);
[00CE] (DD) setClass(Local[0],[12]);
[00D5] (D4) setObjectName(Local[0],"pewter wad");
[00E3] (9A) Local[1] = VAR_ROOM;
[00E8] (80) breakHere();
[00E9] (C8) if (Local[1] == VAR_ROOM) {
[00F0] (18)   goto 00E8;
[00F3] (**) }
[00F3] (A9) setOwnerOf(Local[0],0);
[00F7] (A9) setOwnerOf(Local[0],15);
[00FB] (0A) startScript(11,[]);
[00FE] (0A) startScript(12,[]);
[0101] (DD) setClass(Local[0],[19,6,140]);
[010E] (0C) Resource.unlockScript(69);
[0111] (A0) stopObjectCode();
END
2021-08-23 00:08:08 +03:00
Ben Castricum ccc7412c57 SCUMM: MONKEY-VGA fix bug #346, Object stopped with active cutscene
Also occurs in original.

In script 204 room 25 (Cannibal Village) a crash can occur when you are
expected to give something to the cannibals, but instead look at certain
items like the compass or kidnap note. Those inventory items contain little
cutscenes and are abrubtly stopped by the cutscene in script 204 at 0x0060.

This workaround changes the result of isScriptRunning(164) to also wait for
any inventory scripts that are in a cutscene state, preventing the crash.

Script #204
[0000] (1A) Bit[354] = 1;
[0005] (1A) Var[249] = 0;
[000A] (5D) setClass(303,[32]);
[0011] (DD) setClass(VAR_EGO,[5]);
[0018] (2E) delay(1200);
[001C] (80) breakHere();
[001D] (68) VAR_RESULT = isScriptRunning(164);
[0021] (A8) if (VAR_RESULT) {
[0026] (18)   goto 001C;
[0029] (**) }
[0029] (58) endOverride();
[002B] (91) animateCostume(VAR_EGO,3);
[002F] (5D) setClass(303,[160]);
[0036] (40) cutscene([]);
[0038] (AE) WaitForMessage();
[003A] (14) print(5,[Text("Obviously you have nothing for us.")]);
[0060] (C0) endCutscene();
[0061] (2A) startScript(105,[],F);
[0064] (A0) stopObjectCode();
END
2021-08-23 00:08:08 +03:00
ScummVM-Translations f5792e69bc I18N: Update translations templates 2021-08-22 21:07:21 +00:00
Cameron Cawley 15b6a58c98 GUI: Fix displaying static engine options widgets in the in-game options dialog 2021-08-23 00:07:11 +03:00
Cameron Cawley 6edcd3c21c GUI: Fix displaying dynamic engine options widgets in the Edit Game dialog 2021-08-23 00:07:11 +03:00
Roland van Laar c242dcbeb8 DEVTOOLS: COMPANION: fix dir mode
Last refactor left the dir mode in a broken state.
Thanks to @trembyle for spotting it.
2021-08-22 23:04:07 +02:00
Roland van Laar fb95877874 DEVTOOLS: COMPANION: remove escape chars
It was decided on discord that we're only escaping chars that windows
absolutely can't handle.

These chars are now not escaped: ,;=
2021-08-22 22:56:33 +02:00
Cameron Cawley 644e7354f5 CREDITS: Update credits 2021-08-22 22:25:33 +03:00
Cameron Cawley 8a21f2bcb3 DEVTOOLS: Fix the order of engines in the credits 2021-08-22 22:25:33 +03:00
Thierry Crozat 3c81027efa AGS: Allow using pixel format with different color depth than requested
This allows to play 32 bit games on iOS (the backend currently only
supports 16 bit color depth).
2021-08-22 19:45:20 +01:00
Thierry Crozat 0d8b9d272c OS7: Fix calling UI API on a background thread
This occured for example whenever showing the GMM in a game and
could cause various issues.
2021-08-22 19:45:19 +01:00
djsrv 952dc3d3e1 COMMON: Fix punycoding strings with no ASCII chars 2021-08-22 14:42:33 -04:00
djsrv a60e144e1e DIRECTOR: Fix punycode in detection tables 2021-08-22 13:16:13 -04:00
djsrv ad6f533175 COMMON: Fix punycode encoder/decoder
These need to use Unicode code points, not raw bytes.
2021-08-22 13:11:26 -04:00
djsrv 7b71e617f6 COMMON: Fully remove old punycode path functions 2021-08-22 11:45:02 -04:00
Lothar Serra Mari 3965cde9f7 NEWS: Remove Hades Challenge from the German NEWS file for now 2021-08-22 14:44:35 +02:00
Eugene Sandulenko 6e5db65828 NEWS: Remove Hades Challenge, as it was not announced supported 2021-08-22 14:43:10 +02:00
Cameron Cawley 751a1ce28c GLK: Include Comprehend and Glulxe in release builds 2021-08-22 13:34:06 +01:00
Ben Castricum f1056be81a I18N: Update translation (Danish)
Currently translated at 65.3% (1089 of 1666 strings)
2021-08-22 12:25:52 +00:00
a/ 713d3813b4 SAGA2: Fix memory leaks in audio.cpp 2021-08-22 20:22:33 +09:00
ScummVM-Translations c019f49a5b 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/
2021-08-22 09:10:13 +00:00
Roland van Laar d38a147019 DEVTOOLS: COMPANION: improve special char handling
We follow [1] in which chars need to be escaped.
    - we now allow the following chars in filenames: []+
    - filenames can't end in a dot or space

Includes updated tests.

[1] https://en.wikipedia.org/wiki/Filename#Reserved_characters_and_words
2021-08-22 11:10:00 +02:00
Roland van Laar 581dd9c9d2 DEVTOOLS: COMPANION: cleanup
- Remove a superfluous import
2021-08-22 11:10:00 +02:00
Ben Castricum f921eac8ab I18N: Update translation (Dutch)
Currently translated at 100.0% (1666 of 1666 strings)
2021-08-22 05:48:46 +00:00
Ben Castricum 3219fe1682 I18N: Update translation (Dutch)
Currently translated at 100.0% (1666 of 1666 strings)
2021-08-22 05:01:29 +00:00
Marcel Souza Lemes 03186fa79f I18N: Update translation (Portuguese (Brazil))
Currently translated at 100.0% (1666 of 1666 strings)
2021-08-22 02:25:54 +00:00
Ben Castricum 553c0c2d36 I18N: Update translation (Dutch)
Currently translated at 100.0% (1666 of 1666 strings)
2021-08-22 02:25:53 +00:00
Lothar Serra Mari 883e10a7a0 I18N: Update translation (German)
Currently translated at 100.0% (1666 of 1666 strings)
2021-08-22 02:25:52 +00:00