Eugene Sandulenko
cb60da0f6e
TOLTECS: Added sanity check to avoid potential out-of-bounds read. CID 1403261
2021-08-25 01:30:44 +02:00
sluicebox
0aa55ce452
SCI32: Avoid global constructors in CelObj
...
Fixes the last clang warning in the SCI engine
2021-08-24 18:01:42 -05:00
Thierry Crozat
e4d1871a6e
AGS: Translate error dialog messages
2021-08-24 21:48:13 +01:00
D G Turner
8075db3c2c
DIRECTOR: Simplify convertPixelIntoSurface method in BIT Decoder
...
This had identical code paths after the recent changes.
CID 1461549
2021-08-24 16:17:52 +01:00
Martin Gerhardy
72016e4ae3
TWINE: fixed return to launcher
2021-08-24 13:12:46 +02:00
Martin Gerhardy
53b1463f01
TWINE: fixed translation for the custom in-game options
2021-08-24 13:12:46 +02:00
Martin Gerhardy
11fbed8535
TWINE: reset projection state when entering holomap
2021-08-24 13:12:46 +02:00
Martin Gerhardy
d88f6a6737
TWINE: improved getNextHolomapLocation() in a way that the current location is ordered correctly
2021-08-24 13:12:46 +02:00
sluicebox
7934070bf5
SCI: Avoid global constructor in resource patcher
2021-08-23 21:10:32 -05:00
Thierry Crozat
aa114a259c
AGS: Improve error message for pre-2.5 games
2021-08-24 02:03:45 +01:00
SupSuper
c9d67e48a9
BACKENDS: Use FSNode::getName in string operations
2021-08-23 21:22:27 +01:00
SupSuper
8c86319923
BACKENDS: Use U32String for FSNode::getDisplayName
2021-08-23 21:22:27 +01:00
djsrv
d27574acae
DIRECTOR: Fix mouseUp events
...
Before, the code for setting a button's hilite flag made it so that
mouseUp only ever went to the last sprite that had a mouseDown
event. That is not correct. Whatever sprite the mouse goes up on
gets the event, even if it didn't get the last mouseDown event.
2021-08-23 16:10:44 -04:00
djsrv
1a0393bc19
DIRECTOR: Consider buttons to respond to mouse
...
Even without scripts, respondsToMouse and isActive should treat
buttons as if they have scripts since they change visually.
2021-08-23 16:10:44 -04:00
djsrv
80b4d55586
DIRECTOR: Make isMouseIn return false for invisible sprites
2021-08-23 16:10:44 -04:00
Martin Gerhardy
1412148344
TWINE: fixed endless rotation on the holomap
2021-08-23 22:08:12 +02:00
Martin Gerhardy
3d67b01510
TWINE: ensure the correct casting for unsigned shorts
...
... when converting to ints
2021-08-23 22:08:12 +02:00
Orgad Shaneh
121d06bf4a
ENGINES: Remove deprecated function
2021-08-23 20:53:27 +03:00
a/
43945dfe39
SAGA2: Remove some globals in audio.cpp
2021-08-24 02:43:16 +09:00
a/
e14937dd9c
SAGA2: Rename constant in assign.cpp
2021-08-24 02:43:15 +09:00
a/
c123a4914c
SAGA2: Move _actorList from Saga2Engine to ActorManager
2021-08-24 02:43:15 +09:00
a/
323a345cc7
SAGA2: Remove globals in actor.cpp
2021-08-24 02:43:15 +09:00
a/
ebba60f8eb
SAGA2: Move currentMapNum to Saga2Engine
2021-08-24 02:43:15 +09:00
Martin Gerhardy
580223e2b2
TWINE: added Lupin Island Destiny and Prequel mod support
...
see https://bugs.scummvm.org/ticket/12833
2021-08-23 17:43:59 +02:00
Martin Gerhardy
49590e1f4c
TWINE: add SCENE_SIZE_MAX comment
2021-08-23 17:43:59 +02:00
Eugene Sandulenko
3af9677427
CRUISE: Added support for Amiga Spanish version
2021-08-23 16:17:31 +02:00
Eugene Sandulenko
3f1e1113de
CRUISE: Added Atari ST French version. Bugreport #12824
2021-08-23 16:17:31 +02:00
Eugene Sandulenko
2e1391e3b0
SCUMM: Added atlantis Mac demo. Bugreport #12831
2021-08-23 16:17:31 +02:00
Eugene Sandulenko
bd280c8971
MOHAWK: Added another grandma demo. Bugreport #12830
2021-08-23 16:17:31 +02:00
Eugene Sandulenko
11bb4634e6
MOHAWK: Added Mac English/Spanish arthur demo. Bugreport #12829
2021-08-23 16:17:31 +02:00
athrxx
033084505c
SCUMM: (COMI) - fix bug no. 4424 ("Guybrush walks in place when examining certain objects")
...
Minor walking code fix from disasm. I have verified that the changes have to be applied to all SCUMM7/8 games, but not to the lower versions.
2021-08-23 15:48:10 +02:00
Martin Gerhardy
ca57b25a32
TWINE: fixed issue #12827 (Unable to exit scene on citadel island)
...
introduced in 70fd4f428d9ed5ba1f71bb02f35b8fae7fccb410
2021-08-23 13:50:07 +02:00
Orgad Shaneh
6aeda12247
ENGINES: Warn when overwriting a non-autosave on autosave
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
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
a/
e6bb527771
SAGA2: Remove globals/static variables in transit.cpp
2021-08-23 06:16:52 +09: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
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: f5164c911758e84804ef7d4e18c72cef21185daf
2021-08-23 00:09:03 +03: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
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
644e7354f5
CREDITS: Update 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