144974 Commits

Author SHA1 Message Date
Kaloyan Chehlarski
7f8d6a47d3 NANCY: Avoid flashing cursor when changing scene
In cases where the mouse falls inside a hotspot with the
same cursor type in both the previous and next scenes,
we now avoid a single frame where the cursor flashes to
the default and then back.
2023-09-12 19:43:30 +03:00
Kaloyan Chehlarski
52b66621fa NANCY: Skip drawing first frame after loading save 2023-09-12 19:43:30 +03:00
Kaloyan Chehlarski
da0238d91b NANCY: Use correct exit cursor in nancy4 puzzles
Nancy4 started using the backwards arrow cursor for
puzzles' exit hotspots, which is now correctly implemented.
2023-09-12 19:43:30 +03:00
Kaloyan Chehlarski
2d1dd3b731 NANCY: Implement TileMovePuzzle
Implemented the record type responsible for "unblock me"
type puzzles. Due to similarities in data and behavior, it
has been incorporated into the CollisionPuzzle class.
2023-09-12 19:43:30 +03:00
Kaloyan Chehlarski
09ef41280d NANCY: Fix Overlay reading
This effectively reverts the last changes made to the class,
and replaces them with an actual fix, which is to only read
the _enableHotspot field in nancy2; later games seem to
have removed it entirely.
2023-09-12 19:43:29 +03:00
Kaloyan Chehlarski
99783b5408 NANCY: Implement KeypadPuzzle
Implemented the KeypadPuzzle action record type, which
is yet another variation on OrderingPuzzle, this time with
more buttons and the addition of a button for manually
checking whether the sequence is correct.
2023-09-12 19:43:29 +03:00
Kaloyan Chehlarski
4cb1ab3f9b NANCY: Improve readRectArray() utility function
The data in a lot of action record types has a fixed number
of rects in an array, only some of which is actually filled.
readRectArray() has now been modified to take in an
additional parameter indicating the max number of rects
that could be present in the passed stream, so it can
automatically skip to the end, reducing boilerplate code
in calling functions. The function now also appends rects
to the provided array, rather than overwrite them. Also, all
readRect() variants now do not extend rects by 1 pixel when
they are empty, ensuring calls to isEmpty() succeed.
2023-09-12 19:43:29 +03:00
Ralph Caraveo
9ed43c6fa5
SCI: Tweak dissassembly for push opcodes
Tweak in scriptdebug.cpp disassembler logic because the new logging wasn't quite working how it was expected.

- These opcodes weren't showing up with their selectors in all scenarios
- Improve output formatting
2023-09-12 13:56:01 +03:00
Thierry Crozat
b57b96b211 AGS: Add detection for Nightmare Frames variant from itch.io 2023-09-11 23:17:36 +01:00
antoniou79
86d1853ab2 GUI: Increase position range for a slider value
This makes it so that half the space before and after a slider value is assigned to that value

Currently for sliders with small value range, the only ways to set them to the highest value is
to either use the mouse wheel scroll, or click and drag, or click at a pixel of the far edge of the slider.
This PR addresses the final option, making it a bit easier to get the final value when using simple clicks.
It still uses integer division to get the slider value from the click position, but "divides" the space between
two values in half, assigning the first half to the left (smaller) value and the right half to the right (higher).

This was inspired mainly for touchsreen interfaces where simple tap is the main form of interaction
(and mouse wheel or click and drag may not be supported or more difficult to pull through).
2023-09-11 22:22:26 +02:00
ScummVM-Translations
bd6f8be687 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/
2023-09-11 20:20:24 +00:00
PushmePullyu
0c9921b741 ACCESS: Fix crash on inventory item dragging in Amazon: GoE
Clamp bounding box to valid dimensions when copying to the screen
surface during item dragging.

Fixes #14617
2023-09-11 23:20:09 +03:00
ScummVM-Translations
c00d9230d2 I18N: Update translations templates 2023-09-11 20:16:56 +00:00
ScummVM-Translations
f33476eec4 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/
2023-09-11 20:16:54 +00:00
PushmePullyu
15d85c2f00 TINSEL: Initialize remaining sound reels when loading old save 2023-09-11 23:16:41 +03:00
Antoniou Athanasios
4ff3fe1586 I18N: Update translation (Greek)
Currently translated at 100.0% (1981 of 1981 strings)
2023-09-11 12:20:37 +00:00
ScummVM-Translations
ed18eb2919 I18N: Update translations templates 2023-09-10 19:56:58 +00:00
Eugene Sandulenko
0b53d3c115
WAGE: Implemented periodic scene sounds 2023-09-10 21:38:58 +02:00
Eugene Sandulenko
d40bf2ce6c
WAGE: Implemented the rest of menu commands 2023-09-10 18:09:43 +02:00
Eugene Sandulenko
745b3e3124
WAGE: Implemented saving on exit 2023-09-10 17:03:30 +02:00
Eugene Sandulenko
14eb8e339c
WAGE: Implemented Quit command 2023-09-10 15:43:08 +02:00
Eugene Sandulenko
41386aa5c4
WAGE: Implemented "Save" command 2023-09-10 15:40:14 +02:00
Eugene Sandulenko
9aa16fa5d9
WAGE: Remove now redundant info from the saves 2023-09-10 15:01:55 +02:00
Eugene Sandulenko
b7b7808b37
WAGE: Support extended save states 2023-09-10 14:18:14 +02:00
Eugene Sandulenko
da98116a44
HPL1: Simplify check for support of extended save files 2023-09-10 14:15:49 +02:00
Misty De Meo
2c05c5bdfa DIRECTOR: fix loading cursor from main archive
Fixes a bug introduced in 9aa095873683b990ac85b4c06b5fa843dcbd682a.
That commit limited reading cursors to open res files, not all
*seen* res files. However, that broke the custom cursor in Small
Stories for Sleepless Nights for Mac (nemurenu-mac-ja), which stores
its cursor in the game's main archive which is already closed at the
time the cursor gets loaded.
2023-09-10 09:20:37 +02:00
neuromancer
9afa18c133 FREESCAPE: improved color handling in cpc 2023-09-10 08:31:49 +02:00
neuromancer
76b72df577 FREESCAPE: added indicators for cpc release of dark 2023-09-10 08:31:49 +02:00
BLooperZ
3c9f33b475 SCUMM: Add enhancements checkbox to Freddi 3 2023-09-09 22:22:53 +02:00
BLooperZ
df0a3a8fe2 SCUMM: Workaround line glitch in Freddi 3 2023-09-09 22:22:53 +02:00
Eugene Sandulenko
4b05ca4cc0
AGS: Added detection for another variant of strangeland
Reported on Discord by @PurpleMoustache
2023-09-09 20:43:14 +02:00
Giovanni Cascione
a56c2b8315 LIBRETRO: fix retropad right mouse button 2023-09-09 16:42:17 +02:00
Kaloyan Chehlarski
b5efecf258 NANCY: Improve color text behavior
Fixed an issue where strings with invalid color markup
were being processed differently from the way the original
engine did, making some strings colored when they
shouldn't be. This fixes the nancy4 intro and some other
strings in the same game.
2023-09-09 12:49:30 +03:00
Kaloyan Chehlarski
b918029f01 NANCY: Move PCAL chunk reading
The PCAL chunk is no longer an exception to the
way BOOT chunks are read and processed; it now has
its own struct type and can be accessed through
getEngineData().
2023-09-09 12:49:30 +03:00
Kaloyan Chehlarski
f53f88cdb7 NANCY: Correctly readRippedLetterPuzzle in nancy5
Nancy5 added a width and height parameters in the data,
which are now read correctly
2023-09-09 12:49:30 +03:00
Kaloyan Chehlarski
aede444424 NANCY: ConversationCel fixes
Improved ConversationCel reading so it no longer
assumes there are only two cels drawn at a time (the engine
supports up to 4). Also fixed a gap between conversation
scenes where the character would become invisible for a
single frame.
2023-09-09 12:49:30 +03:00
Kaloyan Chehlarski
1134a02a18 NANCY: Overlay fixes
Animated overlays in nancy3 and up now ignore their
scene changes and hotspots. This fixes the chandelier
in nancy3 and several conversations with Hotchkiss
in nancy4. This fix is NOT to be applied to earlier games,
as they used those fields even when the overlay is animated.
2023-09-09 12:49:30 +03:00
Kaloyan Chehlarski
c0b83b89e5 NANCY: Implement password puzzle in nancy4 and up
Nancy4 added multiple answers and the option to only
have one answer field to PasswordPuzzle. Both are now
implemented.
2023-09-09 12:49:30 +03:00
neuromancer
6953dd9204 FREESCAPE: avoid waiting for users to press a key when starting driller demos 2023-09-09 10:53:11 +02:00
neuromancer
42833df30b FREESCAPE: glPolygonOffset depends on the area scale 2023-09-09 10:53:11 +02:00
neuromancer
72bdf05d9f FREESCAPE: improved cga code for dark and driller 2023-09-09 10:53:11 +02:00
neuromancer
44ad141bae FREESCAPE: added more global objects for dark for amiga 2023-09-09 10:53:11 +02:00
Matthew Jimenez
b579d383eb ULTIMA8: Move createNativePalette from render surface to palette manager. 2023-09-08 19:26:03 -05:00
Matthew Jimenez
36f2a6fdf0 ULTIMA8: Add frameRect32 to replace less efficient gump border drawing 2023-09-08 18:30:26 -05:00
Matthew Jimenez
77c16212c8 ULTIMA8: Remove render surface fillAlpha method.
This was only used for composited painting of text which is not enabled and has no effect on 16bpp surfaces.
2023-09-08 18:30:26 -05:00
Matthew Jimenez
42a88e23d8 ULTIMA8: Use TEX32_PACK_RGBA in remaining places colors are hard-coded 2023-09-08 18:30:26 -05:00
Matthew Jimenez
600403e7a2 ULTIMA8: Use TEX32_PACK_RGBA macro when calling fillBlended 2023-09-08 18:30:26 -05:00
Matthew Jimenez
d7cd2d5cba ULTIMA8: Alter drawLine32 method to use TEX32_PACK_RGB format 2023-09-08 18:30:26 -05:00
Matthew Jimenez
dc5ca71404 ULTIMA8: Alter fill32 method to use TEX32_PACK_RGB format
Use of these macros will allow us to be more consistent in render surface and easily alter the format later.
2023-09-08 18:30:25 -05:00
Matthew Jimenez
0ccf4a9ff6 ULTIMA8: Allow any 16 or 32 bpp pixel formats 2023-09-08 18:25:19 -05:00