Commit graph

163 commits

Author SHA1 Message Date
Torbjörn Andersson
8c71eded54 SCUMM: Optionally report a faster machine speed in Mac MI2
This affects the number of bats in the Scabb Island swamp, and quite
possibly other things as well. So it seems like a good candidate for a
"restored content" enhancement.
2024-12-03 19:52:46 +02:00
Torbjörn Andersson
53382fb52b SCUMM: Optionally enable the swamp bats in Mac MI2
The call to their script has been removed from room 20's entry script,
so it's a simple matter of re-inserting that.
2024-12-03 19:52:46 +02:00
athrxx
b3baa636ee SCUMM: whitespace 2024-11-23 23:11:51 +01:00
Donovan Watteau
398fb6d232 SCUMM: MONKEY2: Document the behavior of the 'pulling the rope' bug in the Special Edition
It appears that the Special Edition is based on the original English
release, and so it contains the buggy script for the rope on Dinky Island.
But it doesn't cause a fatal error there, and "just" causes various funny
visual glitches, when playing in Classic Mode.

Documenting it near the workaround we have for this.
2024-10-30 22:14:45 +01:00
AndywinXp
3f4bc1241f SCUMM: HE: Move "enable_competitive_mods" check at startup
This greatly reduces lag in Backyard Basketball, as
those calls to ConfMan.getBool were done in very
frequently called arithmetics opcodes.
2024-09-19 21:33:13 +02:00
Donovan Watteau
e3b491c0fa SCUMM: MONKEY2: Promote Trac#2826 to kEnhGameBreakingBugFixes enhancement
I've checked the original DOS/English floppy release coming with my LRG
Monkey Island Anthology set, and yes, the original would indeed print a
fatal "Object 1047 not found in room XX" error in this case. It really is
a script error in the earliest releases, as was said in the ticket above,
many moons ago.

This workaround fixes a fatal error, so it can be marked as a
kEnhGameBreakingBugFixes enhancement. We just replicate what the Macintosh
release did in order to prevent this problem, back then.

(If anyone is brave enough to check how the Special Edition behaves in this
case, I'd be curious to know... did they hardcode a fix in the interpreter
too?...)
2024-09-19 01:17:39 +02:00
AndywinXp
8b5ad52d88 SCUMM: HE: Add u32 code for Backyard Basketball 2024-09-16 13:01:49 +03:00
Donovan Watteau
b21a5e6c69 SCUMM: Add some TODOs for some original bugs to investigate with the original interpreters 2024-08-29 22:02:45 +02:00
Donovan Watteau
deab35bbbf SCUMM: Add a TODO for the Trac#2826 old workaround
It's an old, known bug, but so far I haven't been able to locate an
original release (or interpreter?) showing this issue. Maybe only the
very first English releases had this issue?

Owning a copy of the release showing this bug would help understanding
what the original interpreters did there, and decide what Enhancement
class should be used for it.
2024-08-29 22:02:45 +02:00
AndywinXp
50ceaca978 SCUMM: INDY3 (VGA DE): Fix lockup after invalid control code 2024-08-29 13:23:05 +02:00
Donovan Watteau
8f9e306dec JANITORIAL: SCUMM: Fix indentation for new v0/v1 Zak enhancement 2024-08-29 11:12:43 +02:00
AndywinXp
df622224db SCUMM: INDY3 (German): Set invalid control code workarounds as enhancements 2024-08-27 22:46:23 +02:00
Robert Megone
409e069a51 SCUMM: V0/V1 - Workaround for original blocker bug in V0/V1 Zak that prevented Annie from picking up the crystal shard from the statue in Mexico. 2024-08-27 21:33:21 +02:00
Donovan Watteau
853c0a9894 SCUMM: Improve Trac#1675 and Trac#2715 bugfixes for German Indy3
- Fix an off-by-one in resStrLen() return value, and apply its workaround
  for Trac#2715 too.
- Merge the two convertMessageToString() workarounds into a single one,
  and fix another off-by-one in the Trac#1675 case.
- Restrict both workarounds to the German release of Indy3 (DOS release
  checked against my own copy, Amiga release tested by gabberhead).
- Restrict both workarounds to the two rooms using the wrong byte for the
  German Eszett character -- but don't limit it to a particular script
  number, because the faulty lines can be triggered by some global scripts
  too (e.g. highlighting a dialogue option).

This should fix the following problems:

- the use-case in Trac#2715 still triggering a fatal "string escape
  sequence 32 unknown" error in convertMessagetoString(), when one
  highlights the "Woher weiß ich, daß SIE kein Spion sind?" line.
- the missing full stop at the end of the "…irgendwo hier im
  Schloß." line from the drunk guard.
2024-08-11 11:40:25 +02:00
athrxx
55ec2b4227 SCUMM: (MM) - fix bug no. 15278
("MANIAC: Sentence line empty at start")
2024-07-24 18:53:10 +02:00
AndywinXp
f8f6729caa SCUMM: MANIAC: Fix crash in C64 demo
This closes #15256
2024-07-12 17:25:01 +02:00
athrxx
84a0bff281 SCUMM: fix Coverity warnings 2024-05-20 15:32:19 +02:00
shkupfer
f9765abc2d
SCUMM: HE: BYB01 hit power change
This slightly changes the velocity of hits when the player is using a power swing.

The previous iteration of this mod reduced the velocity of hits with power swings, making them less effective relative to line drive and grounder swings. After 6+ months of competitive play, the consensus among the community is that this has made power swings not viable - using a line drive swing is almost always optimal, which makes gameplay less interesting.

This change is intended to make the decisions on what swing type to use more interesting.
2024-05-19 00:17:51 +03:00
athrxx
158614fce6 SCUMM: some Coverity fixes 2024-05-07 19:26:06 +02:00
Torbjörn Andersson
38942ff719 SCUMM: Move Mac Loom's practice box drawing into MacLoomGui
Also, make the box draggable like in the original. As an enhancement,
allow the box to be dragged to any X coordinate, not just ones on
16-pixel boundaries. The original allowed you to drag it all the way to
the top of the game area, but this interfers with the auto-appearing
menu so don't allow that.
2023-11-18 18:47:39 +01:00
AndywinXp
8461f25218 SCUMM: Rename enhancementClassActive to enhancementEnabled 2023-11-08 11:46:06 +01:00
AndywinXp
d5fa7aeb90 SCUMM: Mark all enhancements with their respective classes 2023-11-08 11:46:06 +01:00
Torbjörn Andersson
131b5b8238 SCUMM: Remove another Indy 3 Mac hack
This shouldn't be needed any longer, since we're now passing objects,
not inventory verbs, to the script.
2023-10-16 17:40:29 +02:00
Torbjörn Andersson
98229e5155 SCUMM: Hopefully fix Indy 3 Mac glitch on travel map
The GUI should now know better when to back off and not try to clear
what's no longer the Verb screen.
2023-10-16 17:40:29 +02:00
Torbjörn Andersson
127c585362 SCUMM: More work on Indy 3 Mac GUI
It's now possible to travel all the way to Venice, though there is a
glitch on the travel map there.
2023-10-16 17:40:29 +02:00
Torbjörn Andersson
702ec52d96 SCUMM: Lots of Indy 3 Mac GUI rewriting 2023-10-16 17:40:29 +02:00
Torbjörn Andersson
716cd6e0e5 SCUMM: Remove Indy 3 Mac GUI mock-up. Begin work on proper GUI.
The goal is to make the interface as simple as possible, and to put as
much of the knowledge of what's going on into MacIndy3Gui itself.
2023-10-16 17:40:29 +02:00
Torbjörn Andersson
c6d1a256ef SCUMM: Moved Mac Indy 3 GUI into its own class
This is still just a mock-up, and a bad one at that. It will all be for
nought unless I can figure out how to wire up these buttons to the SCUMM
verbs.
2023-10-16 17:40:29 +02:00
D G Turner
614507859e SCUMM: Fix Unused Variable GCC Compiler Warning 2023-10-07 20:15:45 +01:00
shkupfer
9fed3e40b9
SCUMM HE: Baseball '01 competitive online play mods (#5341)
* SCUMM HE: BYB01 hit power mod for online competitive play

* SCUMM HE: BYB01 pitch location hit quality mod for competitive online play

* SCUMM HE: Unindent switch case statements

* SCUMM HE: BYB01 online mod: sprint on halfspeed popup

* SCUMM HE: BYB01 online mod: fewer sprints for top speed

* SCUMM HE: Fix BYB01 online turnaround score bug

* SCUMM HE: Add break statements to ensure correct hit quality returned

---------

Co-authored-by: shkupfer <shkupfer@ncsu.edu>
2023-10-01 20:24:07 -04:00
AndywinXp
7540bfc822 SCUMM: HE: Begin audio engine rewrite 2023-08-18 22:20:45 +02:00
shkupfer
ad9638649a
SCUMM HE: BB01 competitive online play: random bounces (#4920)
Co-authored-by: shkupfer <shkupfer@ncsu.edu>
2023-04-21 19:35:52 -04:00
shkupfer
1d6b4b7b2e
SCUMM HE: BB01 competitive online play: no double play powerups (#4919)
Co-authored-by: shkupfer <shkupfer@ncsu.edu>
2023-04-21 19:35:44 -04:00
shkupfer
4636a90a8d SCUMM HE: Increase inside pitches hit quality competitive mod 2023-04-10 23:41:05 -03:00
Little Cat
3ce5203e52 SCUMM HE: Fix code formatting. 2023-03-06 00:07:13 +01:00
Little Cat
4aede052e3 SCUMM HE: Migrate competitive mods. 2023-03-06 00:07:13 +01:00
Donovan Watteau
85265f68f5 SCUMM: DIG: Reindent a workaround and remove its ENABLE_SCUMM_7_8 ifdef
The workaround itself doesn't require any v7/v8-only feature, and
there's no much sense in saving a few bytes for such a small
workaround. Others Dig/FT/COMI workarounds don't use an ifdef for
this anyway.
2023-01-18 20:07:01 +01:00
Torbjörn Andersson
0e4169fdd3 SCUMM: Clarify Dig spider lair sound workaround
And since I have finally verified that it also happens with the original
interpreter, it is now an optional enhancement.
2023-01-17 07:41:20 +01:00
AndywinXp
5e869ae8a7 SCUMM: GUI (v3): Fix textSpeed script-based controls
The entirety of v3 games use script-based controls for textSpeed values, which were
broken by yet another 15 years old workaround which didn't take into account the fact
that boot-up is not the only moment that textSpeed is changed by the scripts, but is also
changed when sending the '<' '>' key commands.
2022-12-03 00:24:08 +01:00
AndywinXp
58fb91e1bd SCUMM: COMI: Fix mishandling of control characters
This fixes the appearence of the debug message "Machine rating is "
2022-09-14 22:27:31 +02:00
AndywinXp
457bcb67db SCUMM: GUI: Implement the majority of the v7 Main Menu 2022-09-08 19:10:42 +02:00
athrxx
319e50fc35 SCUMM: (LOOM/VGA Talkie) - improve verb handling
- get rid of weird hackery in o5_verbOps
- make sure the verbs are properly restored after loading a savegame
2022-08-10 15:27:23 +02:00
AndywinXp
85d3c5f5ac SCUMM: COMI: Implement remaining banners for demo 2022-08-06 13:33:56 +02:00
AndywinXp
fabaeb4b83 SCUMM: COMI: Implement original GUI 2022-08-06 13:33:56 +02:00
Donovan Watteau
27f9a460b5 JANITORIAL: Fix "the the" and similar typos 2022-07-29 19:36:40 +03:00
Torbjörn Andersson
14983f01a4 SCUMM: Exclude Loom demos from recent fire animation enhancement
Not only do the demos use a different script number, they don't even
have the bug we're working around!
2022-06-15 07:23:39 +02:00
Torbjörn Andersson
c8a76a492a SCUMM: Make Loom intro fire animation run at constant speed
The fire animation is sped up along with the rest of the game while the
messenger nymph is flying. Slow it down to make it appear to run at
constant speed throughout the intro. This does not apply to the VGA
talkie version, because there the fire isn't animated.
2022-06-15 08:07:12 +03:00
AndywinXp
de93de1c67 SCUMM: Fix o6_freezeUnfreeze() for v7-8 (fix bug #13511)
FT, DIG and COMI interpreters explicitly ask for flag == 2 instead of flag >= 0x80.
This fixes a class of bugs in which some scripts which should have been paused
still manage to execute.
2022-05-28 22:10:41 +02:00
Torbjörn Andersson
6d8eba977d SCUMM: Adjust timings for Italian Sam & Max Floppy intro.
This version uses English speech, and doesn't need the workaround for
the fight animation speeds. But several lines still had to be re-timed.
2022-04-21 11:22:26 +02:00
Torbjörn Andersson
127976b510 SCUMM: Adjust timings for Italian Sam & Max intro. 2022-04-21 11:22:26 +02:00