Commit Graph

83554 Commits

Author SHA1 Message Date
Eugene Sandulenko
f07c7311d5
DIRECTOR: Implement Sord chunk loading (not used by ScummVM) 2022-03-15 21:07:15 +01:00
Eugene Sandulenko
37c7430864
JANITORIAL: Remove trailing whitespaces 2022-03-15 21:05:51 +01:00
Roland van Laar
a9a908eb23 DIRECTOR: Add modal call when user wants to quit
The goal is to ask user confirmation when the property exitLock is set.
Director would prevent the user from quitting in such a case.

Note: The modal doesn't show up.
2022-03-15 18:16:59 +01:00
Walter Agazzi
ffd6591832 AGS: Add Al-Emmo german, move Unavowed to commercial 2022-03-15 14:37:09 +01:00
Walter Agazzi
06dfd18e2e AGS: Add language detection for games #-A 2022-03-15 14:37:09 +01:00
Walter Agazzi
a5de072a0d AGS: Add detection for recent games 2022-03-15 14:37:09 +01:00
antoniou79
b6cf1b1b48 GLK: SCOTT: Add detection for Marvel Adventure 2
Based on the quest2.dat file within AdamsGames.zip 03 Dec 2017

From http://www.ifarchive.org/indexes/if-archive/scott-adams/games/scottfree/
2022-03-15 15:15:20 +02:00
D G Turner
78db82f6e1 SCI: Fix Undefined Macro Compiler Warnings
These warnings are emitted by GCC if -Wundef is passed.
2022-03-15 10:17:12 +00:00
D G Turner
f0364b9d11 AGS: Fix Unused Variable Compiler Warning 2022-03-15 09:36:16 +00:00
Paul Gilbert
15704239b8 AGS: Properly implement alfont_get_name 2022-03-14 22:12:40 -07:00
Paul Gilbert
448bb2d77e AGS: Moved "LucasFan" font hack to game_init, enable for all systems
From upstream 5d84ea958f9d2ba5582e69f211dbcb006ed4e187
2022-03-14 21:46:58 -07:00
Paul Gilbert
2d995bbe07 AGS: Simplified use of ReplaceBitmapWithSupportedFormat()
From upstream 2132ba833b9d4508ed3f81a65f531b88f6087cb5
2022-03-14 21:33:38 -07:00
Paul Gilbert
255a739eca AGS: Encapsulate game object draw caches in draw.cpp
From upstream e04ebc0039580faf017ceb0acbeeab975bf44fcc
2022-03-14 21:04:09 -07:00
Paul Gilbert
8b8bc2f32f AGS: support reading font extension "v360_fonts"
From upstream 668430c4d21e6c39ae4c1c3a7e5be2c3a0ad7062
2022-03-14 21:04:08 -07:00
Paul Gilbert
fd0e16ffc3 AGS: implemented stencil cache per Font for automatic outlining
From upstream e32c4bf46b5f74b904ac491bb6017ceb8f8e2bbf
2022-03-14 21:04:08 -07:00
Paul Gilbert
641ade11fa AGS: Fixed crash in auto outline in case of empty text argument
From upstream e3665a3c073e574d3e4fade869b3c0c3e88508e5
2022-03-14 21:04:08 -07:00
Paul Gilbert
399a89825f AGS: New auto outline supports AA TTFs in 32- and 16-bit games
From upstream cae84d689019313cad49b6dca7e916866b90e49e
2022-03-14 21:04:07 -07:00
Thierry Crozat
07e132252d AGS: Add detection for new Strangeland and The Shivah macOS versions on GOG 2022-03-14 22:29:50 +00:00
D G Turner
a194d93ca0 BLADERUNNER: Fix Usage of Original Bugs Macro Define
This was not previously taking effect as the defining header was not
included in all used locations.

This causes GCC compiler warnings when -Wundef was passed.
2022-03-14 22:04:35 +00:00
D G Turner
618bd868f4 BLADERUNNER: Fix Inconsistent Symbol Typo in Audio Mixer Header 2022-03-14 21:10:03 +00:00
Roland van Laar
bab6f4bcd5 DIRECTOR: LINGO: improve saveMovie
The property saveMovieEnabled is set when a movie needs to be saved when
branching out from said movie.

Changes:
- saveMovie can have an optional filepath: set minArgs to 0
- call saveMovie when updateMovieEnabled is set and another movie is
  opened
2022-03-14 21:42:26 +01:00
Roland van Laar
0ec237b467 JANITORIAL: Remove old comment 2022-03-14 21:28:32 +01:00
Eugene Sandulenko
301377a605
DIRECTOR: LINGO: Do not error out when b_do() was provided with empty scripts 2022-03-14 21:16:03 +01:00
Eugene Sandulenko
ab0f56d932
DIRECTOR: LINGO: Attempt to read game files in FileIO XLib 2022-03-14 21:16:03 +01:00
Roland van Laar
cc9f49e89c DIRECTOR: LINGO: Add traceLoad to cb_theassign2
traceLoad handling was missing from cb_theassign2.
Fixes D4 dictionary traceLoad movie.
2022-03-14 21:12:00 +01:00
Torbjörn Andersson
b118133cdf SCUMM: Zero Mac instrument information if it can't be read from savegame
If we can't read the instrument pos/sub-pos information from the
savegame, it's probably safer to set them to 0 than to leave them
undefined.
2022-03-14 19:16:32 +01:00
Eugene Sandulenko
b44e8c0a1b
GLK: GLULX: Fix gameid duplicate 2022-03-14 18:21:56 +01:00
Eugene Sandulenko
84f449763a
GLK: AGT: Fix duplicate gameid 2022-03-14 18:20:30 +01:00
Torbjörn Andersson
c2b5a96f3c SCUMM: Fix regression in saving/loading Mac music
This applies to the Mac versions of Loom and The Secret of Monkey
Island. There was a regression some years ago that caused the channel
data to be saved twice, and the instrument data never.

Unfortunately, this does nothing to fix the savegames that were broken
by the regression.
2022-03-14 15:08:42 +01:00
Eugene Sandulenko
08ab8cf391
DIRECTOR: LINGO: Fix object to string convesrsion 2022-03-14 12:57:19 +01:00
Eugene Sandulenko
03c83d4457
DIRCTOR: LINGO: Fix code portability 2022-03-14 12:36:38 +01:00
Eugene Sandulenko
34357fb3c0
LINGO: Mimic memory pointers in object -> string conversion 2022-03-14 12:35:07 +01:00
Roland van Laar
a41f02c69d DIRECTOR: LINGO: Add comparison for Objects
When comparing an Object, i.e. FileIO instance, to an INT or STRING, the
Object is parsed as string and then compared. An Object's string is
<Object:hexcode>, e.g. <Object:794b8d0>. When compared to an INT, it's a
regular string compare.

This make saving and loading work again in Majestic.

Note: '#' < '0' due to ord '#' is 35 and ord '0' is 48.

Implemented changes:
- compare Object as STRING when it's an Object with INT or STRING
  comparison,
- set Objects string to start with <Object,
- include lingo test and
- remove BUILDBOT notification on invalid comparion.
2022-03-14 11:04:07 +01:00
Roland van Laar
45371c6799 DIRECTOR: LINGO: Add comparison INT and STRING
With INT and STRING comparisons:
- when the STRING can be parsed as an INT then it's an INT comparison,
  otherwise
- the INT is parsed as STRING and it's an STRING comparison.
2022-03-14 10:09:33 +01:00
Paul Gilbert
3cf63b416f GLK: ZCODE: Added detection entires 2022-03-13 16:26:40 -07:00
Paul Gilbert
c3d3887a3f GLK: ZCODE: Add detection for Le Cercle des Gros Geeks disparus 2022-03-13 16:08:51 -07:00
Roland van Laar
34ba1c9fb2 DIRECTOR: LINGO: buildbot check on type comparions
`"string" > 0` is True in Lingo. Let's run the buildbot and see which
comparisons between unaligned types are used.
2022-03-13 22:54:17 +01:00
Roland van Laar
3c318cb3f8 DIRECTOR: LINGO: Fix Lingo V4 entity the type
Set the right  bytecode for the entity kTheType. kTheCursor was
defined for two bytecode operations.

This fixes a long standing bug in Majestic. A rectangle got its cursor
set instead of the type. Obsuring other rectangles which did should have
shown a cursor. Now all interactive objects are indicated by a cursor
change.
2022-03-13 15:43:42 +01:00
Roland van Laar
d5fd9e4eb1 JANITORIAL: Remove space before semicolon 2022-03-13 13:43:19 +01:00
neuromancer
68979a013a HYPNO: add score field into saving/loading and show it as restored content in spider 2022-03-13 11:05:22 +01:00
sluicebox
45c5cf6639 SCI: Fix KQ5 PC-98 Japanese bandit's campfire 2022-03-12 16:45:01 -05:00
neuromancer
c0f9a5566d HYPNO: added some missing videos, sounds and restored content in spider 2022-03-12 14:30:50 +01:00
neuromancer
0c1ccd1022 HYPNO: added statistics after each fight as restored content in spider 2022-03-12 12:10:19 +01:00
neuromancer
61f64a4d28 HYPNO: add a flag to enable restored content 2022-03-12 10:53:45 +01:00
neuromancer
85c2aee6ec HYPNO: corrected c20 level order in wet 2022-03-12 10:34:05 +01:00
neuromancer
cc2a3bd9c6 HYPNO: refactored save/load profile code in wet 2022-03-12 10:00:48 +01:00
neuromancer
e5377943c8 HYPNO: allow to load games externally in wet 2022-03-12 10:00:48 +01:00
neuromancer
0b4335a47c HYPNO: added a required delay in arcade sequences 2022-03-12 10:00:48 +01:00
neuromancer
22705cd119 HYPNO: removed the use of confman in save/load code in wet 2022-03-12 10:00:48 +01:00
neuromancer
3dc1129b55 HYPNO: show the required amount of objectives to destroy in wet 2022-03-12 10:00:48 +01:00
Roland van Laar
9ebd702a4c DIRECTOR: LINGO: Remove buildbot warnings
The entity STUBS that were encountered on the buildbot are all fixed
now.

This reverts commit a426853acc.
2022-03-11 23:46:36 +01:00
Filippos Karapetis
99298ed22c CHEWY: Fix game getting stuck after saving through the GMM
The enter key pressed when saving was incorrectly processed by the game
2022-03-12 00:34:19 +02:00
Roland van Laar
5ce2dffaee DIRECTOR: LINGO: implement updateMovieEnabled
updateMovieEnabled is a boolean. It's a flag to signal that the changes
in the movie need to be saved when branching to another movie.

The variable is implemented but without any side effect.
2022-03-11 23:23:44 +01:00
Roland van Laar
eef834cbf4 DIRECTOR: LINGO: Implement the traceLoad property
The traceLoad property can be 0, 1, 2 or 3. It specifies how much
verbosity is shown when loading cast members.

It's a bt useless for ScummVM. We have our own verbosity mechanism.
Furthermore ScummVM loads all casts up front and unload is a no op.
2022-03-11 23:23:44 +01:00
Roland van Laar
1b2ce997b1 DIRECTOR: LINGO: implement frameScript property
The frameScript property returns the cast number of the script in the
scipt channel.
2022-03-11 22:39:01 +01:00
Roland van Laar
8d22aa3af1 DIRECTOR: LINGO: Implement the actorList property
The actorList is a global array property. Birthed scripts can be added
to it. The `stepFrame` method is called on all objects in the array on
every frame. < D4 had an executePerFrameHook for this.
2022-03-11 21:58:15 +01:00
Roland van Laar
2a1149a453 DIRECTOR: LINGO: Implement property the exitLock
In Director the exitLock prevents quitting the program when it's set to
TRUE. get and set for the exitLock is implemented.

The underlying functionality, preventing exiting a program, is not
implemented. ScummVM should always respond to a QUIT event.
2022-03-11 20:32:54 +01:00
Roland van Laar
c52befe02e JANITORIAL: Code style fixes 2022-03-11 19:44:22 +01:00
Torbjörn Andersson
274c406c31 SCUMM: Only auto-show keyboard in MI2 if it has copy protection screen
The Mac version only shows a copy protection screen if you explicitly
ask for it, and the unofficial talkie version doesn't show one ever.
Therefore there is no reason to trigger the virtual keyboard.
2022-03-11 15:55:50 +01:00
Torbjörn Andersson
73ec60b189 AGS: Add more entries for Unavowed
In case we don't want to keep entries for old versions around, I've
marked these with comments for which versions they are.
2022-03-11 11:13:05 +01:00
neuromancer
aab9a5770c HYPNO: avoid updating progression in a save game when replaying previous levels in wet 2022-03-11 08:37:49 +01:00
neuromancer
df29e44587 HYPNO: simplified saving and loading code to use listSaves in wet 2022-03-11 08:28:34 +01:00
Roland van Laar
a426853acc DIRECTOR: LINGO: fail buildbot on STUBBED entities 2022-03-11 00:51:23 +01:00
Filippos Karapetis
0df39b7502 SAGA: Unify language index for all hardcoded strings 2022-03-11 01:21:34 +02:00
Strangerke
6e870796a9 CHEWY: More renaming in atds.h 2022-03-11 00:07:29 +01:00
Roland van Laar
b8aa4aedba JANITORAL: spelling fix 2022-03-11 00:02:50 +01:00
Roland van Laar
3a77a95a6a DIRECTOR: fall back to AVI decoder
AVI video is used in the mckenzie-demo-win game.
2022-03-11 00:02:04 +01:00
Roland van Laar
6cd54ce1d0 DIRECTOR: LINGO: FPLAY: fix name
The FPlay XObjects internal name is FPlay.

Necessary since ScummVM uses the internal XObjects names in rsrc files.
    Commit: 930d9236
2022-03-10 23:42:37 +01:00
Roland van Laar
95fc5560f9 Director: Implement the searchPath
the searchPath is an array that contains paths that need to be searched
when opening a file. It's a property on the same global level in the
same way itemDelimeter is.

The searchPath is set via cb_theassign2. It's used for assigning
properties to the movie itself. `g_lingo` in the case of ScummVM.

The only known case for cb_theassign2 is in the game Louis Catorze
where it's only used for the searchPath.

Note: cb_theassign() does the same thing for script and factories
2022-03-10 23:42:37 +01:00
BLooperZ
2618a00043 SAGA: align hebrew converse text to the right 2022-03-11 00:21:16 +02:00
BLooperZ
28e1a9e9be SAGA: hebrew translation of embedded texts 2022-03-11 00:21:16 +02:00
BLooperZ
0036ebe8df SAGA: support hebrew text rendering 2022-03-11 00:21:16 +02:00
neuromancer
9f87526f93 HYPNO: implemented basic saving and loading in wet 2022-03-10 20:58:56 +01:00
Walter Agazzi
8660bdcf75 AGS: Add detection/language for games U-Z 2022-03-10 19:38:39 +01:00
Roland van Laar
c223a8f883 Director: Remove framerate fallback
The framerate byte is now understood. A framerate byte of 0 means a
framerate of 3. Which is handled during framerate parsing.
The check for 0 is therefor redundant.
2022-03-10 17:50:24 +01:00
Roland van Laar
01e914d937 Revert "DIRECTOR: Buildbot to test for lightswitch bit"
This reverts commit 5709e19d98.
2022-03-10 17:44:16 +01:00
Roland van Laar
5709e19d98 DIRECTOR: Buildbot to test for lightswitch bit 2022-03-10 17:20:49 +01:00
Roland van Laar
20d2092045 DIRECTOR: Implement framerate 0x10
In Director 2 and 3 framerates are preset and referenced as: 0x0 to 0xF.
Some movies set a framerate of 0x10.

D2 and D3 interpret this as a framerate of 15.
Which was measured to be exactly the same as setting a framerate of 15.

In D4 it's shown as a framerate of 120.

Movies with a framerate of 0x10:
D2: DATA/WARLOCKSHIP/REUNION (spaceship warlock)
D4: ping.dir (chop suey)
2022-03-10 15:51:38 +01:00
sluicebox
1798fb5469 SCI32: Add detection entry for LSL6 Mac CD variant 2022-03-10 09:03:14 -05:00
Strangerke
b9f436ea86 CHEWY: Turn _tafName into a Common::String (fix coverity 1475961) 2022-03-09 23:01:41 +01:00
sluicebox
0ca9b1188b SCI: Saving from GMM now works on more Mac games 2022-03-09 16:23:26 -05:00
Strangerke
945030ae2c CHEWY: rework checks on TXT_MARK_LOOK in ats_get_txt (also fix coverity 1475955) 2022-03-09 22:17:07 +01:00
Strangerke
aa7e21d6c0 CHEWY: Fix coverity 1475951, 1475954 and 1475956 (out of bounds reads) 2022-03-09 21:38:41 +01:00
Roland van Laar
9142f4454f DIRECTOR: LINGO: Fix else statement
An else statement was missing to the if. All proper framerates < 16 were
generating warnings in buildbot.
2022-03-09 18:04:24 +01:00
Roland van Laar
b5fcdb561b DIRECTOR: LINGO: improve framerate handling
The framerate can be set to 1, 2 and 3 via the tempo channel.
These are the actual framerates, meaning 1 fps is 1 fps.
2022-03-09 17:35:59 +01:00
D G Turner
6d7663b1b1 AGS: Fix Redundant Declaration Warnings
These are emitted by GCC when -Wredundant-decls is passed.
2022-03-09 15:28:19 +00:00
D G Turner
f2cb975193 ICB: Fix Remaining Redundant Declaration Warning
This is emitted by GCC if -Wredundant-decls is passed.
2022-03-09 12:51:05 +00:00
D G Turner
5a7481141a DIRECTOR: Fix Redundant Declaration in Grammar Parser Code
This is emitted by GCC if -Wredundant-decls is passed.
2022-03-09 10:02:17 +00:00
D G Turner
600358f1cc HYPNO: Fix Redundant Declaration in Grammar Parser Code
This is emitted by GCC if -Wredundant-decls is passed.
2022-03-09 10:01:49 +00:00
D G Turner
6ac3d31f47 PRIVATE: Fix Redundant Declaration in Grammar Parser Code
This is emitted by GCC if -Wredundant-decls is passed.
2022-03-09 10:01:02 +00:00
Andrea Boscarino
c3ad8a5a94
SCUMM: DiMUSE: Add missing check for already loaded sound
The missing check can cause an issue in The Dig where the sound slots are being filled with the same sound file (background music) after causing a sequence of these two engine actions:
IMuseDigital::setDigMusicState(): Set music state: stateNoChange
IMuseDigital::setDigMusicState(): Set music state: <any valid state which corresponds to a loadable file>

As usual, thanks athrxx!
2022-03-09 09:33:34 +01:00
Strangerke
ddd632a051 CHEWY: More renaming 2022-03-09 09:12:51 +01:00
Torbjörn Andersson
51867690c4 SCUMM: Fix EGA Loom options in RTL mode
There is a special case for adjusting the padding in Widget::draw() that
is applied, among other things, to widgets whose name contains
"GameOptions". We want that special case to apply to the EGA Loom
options as well, so this is simply another renaming.

At some point, it would probably be a good idea for this special case to
go away.
2022-03-09 08:53:14 +01:00
Torbjörn Andersson
fe09c9ad4f SCUMM: Rename EGA Loom settings elements
Because if I constantly have to double-check which is which, even though
there are only three of them, I clearly made a mistake when I first
named them.
2022-03-09 08:35:22 +01:00
neuromancer
5aef420c43 HYPNO: refactored hard coded functions of wet 2022-03-08 20:30:53 +01:00
neuromancer
860cc60f1b HYPNO: added menu for level selection in wet 2022-03-08 20:30:53 +01:00
neuromancer
f725f3d8bf HYPNO: added difficulty selection in wet 2022-03-08 20:30:53 +01:00
Torbjörn Andersson
1212930938 SCUMM: Rename EgaLoomOptionsiWidget to LoomEgaOptionsWidget
This is ito be more consistent with LoomTownsDifficultyDialog.
2022-03-08 18:21:04 +01:00
Torbjörn Andersson
b5a93d9d67 SCUMM: Fix some more bugs with Loom replacement tracks
Don't try to update the _musicTimer in saveLoadWithSerializer(), because
we haven't yet loaded all of the savegame. Instead, do that in a new
restoreAfterLoad() method.

As an extra bonus, if an audio track was playing when the game was
saved, try to resume it from approximately that point.

Unfortunately, it turns out that _currentCDSound was not properly reset
when the song ended so loading a savegame made with an earlier version
of this feature may cause it to play music that it shouldn't. But that's
the kind of thing you should count on on the bleeding edge. Savegames
made after this change should be fine.
2022-03-08 11:19:39 +01:00
D G Turner
47e4c3c10c GLK: TADS: Fix Redundant Declarations
These cause GCC Warnings when -Wredundant-decls is passed.
2022-03-08 09:54:22 +00:00
D G Turner
a8cbc397af GLK: ALAN2: Fix Redundant Declarations
These cause GCC Warnings when -Wredundant-decls is passed.
2022-03-08 09:53:42 +00:00
D G Turner
43087f3a61 GLK: AGT: Fix Redundant Declarations
These warnings are reported by GCC if -Wredundant-decls is passed.
2022-03-08 06:46:56 +00:00
Paul Gilbert
a3ee505a61 CHEWY: Fix Howard not appearing when leaving house 2022-03-07 20:39:05 -08:00
Paul Gilbert
f99be29c16 CHEWY: Fix inventory look wrapping for paper stack 2022-03-07 19:54:55 -08:00
Filippos Karapetis
247074d92c CHEWY: Fix regression when using items 2022-03-08 03:23:41 +02:00
Filippos Karapetis
287f5d0217 CHEWY: Refactor and simplify keyboard key handling code 2022-03-08 01:34:11 +02:00
Filippos Karapetis
0dd48bf87a CHEWY: Remove unused palette save/load code 2022-03-08 00:59:13 +02:00
Filippos Karapetis
f2df7376b9 CHEWY: Move ssi out of globals.h and into atds.h 2022-03-08 00:47:10 +02:00
sluicebox
9f45ba1e59 SCI: Fix some SQ3 detection table flags 2022-03-07 17:06:17 -05:00
sluicebox
13fbaf794c SCI32: Fix QFG4 crashes when pressing direction keys
Now that we correctly pass direction key events to QFG4,
we need to patch the script bugs that they trigger.
These crashes also occur in the original game.

See: 1b4660a508
2022-03-07 17:06:17 -05:00
D G Turner
77a05a4d32 GLK: QUEST: Fix Redundant Declaration Warnings
These are emitted by GCC if -Wredundant-decls is enabled.
2022-03-07 20:24:37 +00:00
D G Turner
3fcd89c1ce GLK: JACL: Fix Redundant Declaration Warnings
These are emitted from GCC if -Wredundant-decls is enabled.
2022-03-07 20:23:15 +00:00
D G Turner
35438cde82 CHEWY: Fix Redundant Declaration Warnings
These are emitted by GCC if -Wredundant-decls is enabled.
2022-03-07 20:11:55 +00:00
D G Turner
6197a0da3d GRIM: Fix Redundant Declaration Warnings
These are emitted by GCC if -Wredundant-decls is enabled.
2022-03-07 19:57:34 +00:00
D G Turner
bee3506514 HDB: Fix Redundant Declaration Warnings
These are emitted by GCC if -Wredundant-decls is enabled.
2022-03-07 19:49:20 +00:00
D G Turner
027f85f612 ICB: Fix Redundant Declaration Warnings
These are emitted by GCC if -Wredundant-decls is enabled.
2022-03-07 19:43:11 +00:00
D G Turner
894813870e SAGA2: Fix Redundant Declaration Warnings
These warnings are generated by GCC if -Wredundant-decls is enabled.
2022-03-07 18:30:58 +00:00
D G Turner
b3f98810a2 SWORD25: Fix Redundant Declarations
These cause GCC Warnings when -Wredundant-decls is enabled.
2022-03-07 13:27:14 +00:00
Filippos Karapetis
1fbf587117 CHEWY: Renaming 2022-03-07 14:35:02 +02:00
Pragyansh Chaturvedi
34bc417d12
SCUMM: Fix bug #13196 - Invalid phrase with GIVE crashes Monkey EGA Demo
* SCUMM: Fix Invalid phrase with GIVE crashes Monkey Island EGA Demo
* SCUMM: Suggested changes on Pull #3731
* SCUMM: specify game id in Pull #3731
* SCUMM: seperated AMIGA monkey VGA and VGA Demo variants. Assigned GF_DEMO flags
2022-03-07 12:28:09 +02:00
D G Turner
c569f4b40d ULTIMA: Remove Redundant Declarations
These cause GCC Warnings when -Wredundant-decls is enabled.
2022-03-07 10:20:55 +00:00
D G Turner
929ea42b8e NGI: Remove Redundant Declaration
This causes GCC Warnings when -Wredundant-decls is enabled.
2022-03-07 10:18:50 +00:00
neuromancer
2d478e3134 HYPNO: adjusted offsets in arcade animation in spider 2022-03-07 09:35:04 +01:00
Torbjörn Andersson
ce4e22a294 CHEWY: Fix compilation, hopefully without breaking anything else 2022-03-07 08:30:21 +01:00
Strangerke
4a012a2955 CHEWY: rename a bunch of 'Anz' variables 2022-03-07 00:58:19 +01:00
Filippos Karapetis
701ac40684 CHEWY: Fix regression in dialogs
The game loads a block of responses for each dialog, and saves the
current dialog state in saved games
2022-03-06 23:49:20 +02:00
Strangerke
e06dee9443 CHEWY: remove a couple of unused functions in effect and mcga_graphics, some renaming 2022-03-06 22:17:49 +01:00
Andrea Boscarino
c03787f8bb
SCUMM: DiMUSE: Fix possible buffer underruns
Big thanks to athrxx for reporting this issue; the previous calculation for obtaining an optimal number for _maxQueuedStreams did not account for the differences between the sample rate targeted by the audio backend and the one targeted by DiMUSE (which is 22050Hz). 

This new formula has been tested for optimal latency and absence of underruns for all supported games and all known combinations of sample rates and output buffer sizes:
[22050, 44100, 48000, 96000], [1024, 2048, 4096, 8192].
2022-03-06 21:58:40 +01:00
Roland van Laar
00e6cf0411 DIRECTOR: Improve framerate loading D2 and D3
D2 and D3 have 16 distinct framerates, 0x0 to 0xF.
Framerates are integer values. They are rounded down towards their
nearest integer.

The following table is included for completeness.

The information was gathered by creating a D3 movie with an `on stepMovie` handler that counts every frame.
The setting is the setting on the slider in the D3 panel.
It was timed with clicking 'play' in D3 and start on a stopwatch at the
same time. The same for stopping the movie and the stopwatch.
FPS was calculated by dividing the amount of frames given by Director
and the time on the stopwatch.

setting     time        frames      fps
3           60.18       226         3.755
4           30.04       121         4.028
4.1         30.09       131         4.354
4.2         30.29       141         4.65
5           30.38       153         5.036
5.1         30.09       165         5.483
6           30.20       182         6.026
6.1         30.06       201         6.687
7           30.04       228         7.590
8           30.24       260         8.598
10          30.15       302         10.017
12          30.16       364         12.069
15          30.17       454         15.048
20          30.10       602         20.0
30          30.05       904         30.08
60          30.07       1811        60.226
2022-03-06 21:51:56 +01:00
neuromancer
802e97d479 HYPNO: reverted testing change in the start level in spider 2022-03-06 21:50:27 +01:00
neuromancer
59fe50f0ed HYPNO: fixed objective detection code in arcade 2022-03-06 21:50:27 +01:00
neuromancer
b8f233cbf7 HYPNO: removed unused function in arcade code 2022-03-06 21:50:27 +01:00
Strangerke
a7501bf73d CHEWY: Remove some unused members in mcga_graphics, some renaming in detail.h and globals 2022-03-06 19:50:04 +01:00
neuromancer
60e379268d HYPNO: added mission statistics screen in wet 2022-03-06 17:53:28 +01:00
Pragyansh Chaturvedi (r41k0u)
ebc01f09c9 NGI: Fix stuck when teleporting to foot (bug #10395) 2022-03-06 17:48:40 +01:00
Pragyansh Chaturvedi (r41k0u)
65b6e897d2 NGI: Fix Inconsistent character state (bug #9669) 2022-03-06 17:47:21 +01:00
Roland van Laar
3628584552 DIRECTOR: LINGO: Add XObject filenames
Director engine loads the XObject from the internal names inside the
resource since commit 930d9236b8
These changes adds the internal name for AppleAudioCD and LaserDisc to the
filelist.
2022-03-06 17:31:18 +01:00
Roland van Laar
fcfecfff52 DIRECTOR: LINGO: Add XObject filenames
Director engine loads the XObject from the internal names inside the
resource since commit 930d9236b8
These changes adds the internal name for PalXobj and RearWindow to the
filelist.
2022-03-06 17:25:04 +01:00
Roland van Laar
1902b94c13 DIRECTOR: LINGO: move XPlayAnim to XObject
XPlayAnim is an XObject. It was only used as a regular builtin during
development.
2022-03-06 16:49:32 +01:00
D G Turner
d22859680a TINSEL: Remove Redundant Declarations
These cause GCC Compiler Warnings when -Wredundant-decls is enabled.
2022-03-06 14:10:27 +00:00
D G Turner
006c4fe8f4 SCI: Fix Redundant Declaration
This causes GCC Compiler Warnings when -Wredundant-decls is enabled.
2022-03-06 13:56:15 +00:00
D G Turner
9a27d5430b SAGA2: Remove Redundant Declaration
This was causing GCC Warnings when -Wredundant-decls is enabled.
2022-03-06 13:43:45 +00:00
Paweł Kołodziejski
7714b7efa8
GRIFFON: Fixed compiler warning about not used array 2022-03-06 14:30:20 +01:00
Filippos Karapetis
b93ada533c CHEWY: Remove obsolete / unused functions 2022-03-06 14:52:46 +02:00
Filippos Karapetis
6ad1b281b7 CHEWY: Refactor the mouse code to use CursorMan and ScummVM cursors 2022-03-06 14:40:44 +02:00
Filippos Karapetis
a80e543a3c CHEWY: Start replacing minfo for cursor position 2022-03-06 14:40:43 +02:00
Filippos Karapetis
2ed0dea723 CHEWY: Simplify the event manager code
Merge the EventsBase and EventsManager classes
2022-03-06 14:40:42 +02:00
D G Turner
3d6c0f8ab3 MACVENTURE: Remove Redundant Duplication Declaration
This causes a GCC Warning when -Wredundant-decls is enabled.
2022-03-06 11:33:45 +00:00
Andrea Boscarino
a083cf5abc SCUMM: DiMUSE: Create separate InternalMixer flow for FT engine 2022-03-06 11:11:11 +01:00
Roland van Laar
930d9236b8 DIRECTOR: LINGO: Implement loading rsrc XObjects
Xobject files on mac can contain multiple XObjects.
Parse the names of XCOD and XCMD resources and try to load them as
XObjects.
2022-03-06 11:07:35 +01:00
Pragyansh Chaturvedi (r41k0u)
c5fc150cd5 NGI: Fix #10396: Rolling bridge is wrong state 2022-03-06 12:00:03 +02:00
Roland van Laar
7801d86e79 DIRECTOR: LINGO: Improve events in xPlayAnim
- PACo stops playing on keydown and mousedown
- quit event quits scummvm
- refactor quit event handler to be callable from outside the main event
  loop
2022-03-06 10:07:05 +01:00
Filippos Karapetis
82f22fe458 CHEWY: Allow skipping speech with left mouse click 2022-03-06 01:07:49 +02:00
Filippos Karapetis
0c543715ab CHEWY: Handle mouse button up events, instead of button down
This helps avoid processing the same mouse button down event in a row
and is in line with how we process mouse events in other engines
2022-03-06 01:07:49 +02:00
Filippos Karapetis
6ea0b5cd52 CHEWY: Cleanup 2022-03-06 01:07:48 +02:00
Roland van Laar
1be7de067b DIRECTOR: LINGO: xPlayAnim improvements
- keep last played frame displayed on screen
- stop playing the video on mouse click
2022-03-05 22:37:04 +01:00
Filippos Karapetis
432e0682c3 CHEWY: Remove obsolete file handles from the Room class 2022-03-05 23:24:49 +02:00
Roland van Laar
bee055140f DIRECTOR: Sanity check PACo palette was off by one
Palette has a length of 256.
2022-03-05 22:11:40 +01:00
Filippos Karapetis
830ee285ad CHEWY: Start refactoring item resources (ADH blocks)
This also changes the internal stream to MemorySeekableReadWriteStream
from MemoryReadWriteStream, which better suits our needs
2022-03-05 22:38:12 +02:00
Filippos Karapetis
299a81bda8 CHEWY: Use enums for open_handle() 2022-03-05 22:38:12 +02:00
Filippos Karapetis
b285ae3d88 CHEWY: Remove unnecessary local variable
This avoids a crash under some race conditions, where this variable
isn't fully initialized
2022-03-05 22:38:11 +02:00
Filippos Karapetis
f541a938b7 CHEWY: Cleanup 2022-03-05 22:38:11 +02:00
antoniou79
c43abab5e8 BLADERUNNER: Spacebar key also skips cutscenes
This is the original's behavior also.

Spacebar key does not skip dialogue.
2022-03-05 22:19:25 +02:00
Eugene Sandulenko
9c5ed654e7
CHEWY: Fix guard define 2022-03-05 21:08:10 +01:00
Walter Agazzi
16a1f67179 AGS: Add detection for new games (initial T)
* Add detection for new games
* Update language for some existing detections
2022-03-05 19:34:14 +00:00
Torbjörn Andersson
2f753222fe SCUMM: Work around timing bug when Mandible uses distaff in VGA Loom
The first and second animation when Mandible uses the distaff were so
close that they looked like one, and it looked like the second one was
missing. This patch adjusts the timing of the second one.
2022-03-05 20:01:05 +02:00
Christian Kündig
d698578d3a
ICB: Add Bink as an engine dependency 2022-03-05 19:57:04 +02:00
Cameron Cawley
f26c3382b6 CHEWY: Fix building with older compilers 2022-03-05 16:05:56 +00:00
D G Turner
61cfa788a0 SCI: Fix GCC Compiler Fallthrough Warning 2022-03-05 16:01:54 +00:00
neuromancer
2a0b157d5d HYPNO: fixed parsing for some wetlands demos 2022-03-05 16:45:38 +01:00
Filippos Karapetis
35515585df CHEWY: Switch to the new video code
This simplifies the video code significantly and allows us to
remove the old video code
2022-03-05 17:26:29 +02:00
neuromancer
72bf7f2cb5 HYPNO: added credits after last level in wet 2022-03-05 08:46:43 +01:00
Paul Gilbert
dac1962ef6 CHEWY: Extra quit checks during flic play 2022-03-04 20:02:44 -08:00
Filippos Karapetis
e8c304d6ac CHEWY: Remove leftover include 2022-03-05 02:26:26 +02:00
Filippos Karapetis
f40bec1105 CHEWY: Rewrite the hotspot state file (diah.adh) using memory streams
This allows us to avoid creating a temporary file to disk
2022-03-05 02:18:49 +02:00
trembyle
b9e7b1dfcd COMMON: ENGINES: Correct Czech language ISO code
1. Correct constant in common files
2. Add the old code to obsolete language codes
3. Replace all occurences in engine code
2022-03-04 18:29:02 +01:00
neuromancer
74516dc914 HYPNO: completable c40 level prototype in wet 2022-03-04 12:59:27 +01:00
neuromancer
5377fc02d5 HYPNO: play specific enemy sound, if available 2022-03-04 12:59:27 +01:00
sluicebox
695b7f9229 SCI32: Improve SCI3 object parsing
Adjust the parsing code to more accurately reflect the
resource format. Adds more comments and less allocations.
2022-03-03 22:26:09 -05:00
sluicebox
e1c749adc6 SCI: Update SQ1VGA script patch notes 2022-03-03 22:26:09 -05:00
sluicebox
0d12e0add6 SCI: Fix crash on GMM if User object can't be found 2022-03-03 22:26:09 -05:00
sluicebox
bf72668377 SCI: Handle saving from GMM for LSL3/SQ3 German Amiga 2022-03-03 21:54:27 -05:00
Strangerke
a48534f32a CHEWY: Remove two useless externals in mouse, some renaming 2022-03-03 18:37:21 -08:00
Strangerke
5d579f2dff CHEWY: Rename mouseLeftClick 2022-03-03 18:37:21 -08:00
Strangerke
23c5a4ce3e CHEWY: More renaming 2022-03-03 18:37:16 -08:00
Strangerke
b27b209021 CHEWY: Still renaming 2022-03-03 18:36:50 -08:00
Strangerke
6ff32ec391 CHEWY: Remove some unused structures in ngstypes 2022-03-03 18:36:50 -08:00
Strangerke
9cd7694d07 CHEWY: Remove unused structure, some renaming 2022-03-03 18:36:50 -08:00
Strangerke
407001362c CHEWY: Remove useless parameter in startAadWait() 2022-03-03 18:36:49 -08:00
Strangerke
266b30eb55 CHEWY: More renaming 2022-03-03 18:36:49 -08:00
Strangerke
beec516ffb CHEWY: Some more renaming 2022-03-03 18:36:49 -08:00
Strangerke
8aec52fd82 CHEWY; Some more renaming 2022-03-03 18:36:48 -08:00
Paul Gilbert
873bb78724 CHEWY: Header define fixes 2022-03-03 18:36:48 -08:00
Paul Gilbert
30ff8c38dc CHEWY: Add missing breaks to re-added switch cases 2022-03-03 18:36:48 -08:00
Paul Gilbert
c668422506 CHEWY: Revert 'Remove flic_cut switch cases that were unused'
This reverts commit c56d27bffea081e201f19ef408645596d0281a15.

The code is actually part of the refactoring cleanup
2022-03-03 18:36:48 -08:00
Strangerke
ef70d3ef56 CHEWY: more renaming 2022-03-03 18:36:48 -08:00
Strangerke
e919953073 CHEWY: renaming, add some missing breaks in flic_cut 2022-03-03 18:36:47 -08:00
Paul Gilbert
3073043a0d CHEWY: Fix compiler warnings 2022-03-03 18:36:47 -08:00
Paul Gilbert
c7284144a8 CHEWY: Remove flic_cut switch cases that were unused
Double-checked in the disassembly of the release game,
and confirmed they weren't used
2022-03-03 18:36:47 -08:00
Strangerke
3b86f9e94e CHEWY: Some more renaming 2022-03-03 18:36:47 -08:00
Filippos Karapetis
e66abfa8e0 CHEWY: Fix compilation 2022-03-03 18:36:47 -08:00
Filippos Karapetis
6c14ba9e80 CHEWY: Remove obsolete functions 2022-03-03 18:36:47 -08:00
Strangerke
d20703122d CHEWY: Renaming 2022-03-03 18:36:46 -08:00
Filippos Karapetis
06bd3eeca9 CHEWY: Cleanup video callbacks 2022-03-03 18:36:46 -08:00
Filippos Karapetis
c8fa3c2538 CHEWY: Remove special video cases for video IDs over 1000
These are unused throughout the engine, and are probably a leftover
2022-03-03 18:36:46 -08:00
Filippos Karapetis
da2905f8fe CHEWY: Add enums for the cinema videos 2022-03-03 18:36:46 -08:00
Paul Gilbert
eddb5b6db8 CHEWY: Fix Howard zooming when entering room 56 2022-03-03 18:36:46 -08:00
Paul Gilbert
5c6b258716 CHEWY: Room 56 entry cleanup 2022-03-03 18:36:46 -08:00
Paul Gilbert
f3baadd733 CHEWY: Fix shooting dolls cutscene in room 94 2022-03-03 18:36:45 -08:00
Strangerke
b3fc15feeb CHEWY: Some renaming 2022-03-03 18:36:45 -08:00
Filippos Karapetis
3a8e151d93 CHEWY: Cleanup of the TV video code 2022-03-03 18:36:45 -08:00
Filippos Karapetis
b9aabf3353 CHEWY: Switch the TV videos to the new video code
This also adds handling for rewindable videos, which keep looping
until the current dialog finishes. Furthermore, events are now
correctly pushed to the engine code
2022-03-03 18:36:45 -08:00
Filippos Karapetis
3f5f2c0bbf CHEWY: Allow rewinding of CFO videos
This functionality is used in cases such as the TV videos, which keep
looping until the current dialog is finished
2022-03-03 18:36:45 -08:00
Strangerke
56616bac2f CHEWY: Some renaming 2022-03-03 18:36:45 -08:00
Strangerke
a248e9b8da CHEWY: More fixes for CppCheck warnings 2022-03-03 18:36:44 -08:00
Filippos Karapetis
37149b2bc8 CHEWY: Fix crash when entering room 21 2022-03-03 18:36:44 -08:00
Filippos Karapetis
60f8257fdd CHEWY: Remove superfluous mouse handling code 2022-03-03 18:36:44 -08:00
Filippos Karapetis
03de363e36 CHEWY: Unify switch cases in room 39 2022-03-03 18:36:44 -08:00
Filippos Karapetis
97cde7eba9 CHEWY: Use the new video playing code for special videos 9 and 10 2022-03-03 18:36:44 -08:00
Strangerke
cb3983d102 CHEWY: More janitorial work in Inventory::menu() 2022-03-03 18:36:44 -08:00
Strangerke
4104095241 CHEWY: Remove initialization of menu_first not present in the binary (and useless) 2022-03-03 18:36:44 -08:00
Paul Gilbert
ecd5d11eac CHEWY: Janitorial 2022-03-03 18:36:43 -08:00
Paul Gilbert
c8fa407e93 CHEWY: Fix bad direct cast to a AdsTxtHeader pointer 2022-03-03 18:36:43 -08:00
Paul Gilbert
5b0afcffa6 CHEWY: Change AadInfo * to AadInfoArray 2022-03-03 18:36:43 -08:00
Paul Gilbert
0c80d40d95 CHEWY: Fix compiler warnings 2022-03-03 18:36:43 -08:00
Paul Gilbert
84a0dfb35d CHEWY: Explicitly mark AtsBlock as packed 2022-03-03 18:36:43 -08:00
Filippos Karapetis
8d83a363fb CHEWY: Fix incorrect busy status for Chewy in is_chewy_busy() 2022-03-03 18:36:43 -08:00
Strangerke
3fc3959f7f CHEWY: Various fixes in flic_cut() 2022-03-03 18:36:43 -08:00
Filippos Karapetis
ee46ccf2a1 CHEWY: Fix drawing overlay elements (e.g. subtitles) on videos 2022-03-03 18:36:42 -08:00
Filippos Karapetis
2cb5267002 CHEWY: Remove more unused functions 2022-03-03 18:36:42 -08:00
Filippos Karapetis
1bc86dc799 CHEWY: Remove unused functions 2022-03-03 18:36:42 -08:00
Filippos Karapetis
8e2ea2c8d5 CHEWY: Refactor text printing and font handling code 2022-03-03 18:36:42 -08:00
Filippos Karapetis
19234c3315 CHEWY: Fix incorrect text replacement 2022-03-03 18:36:42 -08:00
Strangerke
891648a851 CHEWY: Fix German intro number 2022-03-03 18:36:41 -08:00
Strangerke
fcce6ef9dd CHEWY: Add German exit message 2022-03-03 18:36:41 -08:00
Strangerke
94f5cf5085 CHEWY: Fix an endianness issue in cursorChoice 2022-03-03 18:36:41 -08:00
Strangerke
e35654ac19 CHEWY: More renaming 2022-03-03 18:36:41 -08:00
Strangerke
6e8cf71682 CHEWY: Some renaming 2022-03-03 18:36:41 -08:00
Strangerke
ca5dd69fd0 CHEWY: Remove useless check and include in mcga.cpp 2022-03-03 18:36:41 -08:00
Paul Gilbert
ccbffc0bd4 CHEWY: Mixed speech & subtitle support for item interactions 2022-03-03 18:36:40 -08:00
Paul Gilbert
03e3b2a8f9 CHEWY: Fix speech num after looking at pillow twice 2022-03-03 18:36:40 -08:00
Strangerke
8853eaba2c CHEWY: Fix some more CppCheck warnings, some renaming 2022-03-03 18:36:40 -08:00
Strangerke
e3f5e5ae44 CHEWY: Rename Display enum 2022-03-03 18:36:40 -08:00
Strangerke
e93c5f0928 CHEWY: Remove unused variable in Cinema::Execute 2022-03-03 18:36:40 -08:00
Filippos Karapetis
cd7de90e42 CHEWY: Remove stubbed mouse speed code 2022-03-03 18:36:40 -08:00
Filippos Karapetis
a805e55759 CHEWY: Remove file function wrappers 2022-03-03 18:36:39 -08:00
Strangerke
5d6fd6de1a CHEWY:Add missing va_end(), add on TODO in devices() 2022-03-03 18:36:39 -08:00
Filippos Karapetis
c620f1d93c CHEWY: Remove more unused types 2022-03-03 18:36:39 -08:00
Filippos Karapetis
62b70a5add CHEWY: Simplify loading of blende.rnd 2022-03-03 18:36:39 -08:00
Filippos Karapetis
4009fd7a6a CHEWY: Finish refactoring taf_seq_adr()
The sprite corrections table was not set correctly.
This allows us to remove related code that is now unused.
2022-03-03 18:36:39 -08:00