Commit Graph
162 Commits
Author SHA1 Message Date
AndywinXp a1a1eb719b SCUMM: MOONBASE: Fix multiplayer crash
Fixes ticket #15752:
"SCUMM: MOONBASE: Multiplayer crashes guests when starting game"
2025-02-19 23:37:53 +01:00
athrxx b3baa636ee SCUMM: whitespace 2024-11-23 23:11:51 +01:00
shkupfer 909719c8fc SCUMM HE: Update comment on BB01 stat buffs fix (#6151) 2024-09-23 08:35:55 -04: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
shkupfer a367d9ff2e SCUMM HE: BYB01 online play stat buffs fix (#6138) 2024-09-16 19:34:24 -04:00
Hubert Maier 370064f93f JANITORIAL: SCUMM: Fix typos 2024-09-16 01:55:26 +03:00
AndywinXp 0add487eea SCUMM: SAMNMAX: Implement original noir mode
At default, we still use our improved version (for which
I restored the correct accurate grayscale colors, though).

For this original noir mode we have to play without the
"minor bug fixes" enhancement class active.
2024-08-31 13:30:15 +02:00
Donovan Watteau c7c4eafa49 SCUMM: Add TODO comments for some Enhancements / original interpreter behaviors to explore 2024-08-29 22:12:10 +02:00
Donovan Watteau 7cb47c31f8 SCUMM: Add/update some enhancementEnabled() calls for some workarounds
I reviewed what I was comfortable with; this change is not complete
(and I didn't review the HE workarounds at all), but it's still an
improvement.

I may need to update the Enhancement page on the wiki with these
changes...
2024-08-29 22:12:10 +02:00
Donovan Watteau edc3d61cc2 SCUMM: JANITORIAL: Rename _enableEnhancements to enhancementEnabled in comments 2024-08-02 21:35:53 +02:00
AndywinXp 9a4b75c4db SCUMM: Remove whitespace 2024-07-06 21:14:20 +02:00
AndywinXp 4353765c32 SCUMM: HE: Relabel and clean-up arrays subsystem
I wanted to do this for a very long time. This is helping me
debugging some very hard to understand remaining bugs
on some SCUMM HE games.

I tested this for several hours with several games,
including Moonbase and some Backyard games
ensuring there were no obvious regressions.
2024-07-06 21:12:04 +02:00
Vissery f4d53008c9 SCUMM: HE: Edit Baseball2001 Online Mode Balance 2024-06-29 11:21:41 +02:00
Eugene Sandulenko b9a7f9fa5f JANITORIAL: Indentation fixes 2024-05-24 22:30:43 +02:00
Eugene Sandulenko 076074ec88 SCUMM: Fix compilation 2024-05-24 22:21:39 +02:00
Eugene Sandulenko ee55870422 JANITORIAL: Fix indentation and remove trailing spaces 2024-05-24 21:54:28 +02:00
Vissery a788ab1775 SCUMM: HE: Update Backyard Baseball 2001 competitive mode
* Update script_v6.cpp

* Update script_v6.cpp

* Update script_v6.cpp

* Update script_v6.cpp
2024-05-24 13:53:47 -05:00
athrxx 158614fce6 SCUMM: some Coverity fixes 2024-05-07 19:26:06 +02:00
AndywinXp 8ddd8da773 SCUMM: GUI: Fix confirmation on exit behavior on script quit commands
We now quit without confirmation when the scripts tell the
interpreter to quit. Except in COMI main menu, when pressing
on the "Quit" option. In that case we must ALWAYS show the
confirmation dialog box.
2023-11-13 22:33:18 +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
shkupferandshkupfer 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
athrxx 8a54e258a5 SCUMM: (SCUMM7/8) - fix actor turning animation
The turning interpolation was completely disabled for v7/8, since it
interfered with DIG walk scripts. The result was that DIG was the only
v7/8 game that still had (script controlled) turning animations. COMI
and FT don't use walk scripts. So the actors would just flip directly from
the current facing direction to the target facing.

I have now changed parts of the walking code (and some other parts)
to better match the original v7/8 code.
2023-08-27 15:06:57 +02:00
AndywinXp f4455e773e SCUMM: Relabel part of the general sound code
Albeit not 100% necessary for rewriting the HE sound engine,
I decided to make this change in order to:
- Give proper meaning to magic numbers and variables
  which were given temporary names 20 years ago;
- Avoid going insane when making comparison with HE code
  and ours, when rewriting the sound code.
2023-08-18 22:20:45 +02:00
shkupferandshkupfer e0a146f908 SCUMM HE: Football online mod: Show full bench when drafting (#5235)
* SCUMM HE: Return 38 for roomvar 9 to show full bench online

* SCUMM HE: Move mod impl to o6_getRandomNumberRange

---------

Co-authored-by: shkupfer <shkupfer@ncsu.edu>
2023-08-07 16:15:23 -04:00
AndywinXp a5fe613c3f SCUMM: SAMNMAX: Post-load fix for savegames presenting bug #14467
The root cause of the issue is not solved yet, but this would allow for the
affected savegames to still work.
2023-05-21 20:16:14 +02:00
Little Cat 9868e384c5 SCUMM HE: Baseball workarounds for faster logins. 2023-04-16 19:55:34 -03:00
AndywinXp ae02bf6ab8 SCUMM: Make chosen random numbers visible via debug level 6 2023-04-02 18:24:28 +02:00
AndywinXp 344fb2c2d5 SCUMM: FT: Fix crash with debug mode on when pressing 'A' 2023-03-21 17:01:09 +01:00
AndywinXp 6b157da194 SCUMM: HE: Fix crash in FREDDI2 and cleanup 2023-03-17 13:10:23 +01:00
Donovan Watteau 18ab6803d6 JANITORIAL: Fix various "an" typos in comments 2023-03-16 14:47:28 +01:00
Little Cat 4aede052e3 SCUMM HE: Migrate competitive mods. 2023-03-06 00:07:13 +01:00
Little Cat 568f120784 SCUMM HE: Enable network play on Mac versions. 2023-03-06 00:07:13 +01:00
Little Cat 73cc6cc488 SCUMM HE: Finish mitgrating lobby code. 2023-03-06 00:07:13 +01:00
Little Cat 893eb485f8 SCUMM HE: Use new online session dialog. 2023-03-06 00:07:13 +01:00
BLooperZ e14b232918 SCUMM: Label v6+ subops 2023-02-26 10:53:53 +01:00
Cameron Cawley f7785f463a SCUMM: Use the keymapper for bike fights in Full Throttle 2023-02-08 00:11:40 +01:00
Donovan Watteau 96a800ef5c SCUMM: Fix randomly unreachable fire in DOTT (WORKAROUND)
In DOTT, script 13-21 calls `startScript(1,106,[91,5])` when Jefferson
builds the fire, but this script continuously changes the state of the
fire object to a random value between 1 and 5 (this stops when you exit
his room), and so if Hoagie tries interacting with it, he'll say "I
can't reach it." instead of the intended "No. Fire bad." line, most of
the time.  This also happens with the original DOS interpreter, the
2002 Aaron Giles Windows interpreter, and the Remastered version.

Ignoring this script fixes this problem and it doesn't seem to cause any
regression with the fire itself. My hypothesis is that the game designers
wanted to have an "early fire" animation when the fire has just been lit
by Jefferson, but then they dropped the idea and used the same unique fire
animation but forgot to turn off this script.
2023-01-23 00:00:31 +02:00
Donovan Watteau 28a4e9c2ee SCUMM: Document that Trac#4464 workaround is intentionally not an enhancement
This workaround fixed a complete scene hang that any user could
trigger during a legitimate gameplay, and there's no point in letting
users hang the game… (if you're really curious for it, you know how to
build ScummVM or how to run an original interpreter).

Also make it explicit that the bug also happens with DREAMM, while
there.
2023-01-18 20:04:22 +01:00
Donovan Watteau 3d608e10f6 SCUMM: Make the Plunder Town Theater music workaround an optional enhancement
This is an original script bug that also happens with the original
EXE, and so this fix is an enhancement.
2023-01-18 19:46:49 +01:00
Donovan Watteau 4939404410 SCUMM: Make Sam & Max WORKAROUND for Trac#269 an enhancement
I've checked with DREAMM that the original has the same behavior, and so
this script fix probably qualifies as an enhancement.
2023-01-17 19:53:41 +01:00
Donovan Watteau 91a37f88bf SCUMM: Make Sam & Max WORKAROUND for Trac#2068 an enhancement
The full context is documented in the original ticket, but we still need
this workaround if one plays with subtitles and voices and a slow text
speed, and this is indeed an original script issue since the small glitch
with the fishing line also happens with the original interpreters.

Since we're fixing an original, non-game-breaking bug, this qualifies as
an enhancement that one can disable if they want to be as close as
possible to the original experience.
2023-01-17 19:15:09 +01:00
AndywinXp 58185c5654 SCUMM: SMUSH: Extend dynamic video framerate changes to all games
This has been verified from disasm, and also removes the need for
another old workaround.
2023-01-15 22:20:01 +01:00
AndywinXp 546fd42749 SCUMM: Properly fix bug #813
Verified for the disasms of v3-v6 and HE
2023-01-14 11:53:50 +01:00
AndywinXp 61fa4b6253 SCUMM: v7-8: Fix FT camera bug and properly fix #1195 and #1579
There was a nasty bug in the fuel tower room, when the cops arrive at the
tower and the player regains control, in which the camera would be brought up
and then down again.

While I was there, since this is the same domain, I rechecked the v7-8 camera
code from the disasm, made some corrections, and properly fixed #1195 and
#1579. Another workaround bites the dust :)
2023-01-08 17:42:50 +01:00
Donovan Watteau 0944138334 SCUMM: Fix some placeholder text in the bar in French FT (WORKAROUND)
In the French release of Full Throttle, when Ben looks at one of the
small pictures above the piano, a strange "piano-low-kick" string
appears in the subtitle. Just drop it and replace it with the missing
characters in order to match what he's saying (as done in the 2017
remaster).
2022-11-18 03:51:35 +02:00
AndywinXp d65f6f4c92 SCUMM: SAMNMAX: Remove never triggered workaround
This workaround was originally meant to address the case in which derefActor was called with
an id == 0. Originally, a value of 0 triggered a range error. As a matter of fact, we (correctly) accept
actors id == 0 now, so this workaround is never being triggered.
2022-10-17 22:28:48 +02:00
Donovan Watteau 4fd6ea1813 SCUMM: Make Trac#1452 subtitle workaround for Dig optional
Like the other "missing waitForActor()" workarounds we have.
2022-10-12 13:42:43 +02:00
Donovan Watteau a16a1e57e2 SCUMM: Make Dig crypt subtitle workaround an optional waitForActor()
When Low finds the meaning of the crypt inside the tomb, subtitles are
not printed because of a missing waitForActor() call. This also happens
in the original interpreters.

In Trac#4410 and commit 3b05a52588, this
was implemented as an actor.cpp workaround, but doing it this way make
Low glide on the floor instead of having his usual walking animation.

Having him wait finishing his sentence before he moves to the crypt may
feel a bit odd too, but Low already does that in some other parts of the
game, and he just reacts at a very slow pace in general.

Moving this to o6_talkActor() also means that it's next to the other
waitForActor() workarounds, where we try to only target the impacted
lines when we can.

Also make this workaround use `_enableEnhancements` while there.
2022-10-09 00:22:05 +03:00
Donovan Watteau e0b8678482 SCUMM: Let Max finish his comment on capitalism at Snuckey's (WORKAROUND)
If Sam tries buying something at Snuckey's without any having money, Max
will not always have enough time to finish his comment on capitalism,
because the employee will say "Anything else?" without any call to
waitForMessage() to make sure that Max is done speaking. But good jokes
from Max should never be cut!

This would happen if Sam only picked up the pecan-flavored candies, for
example.
2022-10-08 22:20:50 +03:00