Commit Graph
2455 Commits
Author SHA1 Message Date
Walter Agazzi e501076c61 AGS: Add detection for new games + perfecttides 2.0.1 2023-10-23 22:13:05 +02:00
Walter Agazzi 74f0f5bf9b AGS: Fix loop flag not passed when loading mp3 files
Fixes a small oversight in commit
a4bf82bd35

Fixes TRAC #13757
2023-10-22 23:27:09 +02:00
Walter Agazzi 54c57bb23e AGS: Fix wrong detection of mod audio and enable IT playback
* Look for file extension inside the filename, instead of the
asset category (and always failing)
* Enable playback of ImpulseTracker streams using mikmod (if available)

Fixes TRAC #14437 and enables music playback in Heatwave and Death
Wore Endless Feathers
2023-10-19 01:46:08 +02:00
Walter Agazzi cb2cb19256 AGS: Add ags_controller_arcnor plugin (used in Perfect Tides)
+ minor rework standard AGSController plugin
2023-10-16 17:34:44 +02:00
Kaloyan Chehlarski e10081f29b AGS: Re-add include guard for NEON path cpp file
This was mistakenly removed previously, but it seems that
without it the iOS backend breaks.
2023-10-16 13:23:04 +03:00
Kaloyan Chehlarski 33a1b1738b AGS: Don't skip drawing last line in optimized blit paths
Fixed an oversight in the code which would result in scaled
blits skipping the last line.
2023-10-16 13:23:04 +03:00
Kaloyan Chehlarski 5b29081355 AGS: Apply clipping fix to 2bpp optimized blitting
The issue that produced crashes when blitting beyond the
bottom-right edge of the screen was previously fixed,
but only for cases involving a 4bpp surface. The fix has
now been extended to the 2bpp functions as well.
2023-10-14 14:27:55 +03:00
Kaloyan Chehlarski 18a34cb7af AGS: Fix AVX2 scaled blitting
Scaled blitting in the AVX2 path would immediately crash
ScummVM, due to a couple of incorrect increments inside
a for-loop; this has now been fixed.
2023-10-14 14:27:54 +03:00
Kaloyan Chehlarski d6d65273c0 AGS: Allow usage of AVX2 optimized blit path
The previous design of the optimized paths used the same
name for the dummy class used to access BITMAP's private
members. On machines that support AVX2 this meant that
the SSE2 path would shadow the AVX2 one, and make it
inaccessible unless the configure script specifically
disabled SSE2 extensions.
The dummy class has now been split into three, one
for each of the optimization paths; those dummy classes
now contain all of the internal functions to avoid potential
name clashes; and finally, all the internal functions have
been marked as static.
2023-10-14 14:27:54 +03:00
Kaloyan Chehlarski 5214d921c4 AGS: Fix edge case in Allegro optimized blit clipping
This fixes a (literal) edge case that was introduced in the last
attempt at fixing the clipping issues that would crash
ScummVM when a sprite is drawn at the bottom right of
the screen. In particular, the specific Y value that would
result in only one row of the sprite being off screen no
longer produces a crash.
2023-10-14 14:27:54 +03:00
Walter Agazzi 2e7f465a61 AGS: Add detection entry for Perfect Tides v2.0 2023-10-13 22:56:09 +02:00
Kaloyan Chehlarski b902f61b3f AGS: Fix AVX2 blitting
The AVX2 path was previously completely broken, as all
blitting produced an alternating pattern of 4 correctly
blitted colors, followed by 4 black pixels. The intrinsics used
in the pixel drawing code have been changed so this is no
longer the case.
2023-10-12 12:42:28 +03:00
Walter Agazzi 98851e24da AGS: Add detection for several missing itch.io games 2/2
Thanks to TheTMD for finding most of these
2023-10-11 00:23:52 +02:00
Walter Agazzi 47b6b84391 AGS: Add detection for several missing itch.io games 1/2
Thanks to TheTMD for finding most of these
2023-10-11 00:23:52 +02:00
Kaloyan Chehlarski 1c34e1c614 AGS: Fix for surface blitting-related crashes
This is a second attempt at fixing the crashes that pop up
when attempting to blit past the bottom-right corner of a
surface. The previous commit caused a bunch of surfaces
to not blit their last row, and introduced more drawing
errors in scrolling scenes. Also, made sure the size check in
AVX2 code is 8 bytes everywhere, as this was also likely to
cause issues.
2023-10-07 23:32:11 +03:00
Kaloyan Chehlarski 8fc73a36a6 Revert "AGS: Fix blitting-related crash"
This reverts commit e2720d39f3.
The changes were based on a wrong assumption on where
the issue actually lies, and introduced a new problem:
some surfaces' bottom rows were getting entirely skipped.
2023-10-07 23:32:11 +03:00
Kaloyan Chehlarski d542838664 Revert "AGS: Fix clipping issue in blitting code"
This reverts commit 90beb8887e.
The changes were based on a wrong assumption on
where the issue lies, and also introduced even buggier
behavior in scrolling scenes.
2023-10-07 23:32:10 +03:00
Kaloyan Chehlarski 7f84df864d AGS: Fix incorrect format check in generic blitting code
This fixes a bunch of errors in 5 Days a Stranger (and all other
games with 16-bit surfaces), including leaked memory and
incorrectly displayed text.
2023-10-07 23:32:10 +03:00
Kaloyan Chehlarski e2720d39f3 AGS: Fix blitting-related crash
Fixed an off-by-one error in the non-scaling blit code, which
would result in an attempt to draw to one row beyond the
bounds of the dest surface (affects only the optimized paths).
2023-10-07 14:45:31 +03:00
Kaloyan Chehlarski 90beb8887e AGS: Fix clipping issue in blitting code
Fixed a clipping issue that would crash ScummVM when
attempting to blit to a surface with a negative dest x
(affecting both the optimized and non-optimized paths).
2023-10-07 14:45:22 +03:00
Walter Agazzi 8ba13647c5 AGS: Marked two games as unsupported 2023-10-06 18:41:43 +02:00
Walter Agazzi ee8b65f46b AGS: Add some missing commercial games entries
+ Smasher (Ludum Dare 53 entry)
2023-10-06 17:54:19 +02:00
Walter Agazzi ef7a5afe1a AGS: Add detection for lost & found and a couple alt versions
TRAC 14657-14656
2023-10-06 15:12:01 +02:00
Walter Agazzi 43d2bbf477 AGS: Update heroinesquest entry + add a couple new games 2023-10-01 12:58:38 +02:00
Walter Agazzi 21d57c04d2 AGS: Engine: fixed GUIControl_SetVisible()
This fixes another fix from commit dcec61b
From upstream cc247845762e12e924e36e0922149d3b862bbcce
2023-09-28 19:14:33 +02:00
Walter Agazzi a12c859af0 AGS: Add detection for recent gamejam games 2023-09-26 21:19:30 +02:00
Walter Agazzi 55112bf242 AGS: Engine: fixed DCMD_NEWROOM cmd may prevent "First Time enter room" evt
This is a backwards compatibility fix. It seems like "new room" dialog command was
resetting a `in_new_room` variable, disregarding its value set by `load_new_room`
function. Changed to only set it in case it was not set inside a NewRoom call.
From upstream 45927bf23ea4ca051f74154fa4d0561a7df379ed (branch 3.6.1)
2023-09-23 17:10:08 +02:00
Walter Agazzi 12e4bb39fa AGS: Engine: force clear event queue in processallevents()
Was broken by a2f9a5b, then tried to fix by 6a71d85, but not fully fixed still.
From upstream cbaeff15229bb81828d418ed71a11dfe0b30e6fd
2023-09-23 17:10:08 +02:00
Walter Agazzi c3589db569 AGS: Engine: don't Poll non-clickable GUIs
From upstream 95a2ef2c0d6a4c04e3985d78920bfc4a70a641c0
2023-09-23 17:10:08 +02:00
Le Philousophe c3c9f43a04 AGS: Fix build when SIZE_MAX is 64-bit sized
Closes PR #5316
2023-09-17 19:54:19 +02:00
Walter Agazzi 10a2e81e85 AGS: Add detection entries for recent games
From itch.io and AGS forums
2023-09-16 20:22:24 +02:00
Walter Agazzi bd41e8272d Updated build version (3.6.0.52)
Partially from upstream d64276938a02f52d5a2445cee50794a519c8a340
2023-09-16 13:32:59 +02:00
Walter Agazzi 6166993f42 AGS: Engine: fixed WalkStraight() was resetting animation
if called again

This makes Character.WalkStraight() have the same animation
keeping logic as Character.Walk().
Also reduce code duplication by calling walk_or_move_character()
 which handles blocking movement already.
 From upstream c5b04eb0c8991026ebca593d6f3254dfe96fd290
2023-09-16 13:32:59 +02:00
Walter Agazzi 47b3cb7de7 AGS: Engine: rename legacysaves config options, bring to consistency
From upstream e8d043327f896ce4f10aee04d55a4029ce81d1eb
2023-09-16 13:32:58 +02:00
Walter Agazzi ae30f78761 AGS: Engine: support mismatching GUI numbers in legacy saves
From upstream 9d2fa2c26dda45fa53141a625c71ec63601cd9e2
2023-09-16 13:32:58 +02:00
Thierry Crozat b57b96b211 AGS: Add detection for Nightmare Frames variant from itch.io 2023-09-11 23:17:36 +01: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
Eugene Sandulenko 94755eb838 BUILD: MACOS: Fix building with NEON enabled 2023-09-03 22:47:00 +02:00
Walter Agazzi 892f46f382 AGS: Freetype: Build autohint sources only if freetype2 is enabled 2023-09-03 22:27:43 +02:00
Walter Agazzi 7279c8a540 AGS: Freetype: Trim include paths 2023-09-03 22:27:43 +02:00
Walter Agazzi 85db570098 AGS: Freetype: Remove unused variable 2023-09-03 22:27:43 +02:00
Walter Agazzi 4a33374939 AGS: Freetype: Use scummvm logging in autohint debug functions
These two functions are not actually used, but still nice to have
2023-09-03 22:27:43 +02:00
Walter Agazzi ccf816a83a AGS: Freetype: Use scummvm debug logging 2023-09-03 22:27:43 +02:00
Walter Agazzi c08d7492c4 AGS: Freetype: Remove unneeded debugging directives 2023-09-03 22:27:43 +02:00
Walter Agazzi 1d7b009638 AGS: Freetype: Remove newline from warnings 2023-09-03 22:27:43 +02:00
Walter Agazzi 1698b26bcb AGS: Freetype: remove unneeded files 2023-09-03 22:27:43 +02:00
Walter Agazzi d2e445fc49 AGS: Freetype: apply autohinting in alfont glyph loader 2023-09-03 22:27:43 +02:00
Walter Agazzi cee11c1b99 AGS: Freetype: Update alfont and enable compilation 2023-09-03 22:27:43 +02:00
Walter Agazzi cc168a16dd AGS: Freetype: Disable uncompilable code in ahhint 2023-09-03 22:27:43 +02:00
Walter Agazzi 4843b18fb2 AGS: Freetype: Use FT_Memory in ah_hinter_new 2023-09-03 22:27:43 +02:00