Commit Graph

144365 Commits

Author SHA1 Message Date
Walter Agazzi
5039b5f3a6 AGS: Engine: small refactor, rem duplicate list of restricted game options
From upstream c4efd74fd28b31ee786e85a0ecc4a7c1fcb0685a
2023-08-13 10:58:26 +02:00
Walter Agazzi
6ea6675b3c AGS: Engine: tidy some code related to the old save format constants
From upstream fac1a5bed8e84d210a7ac6878133e13c39bde20b
2023-08-13 10:58:26 +02:00
Walter Agazzi
e946f9f99d AGS: Engine: fixed GfxDriverSpriteEvtCallback return value for no room case
From upstream e3bb8a85d2af9c425528eb7a2f16741e2de7b9ab
2023-08-13 10:58:26 +02:00
Walter Agazzi
9e6dfbf258 AGS: Engine: ensure that restricted game options not loaded from save
This fixes occasional problem with save overriding game options that
must not be changed at runtime.
From upstream cf093f3a6ea657a2082edfc08c35cc7650961ab6
2023-08-13 10:58:26 +02:00
Walter Agazzi
7688ff025f AGS: Engine: sync audio in case of scheduled post-script actions
This fixes a case when a clip was ordered to Play right before
a Room change, or similar game mode change, but is delayed
 until after the change occurs.
From upstream d327b06bf5f3d8fff02b454d07560fcd5fc05b24
2023-08-13 10:58:26 +02:00
Walter Agazzi
793a5d6273 AGS: Engine: fixed System.Log() may cause exceptions with wrong format
From upstream ec9c494e391db23d587708cbe20cc6203b503396
2023-08-13 10:58:26 +02:00
Walter Agazzi
d9377bbb63 AGS: Engine: Fix typo in commit b81abc533f508e5831e7ca6d2512c66d506ef09d
loopIterations -> loopCheckIterations
2023-08-13 10:58:26 +02:00
Walter Agazzi
a6edbb5701 AGS: Engine: fixed few game warnings, may fill up the log in some games
Partially from upstream 8b2c97672d179f0ea33890c66bb2baa7131dd3a4
2023-08-13 10:58:26 +02:00
Walter Agazzi
3c4b80e14c AGS: Engine: report missing speech.vox as an "info", since this is optional
From upstream c6b5654a9cc7af05529c76b2a1d8ec3ad75c2c73
2023-08-13 10:58:26 +02:00
Walter Agazzi
4966d2a896 AGS: Engine: apply character's anim volume to portrait animation
+ process frame features for the first portrait frame too.
From upstream 59d4f740001b61af370ec0bca676a24d597f66b2
2023-08-13 10:58:26 +02:00
Walter Agazzi
ff0298be68 AGS: Engine: ignore mod and special keys when skipping speech and wait
Partially from upstream 8079c87ca11fa6b60ed2dd2ce345cda6c384c00b
2023-08-13 10:58:26 +02:00
Walter Agazzi
2e784f5cd0 AGS: Engine: report "voice available" only if Speech dir contains any files
This fixes IsSpeechVoxAvailable() returning positive when game is run from
 the Editor, because Speech folder is always created in the project.
From upstream 0ca660e998e69283484f74818e17e837889e5896
2023-08-13 10:58:26 +02:00
Walter Agazzi
cf90c85cd4 AGS: Engine: fixed crash upon resizing DynamicSprite while it's on screen
The bug is in UpdateSharedDDB(), the short-term texture cache did not test
whether the bitmap resolution is still matching the texture.
From upstream 1537ed77c875bbe660face3c07a3c4843b8bd95a
2023-08-13 10:58:26 +02:00
Walter Agazzi
8d3a2f07ce AGS: Engine: fixed crash upon resizing DynamicSprite while it's on screen
The bug is in UpdateSharedDDB(), the short-term texture cache did not
test whether the bitmap resolution is still matching the texture.
From upstream 1537ed77c875bbe660face3c07a3c4843b8bd95a
2023-08-13 10:58:26 +02:00
Walter Agazzi
808b90b39f AGS: Common: fixes for CreateAllDirectories, Path::GetParent, GetFilename
Partially from upstream 3086f1b19d6d6a01c7f32871161cea6e5e3c13d8
2023-08-13 10:58:26 +02:00
Walter Agazzi
16a620e558 AGS: Updated build version (3.6.0.50)
Partially from upstream 7cfa7fc419fb9f96c03ad5047b5b4ffa313d4e27
2023-08-13 10:58:26 +02:00
Walter Agazzi
6b214f0477 AGS: Engine: fixed Buttons with invitem pic not redrawn on ActiveInventory
From upstream 37127b81ea4c006f8f79f11df746c24e4039f0ba
2023-08-13 10:58:26 +02:00
Walter Agazzi
a31aac3bf2 AGS: Engine: fixed GUI controls not updated on set OPT_RIGHTLEFTWRITE
From upstream 3360f4a2f279d135d1107dd4fcda2031eed95fae
2023-08-13 10:58:26 +02:00
Walter Agazzi
cd6a6ddc8c AGS; Engine: tidied SetGameOption()
* handle readonly options;
* don't do anything if new value equals old value;
* replace if/else sequence with a switch;
From upstream 2476bc3e517c13ef1abde83fca2e55571bcfff4a
2023-08-13 10:58:26 +02:00
Walter Agazzi
4d28890458 AGS: Engine: fixed loop check... again...
The latest change (c694126) was meant to fix a timeout test logic,
 but it broke the primary loop count check.

The incorrect behavior may be observed when a function with
many loops and `noloopcheck` modifier is called *repeatedly*
from another function. Normally in such case the iterations
passed withing a `noloopcheck` function should not be counted,
but they were.

Apparently the situation cannot be resolved without having 2 counters:
1. One is working all the time, and is used to detect timeouts, as these
may occur both in normal circumstances and in functions with
`noloopcheck` modifier.
2. Second is working only in functions without `noloopcheck` modifier
and is used to do the "stuck in a loop" test.

+ backported small optimization from 3.6.1 branch.
From upstream 70afd47f4879b4eaed5dab664af9e4485055875f
2023-08-13 10:58:26 +02:00
Walter Agazzi
e3bf334921 AGS: Engine: made run_interaction_script() safer in case evt is too high
From upstream 4d7565099652c019d0dcbac5c60f62d735dfae3e
2023-08-13 10:58:26 +02:00
Harishankar Kumar
c963b2c3b4 DIRECTOR: Fix chan <frameNum> debugger command
This patch fixes chan command, previously when called with frameNum it
was mutating the state of frame and thus crashing.
2023-08-13 10:57:23 +02:00
Harishankar Kumar
ffd515fe6a DIRECTOR: Refactor score loading and remove framesOffset
This patch completely removes framesOffset and rebuildChannelData()
The framesOffset was used to store the number of frames and their
starting position in frame stream, however this information is not
needed as when in frames jumping, all the channels needed to be built
from frame 1, thus only position of first frame is needed.
2023-08-13 10:57:23 +02:00
Harishankar Kumar
4e1cdb73b4 DIRECTOR: Refactor loading cast when building framesOffset
This patch refactors the code that builds the framesOffsets table,
initially each frame of movie was being parsed and sprite casts loaded
then was being discarded, this was not very efficient.  Refactored code
to load cast only when they are required, thus reducing the time to load
a movie.

Fixed slow loading of large movies in `totaldistortion-win`

--start-movie="ATD/HD/ADTDVSVF/TDVIDDB1.DIR" totaldistortion-win
2023-08-13 10:57:23 +02:00
hax0kartik
67b4415967 CRAB: Fix PVS V1037: Use an intended fallthrough for some cases in Manager::internalEvents() 2023-08-13 10:55:26 +02:00
hax0kartik
63284e5d3b CRAB: Fix PVS V1048: Simplfy logic in TriggerSet::evaluate() 2023-08-13 10:55:26 +02:00
hax0kartik
0582d26e30 CRAB: Fix PVS V560 in TraitMenu.cpp 2023-08-13 10:55:26 +02:00
hax0kartik
aaff90a358 CRAB: Fix PVS V730: Properly initialize values of AlphaImage class in constructor 2023-08-13 10:55:26 +02:00
hax0kartik
efda2cce7a CRAB: Fix PVS V768: Handle return values of Button::handleEvents() properly 2023-08-13 10:55:26 +02:00
hax0kartik
f37039c375 CRAB: Display error dialogbox when reading savefiles fail 2023-08-13 10:55:26 +02:00
Eugene Sandulenko
583227655a
BACKENDS: Fix incorrect enum member name 2023-08-13 10:50:56 +02:00
Torbjörn Andersson
193efbb939 GUI: Revert volume sliders to their old width
I received a report on Discord from fracturehill that the width I had
specified for the volume sliders in the high resolution themes (where
they have to share space with the "Mute all" checkbox) was too wide. I
don't know how to fix this properly, so I'm reverting to the old width.

The rest of the recent slider changes should be safe, so they remain
unchanged. I hope someone else will be able to fix this properly,
because I don't know how.
2023-08-13 10:32:31 +02:00
Walter Agazzi
d2072cba76 I18N: Update translation (Italian)
Currently translated at 100.0% (1977 of 1977 strings)
2023-08-13 08:13:01 +00:00
athrxx
31e320f3b7 KYRA: (EOB II/ZH) - fix chargen modify menu glitch 2023-08-13 03:02:11 +02:00
athrxx
e7b836b03f KYRA: (EOB II/ZH) - move version string to the right
(the  Chinese version has a  version string of its own hard
coded onto the bitmap. We have to move our scummvm
version string  a bit to the right to avoid printing over the
other text.
2023-08-13 03:02:06 +02:00
Eugene Sandulenko
5ddbf58e32
WATCHMAKER: Fix warning 2023-08-13 01:37:45 +02:00
Eugene Sandulenko
fae2a7f93d
WATCHMAKER: Eliminate sprintf() and strcpy() 2023-08-13 00:53:41 +02:00
Eugene Sandulenko
3271c8af71
WATCHMAKER: Add missing override keywords 2023-08-13 00:43:17 +02:00
Eugene Sandulenko
8bff50d668
WATCHMAKER: sprintf -> snprintf in some places 2023-08-13 00:38:24 +02:00
Eugene Sandulenko
7cf76b22fa
CONFIGURE: Fix architecture names for CPU features 2023-08-13 00:23:41 +02:00
Wyatt Radkiewicz
41815c9816 GRAPHICS: Fix BlendBlit additive blending mode 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
1b752d6a62 BUILD: BlendBlit SIMD only compiles when needed 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
9d354fc636 GRAPHICS: Fixing blendBlitTo bugs 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
5112d79690 GRAPHICS: Fixed ManagedSurface bug 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
b16ae30ebd GRIFFON: Move to useing ManagedSurface 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
4fbde03866 ALL: blendBlitFrom exaclty matched TS::blit 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
41f82fbab8 BUILD: Change wording for AVX2 option 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
0597770654 GRAPHICS: Refactor BlendBlit 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
f802ad16d0 BUILD: Simplify SIMD options 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
c45918ea91 BUILD: SIMD flags only enabled on blit-blend.o 2023-08-13 00:22:10 +02:00