[Scummvm-git-logs] scummvm master -> c246ef6f73e1d1b16222120d68d5119797642cd1
dwatteau
noreply at scummvm.org
Fri Jun 20 20:17:51 UTC 2025
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
fa70c5bb07 SCUMM: (v6) - Move o6_animateActor() enhancements to a dedicated place
c246ef6f73 SCUMM: DOTT: Restore an unused animation at the Human Show contest (Trac#15947)
Commit: fa70c5bb076d9516cf7091b490d54c0083554cbb
https://github.com/scummvm/scummvm/commit/fa70c5bb076d9516cf7091b490d54c0083554cbb
Author: Donovan Watteau (contrib at dwatteau.fr)
Date: 2025-06-20T22:17:15+02:00
Commit Message:
SCUMM: (v6) - Move o6_animateActor() enhancements to a dedicated place
Changed paths:
engines/scumm/script_v6.cpp
engines/scumm/scumm_v6.h
diff --git a/engines/scumm/script_v6.cpp b/engines/scumm/script_v6.cpp
index 5da9d251b2d..746452a29df 100644
--- a/engines/scumm/script_v6.cpp
+++ b/engines/scumm/script_v6.cpp
@@ -1623,28 +1623,7 @@ void ScummEngine_v6::o6_animateActor() {
int anim = pop();
int act = pop();
- if (_game.id == GID_SAMNMAX && _roomResource == 35 && currentScriptSlotIs(202) &&
- act == 4 && anim == 14 && enhancementEnabled(kEnhMinorBugFixes)) {
- // WORKAROUND bug #2068 (Animation glitch at World of Fish).
- // Before starting animation 14 of the fisherman, make sure he isn't
- // talking anymore, otherwise the fishing line may appear twice when Max
- // grabs it and subtitles (at a slow speed) and voices are both enabled.
- // This bug exists in the original game as well.
- if (getTalkingActor() == 4) {
- stopTalk();
- }
- }
-
- if (_game.id == GID_SAMNMAX && _roomResource == 47 && currentScriptSlotIs(202) &&
- act == 2 && anim == 249 && enhancementEnabled(kEnhMinorBugFixes)) {
- // WORKAROUND for bug #3832: parts of Bruno are left on the screen when he
- // escapes Bumpusville with Trixie. Bruno (act. 11) and Trixie (act. 12) are
- // properly removed from the scene by the script, but not the combined actor
- // which is used by this animation (act. 6).
- Actor *a = derefActorSafe(6, "o6_animateActor");
- if (a && a->_costume == 243)
- a->putActor(0, 0, 0);
- }
+ o6_animateActorApplyEnhancements(act, anim);
// Since there have been cases of the scripts sending garbage data
// as the actor number (see bug #813), we handle these cases cleanly
@@ -3726,4 +3705,32 @@ void ScummEngine_v6::decodeParseString(int m, int n) {
}
}
+#pragma mark -
+#pragma mark --- Enhancements & workarounds ---
+#pragma mark -
+
+void ScummEngine_v6::o6_animateActorApplyEnhancements(int act, int anim) {
+ // WORKAROUND bug #2068 (Animation glitch at World of Fish).
+ // Before starting animation 14 of the fisherman, make sure he isn't
+ // talking anymore, otherwise the fishing line may appear twice when Max
+ // grabs it and subtitles (at a slow speed) and voices are both enabled.
+ // This bug exists in the original game as well.
+ if (_game.id == GID_SAMNMAX && _roomResource == 35 && currentScriptSlotIs(202) &&
+ act == 4 && anim == 14 && enhancementEnabled(kEnhMinorBugFixes)) {
+ if (getTalkingActor() == 4)
+ stopTalk();
+ }
+
+ // WORKAROUND for bug #3832: parts of Bruno are left on the screen when he
+ // escapes Bumpusville with Trixie. Bruno (act. 11) and Trixie (act. 12) are
+ // properly removed from the scene by the script, but not the combined actor
+ // which is used by this animation (act. 6).
+ if (_game.id == GID_SAMNMAX && _roomResource == 47 && currentScriptSlotIs(202) &&
+ act == 2 && anim == 249 && enhancementEnabled(kEnhMinorBugFixes)) {
+ Actor *a = derefActorSafe(6, "o6_animateActor");
+ if (a && a->_costume == 243)
+ a->putActor(0, 0, 0);
+ }
+}
+
} // End of namespace Scumm
diff --git a/engines/scumm/scumm_v6.h b/engines/scumm/scumm_v6.h
index e594aa15539..d5beda0accb 100644
--- a/engines/scumm/scumm_v6.h
+++ b/engines/scumm/scumm_v6.h
@@ -492,6 +492,8 @@ protected:
void o6_setBoxSet();
void o6_shuffle();
+ void o6_animateActorApplyEnhancements(int act, int anim);
+
byte VAR_VIDEONAME;
byte VAR_RANDOM_NR;
byte VAR_STRING2DRAW;
Commit: c246ef6f73e1d1b16222120d68d5119797642cd1
https://github.com/scummvm/scummvm/commit/c246ef6f73e1d1b16222120d68d5119797642cd1
Author: Donovan Watteau (contrib at dwatteau.fr)
Date: 2025-06-20T22:17:15+02:00
Commit Message:
SCUMM: DOTT: Restore an unused animation at the Human Show contest (Trac#15947)
At the Human Show with Laverne, after getting rid of Harold but before
improving Ted's hair, the judges may choose the smiling contestant as
the winner, saying that "She winked at me."
This animation is never visible in the game, though, but it does exist
in the game resources, as documented by NeoDement on Tcrf.
As it's mentioned by the judges, it does make sense to try to restore
this animation in the game -- as suggested by GermanTribun on Trac,
thanks!
Changed paths:
engines/scumm/script_v6.cpp
engines/scumm/scumm_v6.h
diff --git a/engines/scumm/script_v6.cpp b/engines/scumm/script_v6.cpp
index 746452a29df..3b5df49e6b4 100644
--- a/engines/scumm/script_v6.cpp
+++ b/engines/scumm/script_v6.cpp
@@ -3709,7 +3709,17 @@ void ScummEngine_v6::decodeParseString(int m, int n) {
#pragma mark --- Enhancements & workarounds ---
#pragma mark -
-void ScummEngine_v6::o6_animateActorApplyEnhancements(int act, int anim) {
+void ScummEngine_v6::o6_animateActorApplyEnhancements(int &act, int &anim) {
+ // WORKAROUND bug #15947: In the Human Show, with Laverne, the smiling
+ // contestant has an unused animation where she's winking. At this is
+ // mentioned by the judges ("She winked at me"), it makes sense to
+ // restore it.
+ if (_game.id == GID_TENTACLE && _roomResource == 54 && currentScriptSlotIs(80) &&
+ act == 5 && anim == 13 && enhancementEnabled(kEnhRestoredContent)) {
+ if (_rnd.getRandomBit())
+ anim = 14;
+ }
+
// WORKAROUND bug #2068 (Animation glitch at World of Fish).
// Before starting animation 14 of the fisherman, make sure he isn't
// talking anymore, otherwise the fishing line may appear twice when Max
diff --git a/engines/scumm/scumm_v6.h b/engines/scumm/scumm_v6.h
index d5beda0accb..6a667885795 100644
--- a/engines/scumm/scumm_v6.h
+++ b/engines/scumm/scumm_v6.h
@@ -492,7 +492,7 @@ protected:
void o6_setBoxSet();
void o6_shuffle();
- void o6_animateActorApplyEnhancements(int act, int anim);
+ void o6_animateActorApplyEnhancements(int &act, int &anim);
byte VAR_VIDEONAME;
byte VAR_RANDOM_NR;
More information about the Scummvm-git-logs
mailing list