Commit Graph
137148 Commits
Author SHA1 Message Date
Vladimir Serbinenko 0979c692de COMMON: Add new method joinComponents 2022-12-16 22:59:34 +01:00
ScummVM-Translations 91585f3d94 I18N: Update translations templates 2022-12-16 21:27:51 +00:00
Simon Delamarre 0ad57d3c09 GOB: fix a black screen after the paint game in some Adibou2 versions
Related to a weird video mode ("0x18"), in which some surfaces must not be reset when re-calling the initScreen() opcode.
2022-12-16 22:27:08 +01:00
Simon Delamarre e79da632b6 GOB: fix the intro being skipped in some Adibou2 versions 2022-12-16 22:27:08 +01:00
Simon Delamarre 353ae46508 GOB: add "ADIBODEM" (Adibou2 demo) directory in the search path 2022-12-16 17:03:28 +01:00
Walter Agazzi ead0ae6a47 DIRECTOR: Fix filesize/version for D4 entries (D)
+ minor changes
2022-12-16 15:49:29 +01:00
Walter Agazzi 07bdb88235 DIRECTOR: Various fixes for D4 entries (C)
* Fix various filesizes / director versions
* Set proper tail checksum for Connections
* Minor additions
2022-12-16 15:49:29 +01:00
neuromancer 55dd099804 FREESCAPE: removed mouse locking when save/load games 2022-12-16 08:14:33 -03:00
neuromancer eda940cc3e FREESCAPE: fixed save/load crash affecting driller amiga/atari releases 2022-12-16 08:14:33 -03:00
angstsmurf e27d1ae160 GLK: SCOTT: Fix out-of-bounds write
If nv or nn (number of verbs or number of nouns) is equal to or larger than the number
of words + 2, this loop will try to write out of bounds and assert. This happens for
example in the C64 version of The Golden Baton.

To fix this, it is really enough to change the >= operator to >, but I took the opportunity
to simplify the code a bit as well.
2022-12-16 12:43:56 +02:00
Eugene Sandulenko 5aa8ae6a95 ICB: Fix warnings 2022-12-16 11:17:54 +01:00
Eugene Sandulenko 58dee08718 CHEWY: Comment out unused variable 2022-12-16 11:15:26 +01:00
Eugene Sandulenko d0ab65a318 AGS: sprintf -> snprintf 2022-12-16 11:14:41 +01:00
Eugene Sandulenko fa387821b3 GRIM: LUA: Replace sprintf -> snprintf 2022-12-16 11:06:08 +01:00
Eugene Sandulenko 8bf6aec613 COMMON: LUA: Replace sprintf -> snprintf 2022-12-16 10:54:49 +01:00
Matthew Jimenez 57e9b44a11 ULTIMA8: Remove unneeded variables from render surface 2022-12-15 23:34:49 -06:00
Matthew Jimenez 4088b9a4f0 ULTIMA8: Combine RenderSurface and BaseSoftRenderSurface
In Pentgram RenderSurface was intended to be an interface with the possiblity of alternate implementations to the software-render derived classes. Removing this will allow for further removal of now-redundant code.
2022-12-15 23:34:49 -06:00
Matthew Jimenez 0bba925e9f ULTIMA8: Avoid color unpacking in minimap generation by using the RGB palette directly 2022-12-15 23:34:49 -06:00
Thierry Crozat da8d47e72e AGS: Updated build version (3.6.0.34)
From upstream 01f3a19eb80bed3e0803c37a9649e9560485038b
2022-12-15 22:40:17 +01:00
Thierry Crozat aa6c07f03e AGS: Plugin API: few adjustments to recently added methods
From upstream ddf9aee9c360a60edcc2f3107fbac41f8efbe93c
2022-12-15 22:40:17 +01:00
Thierry Crozat 6c18c2d5b5 AGS: Engine: support Clifftop Games custom engine's resolution mod
From upstream 6a238e9cb4acda222898dd4b597cf20581b401f6

This replaces a slightly different fix we had in ScummVM. But this new
code works better and fixes bug #12949
2022-12-15 22:40:17 +01:00
Thierry Crozat 9a14045e0e AGS: Common: fixed linker error at BufferedStream::BufferSize
From upstream 919f14226d1391bdee7ea50ac4825414b4dd5e95
2022-12-15 22:40:17 +01:00
Thierry Crozat 5c8287dfec AGS: Common: fixed BufferedSectionStream not preventing read past end
There have been this stupid oversight all along since the introduction
of the class: while it reported Length and EOS correctly, it still
allowed to read past the end.

This can cause issues if the user code relies, for example, on Read()
or ReadByte() return value.

For upstream code, in practice this fixes MP3 streaming, where the length
of data is not always possible to precalculate. In ScummVM we used a
different code for MP3, but this may fix other cases as well.

From upstream 6f02bedc65b902ce41858b7e92970662020a11cf
2022-12-15 22:40:17 +01:00
Thierry Crozat 3dee5bb762 AGS: Script API: add "restrictToViewport" arg to Screen.ScreenToRoomPoint()
This argument works similarily to Viewport.ScreenToRoomPoint():
if it's set to true then the function returns null if there's no
viewport under the cursor; if it's set to false it converts
coordinates through the primary viewport in such case.

From upstream 5014c502aa487d3cbdf01e99d57306f2131d4c54
2022-12-15 22:40:17 +01:00
Thierry Crozat 9a3ff9b285 AGS: Implement shake screen and flip screen support
This is partially based on upstream 675560f7c2060528ba7c75d5ecca78c56b9f0d8e
2022-12-15 22:40:17 +01:00
Thierry Crozat 31d76cd039 Graphics: Add flipHorizontal to Surface
This complements flipVertical and is needed for the AGS engine.
2022-12-15 22:40:17 +01:00
Thierry Crozat 54e99b36e9 AGS: Engine: support pre-3.5.0 Label.TextAlignment with legacy values
Some custom engines supported Label.TextAlignment before 3.5.0 got this
added officially, except they used old alignment constants.

From upstream 46fc9bac4fa6082561a1937861b3e567ccea2cd4
2022-12-15 22:40:17 +01:00
Thierry Crozat c8eae1fa27 AGS: SpriteFont: corrected Clifftop's VariableWidth font height values
Got their meaning wrong on the first time.

From upstream d94f20742284ea75abbde86905159c490a7b4d46
2022-12-15 22:40:17 +01:00
Thierry Crozat 7d88a52275 AGS: Engine: fixed restoring a legacy savegame
From upstream 9776df3c8403f252e981f5518c48eace2e83d373
2022-12-15 22:40:17 +01:00
Thierry Crozat 39c98f652c AGS: Engine: initialize SDL audio using env variables, don't SDL_AudioInit
The code is present but not used in ScummVM. Keeping it synchronized
with upstream might help in the future.

From upstream fcf4b76914a25daaf5a7b711b7ed287e5eaae9f6
2022-12-15 22:40:17 +01:00
Thierry Crozat 2548567c5d AGS: Updated build version (3.6.0.33)
From upstream 57423a7e7e790c43c71d408fd3a28ccfc2e6a3e2
2022-12-15 22:40:17 +01:00
Thierry Crozat 75a67377d6 AGS: Script API: added File.WriteRawInt(), complementing ReadRawInt
From upstream cf23239bcce2e50377866090a11f1489602fdd65
2022-12-15 22:40:17 +01:00
Thierry Crozat ed8e6fb1ce AGS: added safety check for removing sprites
Part of upstream a9e0e47ecfeec205a49ceaf8dd681944eede5eca
2022-12-15 22:40:17 +01:00
Thierry Crozat d9a52bac54 AGS: SpriteFont: compatibility fix for engine interface < 26
From upstream 29741334fc18c9cf5f55e5032087f72031a25954
2022-12-15 22:40:17 +01:00
Thierry Crozat 7ac540ed28 AGS: Updated build version (3.6.0.32)
From upstream c5ca2a632371b2509d380c3887ee8d9885c37f42
2022-12-15 22:40:17 +01:00
Thierry Crozat 887f156f73 AGS: Engine: OpenGL, Software drivers also try 24bit display modes for 32bit
This is mostly a cosmetic fix, as graphic mode was created successfully anyway.
But the engine was incorrectly reporting no suitable modes available.

From upstream 4399d6448c579c648fe7e0c157a6d5f1adc74a6c
2022-12-15 22:40:17 +01:00
Vladimir Serbinenko 808f8f679e SAGA: Rename playAmigaMod to playProtracker 2022-12-15 16:58:49 +01:00
Matthew Jimenez 853290890f ULTIMA8: Add keycolor to shape frame in place of a mask array
The keycolor is detected on frame load, but will be 0xFF by default as that value is not known to be used in Ultima or Crusader for any shape. This saves around 3mb in Ultima and 10mb on Crusader of memory that was previously used for the mask arrays. Additionally, with this change the shape frames are easier to use with other graphics methods such as cursors.
2022-12-14 18:08:02 -06:00
ScummVM-Translations fb4f0670ca 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-12-14 16:44:49 +00:00
Vladimir Serbinenko 486856168b SAGA: Add voice support for ITE Amiga 2022-12-14 17:42:20 +01:00
Vladimir Serbinenko 18dba11f3b SAGA: Support SFX for Amiga version 2022-12-14 17:42:20 +01:00
Vladimir Serbinenko c068ce04c2 SAGA: Don't disable voice on missing SFX 2022-12-14 17:42:19 +01:00
ScummVM-Translations 41f967afdb I18N: Update translations templates 2022-12-14 13:01:09 +00:00
ScummVM-Translations eaaee059da 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-12-14 13:01:08 +00:00
sluicebox e46767b8f8 SCI: Fix LONGBOW map animation speed
Speed throttling was disabled on LONGBOW maps because they were treated
as speed tests by the heuristic in GfxAnimate::throttleSpeed. This bug
was masked by fast-cast throttling being applied everywhere, but that
was changed in e09010f7d8

Now the map rooms trigger throttling so that they don't run too fast.
But the game scripts also attempt to throttle the animations based on
speed test results, causing them to run too slow, so that's patched out.

Fixes bug #13966
2022-12-14 05:00:42 -08:00
ScummVM-Translations 070940da5c I18N: Update translations templates 2022-12-14 12:50:29 +00:00
Vladimir Serbinenko 50be5b017e SAGA: Support music for ITE Amiga 2022-12-14 13:50:10 +01:00
Vladimir Serbinenko 2638e6b2a0 3DS: Make path to bannertool and makerom configurable.
This allows to set them without adding to path
2022-12-14 12:17:39 +01:00
Vladimir Serbinenko e34c41eaaa 3DS: Add explicit path to picasso, bin2s and co
This avoid the need to add them to $PATH explicitly
2022-12-14 12:17:39 +01:00
Vladimir Serbinenko 923c1be2c7 CONFIGURE: Set CXX/AS/AR/RANLIB automatically on 3DS
This is not strictly necesarry but makes configuration simpler
2022-12-14 12:17:39 +01:00