Commit Graph
107 Commits
Author SHA1 Message Date
Eugene Sandulenko c73af63436 SCUMM: Fix random number generation in SCUMM6
Now it matches disassembly and particularly fixes RNG in
Backyard Sports games.
2022-06-08 15:16:57 +02:00
AndywinXp d104366815 SCUMM: COMI: Fix music track playing indefinitely in an edge case
This is a bug in the original interpreter, so the following workaround is marked as an enhancement.
When Guybrush gets on the Sea Cucumber for the first time and the monkeys show up on deck, if the ESC key is pressed before the "Any last words, Threepwood?" dialogue, the music will continue playing indefinitely throughout the game (or until another "sequence" music is played). To amend this, we intercept this exact script override and we force the playback of sound 2277, which is the iMUSE sequence which would have been played after the dialogue.
This workaround has been stress-tested on all Steam available languages + Akella Russian.
2022-05-27 23:05:20 +02:00
Donovan Watteau c69d83b638 SCUMM: Move the #3832 workaround from o6_setState() to o6_animateActor() 2022-04-23 15:16:28 +03:00
Donovan Watteau 8531668db9 SCUMM: Fix glitch when Bruno flees Bumpusville (bug #3832)
When Bruno and Trixie leave Bumpusville, a new actor is used for their
escape animation, but the original script never removes this actor from the
scene, so some parts of Bruno can still be seen on the wall when the door
closes.  So we force the removal of this actor just before that.
2022-04-23 15:16:28 +03:00
Torbjörn Andersson 54fd5caac8 SCUMM: Adjust timings for German Sam & Max intro. (Bug #13378) 2022-04-21 11:22:26 +02:00
Little Cat 3bae66919b SCUMM: Don't pause at startup in Moonbase. 2022-04-15 22:41:21 +02:00
athrxx de4513cdff SCUMM: (SCUMM7/8) - implement original text formatting flags for more flexibility 2022-04-08 19:53:44 +02:00
Torbjörn Andersson 378cf3a953 SCUMM: Make DOTT workaround optional
This workaround happens in some cases when Bernard interacts with the
chewing gum on the floor, where he will speak using Laverne's voice. See
bug #3803 for details. I've re-verified that it happens in the original
as well.
2022-04-08 16:37:03 +02:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Andrea Boscarino f731cfd648 SCUMM: DiMUSE: New Digital iMUSE Engine (#3368)
SCUMM: DiMUSE: Add new implementation of the engine
2021-11-16 00:05:18 +01:00
Orgad Shaneh ed5489929c SCUMM: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
athrxx bfd8c8ed8c SCUMM: whitespace 2021-08-16 18:29:47 +02:00
sluicebox 674ed112aa JANITORIAL: Update more old bug tracker numbers
I missed the six digit ones and a few others in:
93eeffc84d
2021-06-09 14:28:52 -06:00
Orgad Shaneh a05e54f00c JANITORIAL: Remove trailing whitespaces 2021-05-04 11:46:30 +03:00
Little Cat f9b741c0ee SCUMM: Add comments describing the room variables. 2021-04-27 01:03:00 +03:00
Little Cat e0b61f1ec3 SCUMM: Fixed regression caused by Pete Workaround
The original commit containing the Pete Wheeler hotfix for the Baseball gmaes has caused a regression where batting with any other bat as Pete Wheeler would slow down his swinging animation after hitting the ball.  Whoops.  This fixes the regression by adding another check to determine whether he is bunting or not.
2021-04-27 01:03:00 +03:00
Orgad Shaneh c8fc484c37 SCUMM: Fix X-range of selection for Hebrew on scumm<7
curRect.left is assigned in the script, and it is not modified. right is
assigned with the screen width - original left.

This results in bad highlighting of the verbs all over the line width,
instead of being limited to the actual string.

Due to that, sometimes the selection range of the up/down arrows overlaps
with some of the verbs, and then these verbs cannot be selected.

Solve by storing the original left value, and using it as initial x
position for the string (the actual right-to-left manipulation is done in
drawString()), and modify the value of curRect.left to match the string
that was actually drawn.

This bug is similar to the one that was fixed in 58e921eb87, but the
solution that was done there for v7 and v8 cannot work here, because the
string logic is much more complicated.
2021-04-26 21:26:41 +03:00
Little Cat 71f490e550 SCUMM: Add workaround for Pete Wheeler softlock
This workaround fixes a script bug in Backyard Baseball 2001 and 2003 where bunting a foul ball as Pete Wheeler may softlock the game if the ball goes far left or right field.

The original Backyard Baseball 1997 release does not seem to have this bug in my testing.
2021-04-09 17:47:53 +02:00
sluicebox 93eeffc84d JANITORIAL: Update old bug tracker numbers 2021-03-03 02:15:05 +02:00
Andrea Boscarino 8cfe68eacf SCUMM: COMI: fix missing soundKludge call 2020-12-28 22:55:49 +02:00
Ben Castricum ae8f6397eb SCUMM: Prevent darkenPallete() in Room 0 in FT, fixes bug #9871 2017-08-17 09:47:03 +01:00
Ben Castricum b9b96e8991 SCUMM: Correct the raft position for PUTTZOO, fixes bug #6097 2016-08-30 09:07:30 +02:00
Torbjörn Andersson f74ba29753 SCUMM: Enable Day of the Tentacle easter egg
Instead of returning to the launcher, a game may now specify a list
of "chained" games and optional save slots. The first game is popped
from the list and started. Quitting still quits the entire ScummVM.
It seemed like the sensible thing to do.
2014-12-30 03:45:14 +01:00
Johannes Schickel 3847465163 SCUMM: Make GPL headers consistent in themselves. 2014-02-18 02:39:38 +01:00
Torbjörn Andersson b8c198aec9 SCUMM: Remove unnecessary NULL check, CID 1003628
Since ah->data is an array, it can't ever be NULL.
2013-08-18 09:05:03 +02:00
Matthew Hoops 0031c41db8 COMMON: Change kPlatformPC to kPlatformDOS
"PC" was very ambiguous and now it matches what we show in the GUI.

This also corrects sword2's platform to Windows.
2013-05-02 18:43:10 -04:00
Max Horn 9ec64a66fe SCUMM: Turned ResTypeData into a Common::Array<Resource>, subsuming its _resource member 2011-05-13 14:48:01 +02:00
Max Horn c02420df43 SCUMM: Add a Resource class, refactor res code around it 2011-05-13 11:47:13 +02:00
Max Horn 75b9deb185 SCUMM: Get rid of the MemBlkHeader hack
This uncovered at least one potentially serious bug in the inventory
code, which still needs to be investigated and fixed.
2011-05-13 11:47:10 +02:00
Max Horn 45e65d7ea0 SCUMM: Refactor how resource (types) are srepresented
Previously, we had a couple of arrays of size N (where N = number of
resource types), one for each attribute of a resource type (such as as
the number of resources of that type.

Now, we have one array of size N, whose elements are a record
aggregating all the attributes of each resource type.
2011-05-13 11:47:08 +02:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Max Horn 0ce2ca4e00 COMMON: Replace MKID_BE by MKTAG
MKID_BE relied on unspecified behavior of the C++ compiler,
and as such was always a bit unsafe. The new MKTAG macro
is slightly less elegant, but does no longer depend on the
behavior of the compiler.
Inspired by FFmpeg, which has an almost identical macro.
2011-04-12 16:53:15 +02:00
dhewg d83a83ef50 JANITORIAL: Remove/comment unused vars
Found by GCC 4.6's -Wunused-but-set-variable
2011-03-29 21:57:56 +02:00
Arnaud Boutonné d063b074cd JANITORIAL: Suppress some useless includes
svn-id: r55091
2011-01-02 14:06:42 +00:00
Travis Howell e7e92a7577 SCUMM: Fix bug #3143039 - ACTIVITY: Circus Stormin' crash.
svn-id: r55049
2010-12-27 14:02:17 +00:00
Travis Howell 402fac9ed4 SCUMM: Add workaround to allow saved games to be shared between Macintosh and Windows versions of Backyard Baseball 2001.
svn-id: r53729
2010-10-23 06:27:16 +00:00
Matthew Hoops 21a29d3b45 SCUMM: Have o6_getRandomNumber() use the absolute value of the argument
The Backyard Baseball series calls the function with negative numbers, but expects a positive result. The games are now actually playable.

Thanks to Kirben for assistance in tracking this bug down.

svn-id: r53630
2010-10-20 03:01:03 +00:00
Travis Howell 753a73be29 Fix bug #2960022 - PUTTPUTT 1: No Load/Save possible.
svn-id: r48499
2010-04-04 09:36:10 +00:00
Max Horn bc2b90f43b Workaround for bug #1878514: COMI: Glitch when turning pages in recipe book
svn-id: r48207
2010-03-08 23:36:59 +00:00
Johannes Schickel aed02365ec Strip trailing spaces/tabs.
svn-id: r47541
2010-01-25 01:39:44 +00:00
Max Horn 42120ed626 Introduce a new struct TimeDate, replacing struct tm in client code. May lead to compilation issues in ports, which should be trivial to fix, though
svn-id: r44793
2009-10-08 19:41:38 +00:00
Travis Howell 035dad7b3c Adjust workaround for bug #2826144, to use hard coded offset, that should be safe in all language versions.
svn-id: r42695
2009-07-24 13:30:26 +00:00
Travis Howell 171061894b Add workaround for bug #2826144 - SAM: Game hangs when talking to bigfoot guard.
svn-id: r42693
2009-07-24 12:28:53 +00:00
Travis Howell b159517dc3 Fix bug #2821215 - DIG: Skipping planetarium animation disables F5 menu.
svn-id: r42498
2009-07-15 02:06:26 +00:00
Travis Howell e36bb72995 Fix bug #2791846 - SAMNMAX: Invalid opcode (regression).
svn-id: r40583
2009-05-15 00:22:53 +00:00
Travis Howell 75b5bd418a Update comment.
svn-id: r40409
2009-05-10 07:21:35 +00:00
Travis Howell 6b6aca3fa3 Change the work around for sq3.san, so it doesn't alter global smush frame rate (Which is a regression).
svn-id: r40408
2009-05-10 06:54:45 +00:00
Travis Howell 4f0811b129 Correct and move initial SMUSH frame rate value, for the demo version of The Dig.
svn-id: r40407
2009-05-10 06:46:24 +00:00
Max Horn cbe9e520d3 SCUMM: Compacted various setupOpcodes() implementations by using the fact that opcode tables tend not to change much between most SCUMM versions
svn-id: r39958
2009-04-16 09:27:22 +00:00
Max Horn 99df028d35 SCUMM: Got rid of o6_invalid
svn-id: r39957
2009-04-16 09:27:02 +00:00