Commit Graph
142 Commits
Author SHA1 Message Date
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
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
AndywinXp 7540bfc822 SCUMM: HE: Begin audio engine rewrite 2023-08-18 22:20:45 +02:00
shkupferandshkupfer 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
shkupferandshkupfer 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
Torbjörn Andersson 54fd5caac8 SCUMM: Adjust timings for German Sam & Max intro. (Bug #13378) 2022-04-21 11:22:26 +02:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh ed5489929c SCUMM: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Torbjörn Andersson 0209d79652 SCUMM: Simplify Indy 3 Mac workarounds
I was confused when writing them. There shouldn't be any need to check
if the script is global when that's already implied by the script
number.
2021-08-09 10:06:26 +02:00
Torbjörn Andersson 1c352471bd SCUMM: Clear the credits between each text screen in Indy 3 Mac
I don't see anything in the script that would do it (well, there is one
but that may be just an accidental leftover from the DOS version), so
trigger on the end of each delay throughout the credits script.

Pretty? No, I guess not. But it's at the end of the game, so there
should be no risk of it messing things up.
2021-06-30 14:59:55 +02:00
Torbjörn Andersson 5b2ca72a32 SCUMM: Fix leftover verbs when giving objects to other characters
It looks like the input script - or at least this particular input
script - expects to be called twice. Once to clear the verbs and once
for the recipient to accept/reject your offer. In the 256-color DOS
version, both of these are done during the same call.

I don't know if this applies to other input scripts as well, but I'm
limiting it to this one for now.
2021-06-30 14:59:55 +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
Torbjörn Andersson cdfe9b5b4c SCUMM: Add practice mode box for Mac Loom
Unlike the PC version, the practice mode box appears to be hard-coded in
the Mac version. The script that draws the box in the PC version just
sets variables in the Mac version. This implementation is based on
screenshots.

To keep things a bit saner, I've split out the Mac-specific drawing to
its own file.
2021-05-17 18:44:29 +02:00
sluicebox 93eeffc84d JANITORIAL: Update old bug tracker numbers 2021-03-03 02:15:05 +02:00
Ben Castricum 34df7b9891 SCUMM: ZAKFM Add script bug workaround, fixes bug #5624
Due to poor translation of the v2 script to v5 an if statement jumps in the
middle of a cutscene causing a endCutscene() without a begin cutscene()

Previous "fixes" do improve the code, but do not fix this cutscene issue.

See also

https://bugs.scummvm.org/ticket/3099
https://bugs.scummvm.org/ticket/5624

and commits

1d40f78499
Fixes the mistranslation of getState08(465) into classOfIs(465,[0]) at 001A

0725be325f
Fixes several mistranslations of setClass
2020-12-25 23:14:36 +01:00
D G Turner 59b639ed4d SCUMM: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-12-23 11:56:16 +00:00
Colin Snover 4d3f05ae79 SCUMM: Fix array overflow writing var when no current script is set
This situation is triggered normally when _currentScript is 0xFF,
but it could potentially also happen if _currentScript is some
other number >= NUM_SCRIPT_SLOT, so the check is a bit more
conservative than it might appear to need to be.
2017-12-01 19:39:30 -06:00
Robert Crossfield 814d9b1153 SCUMM: Maniac V0: Correctly handle 'slanted' walk-boxes, Add new variables to save-games, Bump the SaveGame Version number, remove obsolete V0 code in V2 functions 2014-12-02 16:25:03 +11:00
Robert Crossfield 2dbd99d572 SCUMM: Maniac V0: Implement the original Walk Code (to fix some anim glitches), fix opcode to use _moving correctly (as V0 is different) 2014-11-28 22:24:45 +11:00
Kirben aca10de1b5 SCUMM: Add support for quit script in HE90+ games. 2014-08-20 09:26:39 +10:00
Johannes Schickel 3847465163 SCUMM: Make GPL headers consistent in themselves. 2014-02-18 02:39:38 +01:00
Torbjörn Andersson ce79ff4f2e SCUMM: Change NUM_SCRIPT_LOCALS to NUM_SCRIPT_LOCAL
For consistency with NUM_SCRIPT_SLOT.
2013-05-01 07:47:56 +02:00
Torbjörn Andersson f70087dc90 SCUMM: Fix out-of-bounds access in runScript() debug messages
I believe this fixes CID 1003954, 1003957, 1003958, 1003962 and
1003966.
2013-05-01 07:33:05 +02:00
Torbjörn Andersson 0638d85ada SCUMM: Cleanup
We only need to initialize 'args' in runInventoryScript() when we
are actually using them.
2013-04-30 22:46:36 +02:00
Torbjörn Andersson 2284aba719 SCUMM: Use correct array size when calling initializeLocals()
The initializeLocals() function assumes that it can copy 25
elements when being provided an array of values. But this array
was frequently a lot smaller than that. I've introduced a constant
for the number of locals (though VirtualMachineState has one more
for some reason), and fixed the array sizes in a number of places.

CID 1003951, 1003952, 1003953, 1003955, 1003956, 1003959, 1003960,
1003961, 1003963, 100394, 1003965
2013-04-30 22:26:51 +02:00
Torbjörn Andersson 69cdccd962 SCUMM: Handle double-clicks in Mac Loom (bug #3588164)
Unlike the EGA DOS version, it doesn't seem to be the scripts
that keep track of double-clicks. Instead, the engine sets a
variable to indicate them. Unlike the DOS version, we don't check
that the second click happens close enough on the screen to the
first one. We could, but it seemed needlessly complicated.
2012-12-15 00:35:00 +01:00