135268 Commits

Author SHA1 Message Date
eientei
c85129b699 DIRECTOR: Many, many detection entries 2022-12-01 01:18:11 +01:00
eientei
c616314c65 DIRECTOR: Add ispippin xlib for Circus! (Pippin) and stubbed qtmovie xlib 2022-12-01 01:18:11 +01:00
eientei
54727fec84 DIRECTOR: Add xlibs for Yearn2Learn: The Flintstones Coloring Book 2022-12-01 01:18:11 +01:00
eientei
467c393f03 DIRECTOR: Add xobjs for Ednovation games 2022-12-01 01:18:11 +01:00
eientei
1fae93ab5a DIRECTOR: moovxobj: According to the readme, this function would have an arg 2022-12-01 01:18:11 +01:00
eientei
22da69e510 DIRECTOR: JANITORIAL: moovxobj whitespace and comment fixes 2022-12-01 01:18:11 +01:00
eientei
89bd9f4c55 DIRECTOR: Add description to cdromxobj, popupmenuxobj 2022-12-01 01:18:11 +01:00
eientei
960503b784 DIRECTOR: JANITORIAL: jitdraw3, miscx whitespace cleanup 2022-12-01 01:18:11 +01:00
eientei
e8da6eb159 DIRECTOR: JANITORIAL: fileio whitespace cleanup 2022-12-01 01:18:11 +01:00
eientei
1900f8391b DIRECTOR: Add description to fileio 2022-12-01 01:18:11 +01:00
ScummVM-Translations
19f51d894c I18N: Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: ScummVM/scummvm
Translate-URL: https://translations.scummvm.org/projects/scummvm/scummvm/
2022-11-30 23:30:40 +00:00
AndywinXp
ba24698225 SCUMM: v3: Implement ability to rename savestate before loading on the original menu
As much as this seems bad design, it's a real possibility in the original interpreters, furthermore
confirmed by the menu messages which are shown when the user tries to do that, so here we are...
2022-12-01 00:04:46 +01:00
ScummVM-Translations
ca7652fe9d I18N: Update translations templates 2022-11-30 22:29:08 +00:00
Cameron Cawley
6cf3487803 AUDIO: Merge the DOSBoxCMS and CMSEmulator classes 2022-12-01 00:28:56 +02:00
Cameron Cawley
8f6028c43d KINGDOM: Reduce the size of the static data and make it const 2022-11-30 23:30:25 +02:00
Filippos Karapetis
541a8704d6 GLK: Implement GlkMetaEngineDetection::getMD5Bytes() 2022-11-30 23:29:37 +02:00
Cameron Cawley
6506e59064 ENGINES: Add getMD5Bytes to the base MetaEngineDetection class 2022-11-30 23:29:37 +02:00
Walter Agazzi
8713f3b3b3 DRACI: Find max speech file using iterator 2022-11-30 23:19:08 +02:00
elasota
c52eaf92fc COMMON: Move Installer VISE loader from mTropolis engine to Common. 2022-11-30 23:17:47 +02:00
sluicebox
bf47637280 SCI: Remove KQ6 black widow script patch
The VM discrepancy that caused these buggy scripts to behave
differently has been fixed, so this patch is no longer needed
2022-11-30 23:13:00 +02:00
sluicebox
30fad94e9a SCI: Track correct location and size of temp variables
The VM has been treating the entire area between the frame pointer and
the stack pointer as temp variables for the current function. There are
two problems with this:

1. The VM hasn't been updating the frame pointer correctly when multiple
   methods are called within the same send/self/super instruction.
2. The VM has been recalculating the number of temp variables on every
   instruction as the difference between the two pointers.
   This is incorrect, as this changes with almost every instruction in
   ways have nothing to do with the number of temp variables allocated
   by the link instruction. Meanwhile, the VM has not been recording
   the number of variables allocated by the link instruction.

The first discrepancy caused scripts to behave differently than in SSCI
when reading parameters out of bounds in certain situations.
It also prevented our uninitialized variable detection from detecting
certain reads. The second made the temp-count used for out of bounds
detection too large, made debugger output such as `stack` incorrect,
and made stepping through the link instruction in the debugger appear
to do nothing until stepping through the following instruction.

When multiple methods are called by a send/self/super instruction, each
method's link instruction increases the stack pointer further.
Method B's variables appear after method A's. The VM has been setting
the stack pointer correctly but it kept using the previous frame
pointer, so method B would re-use method A's stack area instead of the
area the VM had just allocated for B. If a script correctly initializes
variables before using them and doesn't use out of bounds parameters or
temp variables then this discrepancy doesn't make a difference.
But a lot of scripts do these bad things and accidentally rely on the
undefined values they read.

Now we update the frame pointer correctly when "carrying over" to
subsequent method calls from the same send/self/super instruction.
This matches SSCI behavior. We also now record the number of temp
variables that have been allocated by the link instruction and use
that instead of incorrectly recalculating on every instruction.

Fixes the KQ6 black widow lockup, and other KQ6 music bugs, where
scripts call Sound:fade without the required fourth parameter.
Sound:fade expects a fourth parameter, so reads it out of bounds,
and passes it as the stop-after-completion boolean to kDoSoundFade.
Scripts that called Sound:fade as the only method in a send got the same
results as in SSCI, but scripts that called Sound:play first didn't.

Fixes bugs #5625 #5653 #6120 #6210 #6252 #13944
2022-11-30 23:13:00 +02:00
AndywinXp
82c6306443 SCUMM: Formatting 2022-11-30 21:40:13 +01:00
ScummVM-Translations
21ba409e68 I18N: Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: ScummVM/scummvm
Translate-URL: https://translations.scummvm.org/projects/scummvm/scummvm/
2022-11-30 11:36:42 +00:00
Vladimir Serbinenko
5220c16e40 COMMON: Fix delete[]/new[] mismatch in clickteam 2022-11-30 12:36:23 +01:00
ScummVM-Translations
44a7a4f9c2 I18N: Update translations templates 2022-11-30 11:36:03 +00:00
neuromancer
a0e816370b FREESCAPE: relocated the code that process demo inputs 2022-11-30 12:36:49 +01:00
neuromancer
3f2fd5d703 FREESCAPE: reset player height when restart game in driller 2022-11-30 12:36:49 +01:00
neuromancer
4c969c7c47 FREESCAPE: basic implementation of code that restart the game in driller 2022-11-30 12:36:49 +01:00
neuromancer
ae0620cbf4 FREESCAPE: make sure thumbnail image is always created from the screen 2022-11-30 12:36:49 +01:00
Roland van Laar
8b310f1271 DIRECTOR: Fix memory leak in sound
Delete the stream gotten from _macresman->getDataFork.

Made the stream copying more explicit by aligning the variables names
with the function logic.
2022-11-30 10:54:49 +01:00
Roland van Laar
9a6dea9466 DIRECTOR: Fix memory leaks in archive.cpp
The newly used Common::SeekableReadStreamEndianWrapper was leaking.
Setting the DisposeAfterUse to YES resolved the leaks.
2022-11-30 10:51:41 +01:00
sluicebox
ea86295e3e SCI: Update QFG3 Woo dialog script patch
Simplifies the patch and updates the description
2022-11-29 18:35:45 -08:00
elasota
2982721aa7 MTROPOLIS: Fix missing return value. 2022-11-29 19:04:47 -05:00
elasota
19a3f6ade7 MTROPOLIS: Split off VISE archive handling. 2022-11-29 18:58:13 -05:00
elasota
d8058f94f3 MTROPOLIS: VISE 3 archive improvements. 2022-11-29 18:58:13 -05:00
Donovan Watteau
b365f97270 DOCS: Update for iOS 15 and iOS 16 new security settings 2022-11-30 00:44:12 +01:00
Eugene Sandulenko
eddfa82896
DIRECTOR: Added comment 2022-11-30 00:40:34 +01:00
Eugene Sandulenko
b114b95643
JANITORIAL: Fix code formatting 2022-11-30 00:35:59 +01:00
Vladimir Serbinenko
aae70a0b11 COMMON: Fix new[]-free mismatch in unzip.cpp 2022-11-30 00:17:51 +01:00
Eugene Sandulenko
e39051c7ff I18N: Update translation (Swedish)
Currently translated at 63.2% (1129 of 1786 strings)
2022-11-29 23:05:48 +00:00
Eugene Sandulenko
819100040d I18N: Update translation (Ukrainian)
Currently translated at 100.0% (1786 of 1786 strings)
2022-11-29 23:03:12 +00:00
Eugene Sandulenko
0e08fe11d9 I18N: Update translation (Russian)
Currently translated at 100.0% (1786 of 1786 strings)
2022-11-29 23:03:04 +00:00
Roland van Laar
78bd7e7fd5 DIRECTOR: Fix compilation deprecation warning
Remove uses of deprected `SeekableSubReadStreamEndian` in archive.cpp

The deprationwarning was:

    Use SeekableReadStreamEndianWrapper with SeekableSubReadStream instead
2022-11-29 22:11:02 +01:00
Vladimir Serbinenko
e75f8784b0 HADESCH: Use readStream in memSubstream 2022-11-29 18:36:23 +01:00
Vladimir Serbinenko
b8f3bc2732 COMMON: In getDataFork use SafeSeekableSubReadStream
It can be opened several times so re-seeking makes sense
2022-11-29 18:35:20 +01:00
Vladimir Serbinenko
3ed46d3484 COMMON: In openFileOrDataFork ensure to seek to the beginning 2022-11-29 18:35:12 +01:00
neuromancer
ee3d1386be FREESCAPE: implemented spfx instruction for amiga/atari driller releases 2022-11-29 13:29:16 +01:00
Eugene Sandulenko
d1e5b9a380
NEWS: Mention clickinstaller for AGS 2022-11-29 13:21:19 +01:00
BLooperZ
0c3c7a4b5c SCUMM: prevent possible issues when range is reversed 2022-11-29 12:48:27 +01:00
lb_ii
cc08993822 WINTERMUTE: Fix crash on loaded games 2022-11-29 14:13:24 +03:00