Commit Graph
137148 Commits
Author SHA1 Message Date
Lothar Serra Mari 4d2fe3363b NEWS: Update German NEWS file 2022-06-03 20:09:38 +02:00
AndywinXp 0cd609395a SCUMM: Remove whitespace 2022-06-03 19:27:50 +02:00
AndywinXp a3f1285dc9 SCUMM: COMI: Implement o8_cameraOps
It had remained stubbed for who knows how long :) This fixes a class of bugs in which
the game requested the camera to be frozen, like for example while the inventory box is shown.
2022-06-03 19:27:18 +02:00
Martin Gerhardy af08c7c988 TWINE: fixed missing shadow in behaviour string for classic release 2022-06-03 18:52:44 +02:00
sluicebox 3c3ed549f1 SCI: Disable JONES speed test
Fixes bug #13529
2022-06-03 12:00:58 -04:00
Andrea Boscarino 75b50b99b4 SCUMM: v7-8: Remove all blast texts before loading a savestate
This fixes an issue in COMI, in which bringing up the recipe book and then pulling it down
left the recipe texts on screen on the new room for several frames.
2022-06-03 17:51:56 +02:00
Cameron Cawley 085130c6da GRAPHICS: Move ManagedSurface::clip() to the Surface class 2022-06-03 16:00:46 +01:00
Daniel 3e415c7ea2 I18N: Update translation (Portuguese (Portugal))
Currently translated at 61.3% (1058 of 1724 strings)
2022-06-03 14:28:00 +00:00
Eugene Sandulenko ce486ae58e DIRECTOR: LINGO: Properly implement get textFont of field 2022-06-03 16:02:34 +02:00
Eugene Sandulenko 0ce860e63b DIRECTOR: Added quirk for warlock 2022-06-03 14:24:14 +02:00
athrxx 4d37fb08b6 Revert "KYRA: (HOF) - add script var check"
This reverts commit 1030283cf4.

Giving this some more thought, it seems the safer thing to do. In practive, it shouldn't matter. I haven't encountered a single situation with an emty string...
2022-06-03 14:17:51 +02:00
Eugene Sandulenko 93412a5bab DIRECTOR: Created file for hosting game-specific quirks and moved a few there 2022-06-03 14:04:16 +02:00
neuromancer 8afe79e536 HYPNO: extra lives when reaching certain scores in wet 2022-06-03 13:03:27 +02:00
neuromancer cff10e543d HYPNO: tweak message showing score in wet demos 2022-06-03 13:03:27 +02:00
Cameron Cawley 828c6da4ae HYPNO: Switch the resolution for the Wetlands demo menu to 320x200 2022-06-03 13:02:25 +02:00
Eugene Sandulenko 7e77b6c585 DIRECTOR: LINGO: Fix crash when referencing non-existing/non-loaded DV cast 2022-06-03 12:48:14 +02:00
Eugene Sandulenko e9a110ef23 DIRECTOR: Added detection for mcluhan 2022-06-03 12:47:54 +02:00
Eugene Sandulenko 36beb9cc28 GUI: Added new keys in games.xml 2022-06-03 12:39:04 +02:00
Eugene Sandulenko 699747bb14 COMMON: Added more debug output to XMLParser 2022-06-03 12:36:59 +02:00
elasota 19c3f539a7 COMMON: Add comparison to nullptr to SharedPtr 2022-06-02 18:39:54 -07:00
Orgad Shaneh 5c0af779ca GLK: Fix bad indentation
Reported by GCC 12:
../scummvm/engines/glk/zcode/processor.cpp: In member function 'void Glk::ZCode::Processor::call(Glk::ZCode::zword, int, Glk::ZCode::zword*, int)':
../scummvm/engines/glk/zcode/processor.cpp:349:17: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
  349 |                 if (h_version <= V4)            // V1 to V4 games provide default
      |                 ^~
../scummvm/engines/glk/zcode/processor.cpp:352:25: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
  352 |                         *--_sp = (zword)((argc-- > 0) ? args[i] : value);
      |                         ^
2022-06-02 18:31:13 -07:00
Orgad Shaneh 3cd8075771 GLK: Remove pointless NULL validation
Reported by GCC 12:
../scummvm/engines/glk/tads/tads2/debug.cpp: In function 'int Glk::TADS::TADS2::dbgnam(dbgcxdef*, char*, int, int)':
../scummvm/engines/glk/tads/tads2/debug.cpp:158:47: warning: the address of 'Glk::TADS::TADS2::tokthdef::tokthhsh' will never be NULL [-Waddress]
  158 |         if (!ctx->dbgcxtab || !ctx->dbgcxtab->tokthhsh)
      |                                ~~~~~~~~~~~~~~~^~~~~~~~
In file included from ../scummvm/engines/glk/tads/tads2/run.h:42,
                 from ../scummvm/engines/glk/tads/tads2/debug.cpp:24:
../scummvm/engines/glk/tads/tads2/tokenizer.h:222:19: note: 'Glk::TADS::TADS2::tokthdef::tokthhsh' declared here
  222 |         tokthpdef tokthhsh[TOKHASHSIZE];                          /* hash table */
      |                   ^~~~~~~~
2022-06-02 18:30:27 -07:00
athrxx 1030283cf4 KYRA: (HOF) - add script var check
(follow-up to https://github.com/scummvm/scummvm/pull/3949)
2022-06-03 02:19:19 +02:00
Orgad Shaneh 5d4baa980e KYRA: Fix pointless NULL validation
Reported by GCC 12:
../scummvm/engines/kyra/script/script_hof.cpp: In member function 'int Kyra::KyraEngine_HoF::o2_defineSceneAnim(Kyra::EMCState*)':
../scummvm/engines/kyra/script/script_hof.cpp:875:32: warning: comparing the result of pointer addition '(((const char*)script->Kyra::EMCState::dataPtr->Kyra::EMCData::text) + ((sizetype)READ_BE_UINT16((((const void*)script->Kyra::EMCState::dataPtr->Kyra::EMCData::text) + ((sizetype)(((int)((Kyra::KyraEngine_HoF*)this)->Kyra::KyraEngine_HoF::<anonymous>.Kyra::KyraEngine_v2::<anonymous>.Kyra::KyraEngine_v1::emcSafeReadStack(script, 12, 875, ((const char*)"../scummvm/engines/kyra/script/script_hof.cpp"))) << 1))))))' and NULL [-Waddress]
  875 |         if (stackPosString(12) != nullptr)
2022-06-03 02:12:46 +02:00
Le Philousophe 293a08df76 GUI: Fix in vs int32 discrepancies 2022-06-02 22:44:11 +02:00
Orgad Shaneh e99d7f0a1d TINSEL: Silence signed/unsigned comparison compiler warning
../scummvm/engines/tinsel/handle.cpp: In member function 'void Tinsel::Handle::LoadFile(Tinsel::MEMHANDLE*)':
../scummvm/engines/tinsel/handle.cpp:293:27: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
  293 |                 if (bytes == (pH->filesize & FSIZE_MASK)) {
      |                     ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-06-02 23:41:32 +03:00
Orgad Shaneh f178b4c9fa HADESCH: Remove pointless NULL validation
Reported by GCC 12:
../scummvm/engines/hadesch/gfx_context.cpp: In member function 'virtual void Hadesch::GfxContext8Bit::renderToScreen(Common::Point)':
../scummvm/engines/hadesch/gfx_context.cpp:97:13: warning: the address of 'Hadesch::GfxContext8Bit::_palette' will never be NULL [-Waddress]
   97 |         if (_palette) {
      |             ^~~~~~~~
In file included from ../scummvm/engines/hadesch/gfx_context.cpp:23:
../scummvm/engines/hadesch/gfx_context.h:62:14: note: 'Hadesch::GfxContext8Bit::_palette' declared here
   62 |         byte _palette[256 * 4];
      |              ^~~~~~~~
2022-06-02 23:34:39 +03:00
Thierry Crozat 7e69686855 GUI: Fix crash when clicking on item in grid widget
The tray position was not correctly computed and it was most of the
time trying to display it way outside the window (it was using X
instead of Y in one place for the vertical position).

This was a recent regression from a6bc1d587 (GUI: Fixed grid view
for long games list).
2022-06-02 20:49:06 +01:00
Thierry Crozat d3ae365f18 GUI: Fix grid items being twice as small on HiDPI screens with OpenGL mode 2022-06-02 20:34:27 +01:00
Thierry Crozat 7ff1533799 GUI: Fix setting the soundfont in ConfMan
This fixes bug #13531.
The issue was a regression introduced in commit 7dd0c1ddf8.
2022-06-02 20:07:49 +01:00
Walter Agazzi fac74a6b11 AGS: Add detection for some games (free and commercial) 2022-06-02 19:28:58 +01:00
Walter Agazzi 9c64def186 AGS: Add language detection for games/demos (initial R) 2022-06-02 19:28:58 +01:00
Walter Agazzi e6f3c414b4 AGS: Add language detection for games/demos (initial Q) 2022-06-02 19:28:58 +01:00
Walter Agazzi f8f3610ec7 AGS: Add language detection (P) + minor changes 2022-06-02 19:28:58 +01:00
grisenti ac2696b235 DOCS: add command line to settings section 2022-06-02 19:26:33 +01:00
Thierry Crozat 4d2bd56cd2 BUILD: Add the original LDFLAGS and sanitizer LDFLAGS to PLUGIN_LDFLAGS
Adding the sanitizer flags to the PLUGIN_LDFLAGS fixes link errors
for the plugins when asan, tsan, or ubsan is enabled.

Adding the original LDFLAGS to PLUGIN_LDFLAGS means we no longer needs
to use both in the link command for plugins.
2022-06-02 19:23:02 +01:00
Donovan Watteau 0f5dd7cd99 MACOS: Drop macOS 10.2-10.3 CoreAudio support
There's still code for macOS 10.4 in the codebase, but everything before
that has probably been KO for years.  And no C++11 toolchain exists for
macOS < 10.4 either.
2022-06-02 19:17:19 +01:00
Donovan Watteau 4c90e20b8d BUILD: Reject GNU Make 3.80 and older
GNU Make 3.80 is the default version on macOS Tiger, and it shouldn't be
used because it has various parsing problems and bugs.

The .FEATURES variable was added in GNU Make 3.81, and that's the
easiest and most reliable way of detecting this version.

We know that GNU Make 3.81 is OK since that's still what Apple ships
by default on modern macOS (because of GPLv3).
2022-06-02 19:17:19 +01:00
Donovan Watteau 3d82857b79 MACOS: Drop PowerPC static builds workarounds, and suggest dynamic plugins
-mlongcall -Os would work until ScummVM 2.2.0, but now the engines are
too big to fit in a single static binary on Mac PowerPC.

(On ELF platforms, some flags like -Wl,--relax or -Wl,--gc-sections
can be used as well, but macOS uses Mach-O, and its old linker doesn't
have as many workarounds.  -Wl,-dead_strip helped a bit but that's not
enough and you start hitting ld internal errors.)

So, recommend dynamic plugins on Mac PPC, now, and drop -Os -mlongcall
since working around the linker limits is not possible anymore.  Using
compiler defaults probably means less bugs when using such an obscure
toolchain, anyway.

(Making a static release it still possible, but only with a very small
set of engines.)
2022-06-02 19:17:19 +01:00
Donovan Watteau 402fba49a8 BUILD: Work around limited sed -i'' on older macOS
On older macOS releases, this would leave `-e` suffixed files, and
there is no easy way to have a portable sed -i'' syntax.

Just force a creating a suffixed backup and immediately delete it.
2022-06-02 19:17:19 +01:00
Donovan Watteau 1a9d251a68 MACOS: Don't run codesign on the bundle when running on Leopard or below
codesign didn't exist on Tiger, and didn't have a --deep option on
Leopard.

Moreover, it was rarely used on these older systems, and previous
releases of ScummVM on Mac PowerPC weren't signed either.
2022-06-02 19:17:19 +01:00
Cameron Cawley d282dc93aa HYPNO: Remove unneeded feature dependencies 2022-06-02 20:14:01 +02:00
Coen Rampen 8536fd9794 AGOS: Fix AdLib instrument remapping check
_instrumentRemapping is always set in readDriverData, so this check is unnecessary.
2022-06-02 20:06:04 +02:00
Torbjörn Andersson 5a15ba278c AGS: Add detection entry for Shardlight v2.1
Same MD5 as v2.0, but different size.
2022-06-02 19:39:02 +02:00
Eugene Sandulenko e9ed2ab603 GUI: Regenerate default gui-icons.dat 2022-06-02 17:49:24 +02:00
Eugene Sandulenko a6bc1d5876 GUI: Fixed grid view for long games list
We used Common::Rect which uses in16 for its members. Lomger lists
exceeded 32,768 in heights, thus, leading to negative numbers. As a result,
scrollbar was not showing up.
2022-06-02 17:40:42 +02:00
athrxx cab7e386f2 SCI: fix regression from c2975276 (fix music handling during auto-save)
This is really a necessary fix, so recommended for merging before the release.

The negative global pause counter (that I really added only for the GMM/autosave situation) may not be used from within kDoSoundPause. It causes issues, the counter will go out of the expected range (also, the "Music also seems to randomly disappear when saving / restoring games" mentioned in ticket no. 13496 might be related to this).

I didn't see this, since we were focussed on SCI0. But it can be easily tested with e. g. LSL1 VGA. Just save right at the start and restore the game, it will call kDoSoundPause and trigger the issue...
2022-06-02 11:19:58 +03:00
Martin Gerhardy 03ae234c5e TWINE: implemented parts of the new game + option from lba1 classic 2022-06-02 10:09:25 +02:00
Martin Gerhardy bd99e76dfa TWINE: fixed lba1 classic date 2022-06-02 10:09:25 +02:00
Martin Gerhardy 35e0a747a4 TWINE: don't show the behaviour dialog in classic mode 2022-06-02 10:09:25 +02:00