Walter Agazzi
2359c13d23
AGS: Engine: moved global sprite offset & flip to the parent batch transform
...
Partially from upstream 76a2a22ebfd5a8513337a64d6d4e857295ee38bc
2023-03-12 20:58:28 +00:00
Walter Agazzi
2b028c586f
AGS: Engine: hotfixed BitmapToVideoMem after 6804e9f
...
From upstream 0b3d4dc8b72cce99920bea44094a8c7a3e423f49
2023-03-12 20:58:28 +00:00
Walter Agazzi
bfc5f63026
AGS :Engine: draw fix, true means texture don't change
...
From upstream d5958eab884c079c00845c35e46ef0302152ded5
2023-03-12 20:58:28 +00:00
Walter Agazzi
8205b5b932
AGS: Allegro: remove unused bmp_unwrite_line
...
Partially from upstream 4552d777f8fbe1a8364f2416795cf3214a10575e
2023-03-12 20:58:28 +00:00
Walter Agazzi
a76b930e87
AGS: Common: bufferedstream add default and remove unused break
...
From upstream 957ad1ad7cb2d1df396f57de52c3808c28c53bb6
2023-03-12 20:58:28 +00:00
Walter Agazzi
0813358193
AGS: Fix empty statement warnings
...
Partially from upstream bb1ecf6f8b89dfaca7c7079e2183b982561004b8
2023-03-12 20:58:28 +00:00
Walter Agazzi
d6b03229d7
AGS: Common: move scanline safety check to assert
...
From upstream 6804e9f4e09e12066fb33dc3dc03e3ce04c7846d
2023-03-12 20:58:28 +00:00
Walter Agazzi
0f86678e2d
AGS: Engine: only clear _stageScreen after it's dirty
...
From upstream d60022c715f15d0454ffe04d4ce8d331c34e3045
2023-03-12 20:58:28 +00:00
Walter Agazzi
afed888bb5
AGS: Engine: avoid dirty rects outside software render surface
...
From upstream c4dce7eb4a0ab4d2440a8b7e637ea8a7f9ed2c00
2023-03-12 20:58:28 +00:00
Walter Agazzi
818b670561
AGS: Engine: fixed text parser could substring with negative length
...
The example when this could happen:
Parser.Said("climb,get in bed");
where "climb", "get" and "bed" are dictionary words.
From upstream b633ca77076137e2402faa903f5b6fbcd3f4c3bc
2023-03-12 20:58:28 +00:00
Walter Agazzi
16658128f6
AGS: Common: revert lzwexpand to expanding to mem, for better speed
...
This somewhat reverts 2b9f130 , while keeping tidier code and safer args.
Switching from lzwexpand_to_mem to using streams only caused speed
regression, which became notable for hi-res games with LZW sprite
compression (a 3.6.0 feature).
For this revert we instead load compressed data into a buffer in whole,
then pass two memory buffer pointers to lzw_expand, where it reads
and writes memory directly.
Testing a high-res (1920x1080) game with lots of sprite streaming
showed speed improvement of this function by around 200%.
The downside is the temporary buffer for reading compressed
data too.
In theory, same could be done for lzwcompress afterwards.
From upstream 6959004676916568c6fca210702d669f61741e13
2023-03-12 20:58:28 +00:00
Walter Agazzi
3d4856d321
AGS: Engine: for HW renderers - don't create redundant object cache images
...
I'm baffled how I did not notice this behavior earlier, but engine was
created at least 2 redundant intermediate bitmaps meant to cache
transformed sprites per each object and character on screen for
HW-accelerated renderers, - which they do not need, as they don't
use software transformations.
The resulting effect won't be too notable for low-res games with low
amount of simultaneous objects, but may be quite significant for the
high-res games with multiple large objects in the room.
From upstream cca997fe83ec5f7014677a69095a7c9ec1494cd9
2023-03-12 20:58:28 +00:00
Walter Agazzi
2cffebe3a5
AGS: Engine: use unique_ptr to store raw image in ObjectCache
...
From upstream a06d97dc88887395f3f961ab8e3fbda277733795
2023-03-12 20:58:28 +00:00
Walter Agazzi
f58c4d9bdb
AGS: Common: replaced couple of smart ptr arrays with std::vector
...
From upstream c1afae64fe348c64ee4a8c8888349ae267241395
2023-03-12 20:58:28 +00:00
Walter Agazzi
26375b823b
AGS: Engine: Used std::vector for RoomStatus::tsdata
...
From upstream 849a0f3153511087bd93c4d7d1ba898d4ab28cfa
2023-03-12 20:58:28 +00:00
Walter Agazzi
88f0170696
AGS: Engine: Fixed RoomStatus::tsdata allocation of additional bytes
...
From upstream 894ec8a85bd2c78438c8bfabee632b26f5323b07
2023-03-12 20:58:28 +00:00
Walter Agazzi
e0d2bc8860
AGS: Engine: Fix malloc/delete mismatch with RoomStatus::tsdata
...
From upstream cf31083808f19ae314212e7b451709cfd5d6f05d
2023-03-12 20:58:28 +00:00
Walter Agazzi
91d7299405
AGS: Engine: (again) fixed buttons not updated visually on interface enable
...
Complements / reimplements f310a08
From upstream b0e2fe40c1d73674a7b868a87152be6029df6cac
2023-03-12 20:58:28 +00:00
Walter Agazzi
416c6982cd
AGS: Updated build version (3.6.0.38)
...
From upstream c9ce4cfc457713abadc6a1a4cfb4b47aa0667382
2023-03-12 20:58:28 +00:00
Walter Agazzi
ecc1d17655
AGS: Engine: register missing SetProperty script functions for plugins
...
Reimplemented from upstream 96d52b258dd226bc8c2243c1a5bc95a9ceeecd2a
2023-03-12 20:58:28 +00:00
Walter Agazzi
0fbdbdfcdd
AGS: Engine: fixed WaitInput() incorrect handling of a type arg
...
From upstream ca6620951ec013e3627d962701c3cc25c1ac8adb
2023-03-12 20:58:28 +00:00
Walter Agazzi
49e61b6ea2
AGS: Engine: let use dummy frame 0 if the speech view's loop is empty
...
This complements / fixes previous fix attempt 08aef03
From upstream 95c99fc325f8550f220e7a0f67d6555bb23c8c5a
2023-03-12 20:58:28 +00:00
Walter Agazzi
92134389e6
AGS: Common: fixed crash if slider's handle set to negative sprite id
...
This is forbidden in the latest editor, but seems to be a possibility in
older editors (2.*).
From upstream c1ba79d0cdb31b7704f889e953865fca4b175076
2023-03-12 20:58:28 +00:00
Walter Agazzi
f77da38379
AGS: Engine: fixed view frames have a linked sound 0 by default
...
from upstream a4a98adfcb039e0f8f213d60e8b0b639b0217f9b
2023-03-12 20:58:28 +00:00
Walter Agazzi
c366ce5eef
AGS: Removed update_polled_stuff_if_runtime() from data loading functions
...
Leave it with a new name as `update_polled_stuff()` only in functions
related to the game update.
From upstream 95dc139f51e704da19792e5480e69bbfe7ec27aa
2023-03-12 20:58:28 +00:00
Walter Agazzi
3d45396eb6
AGS: Updated build version (3.6.0.37)
...
From upstream bbf48a8deeaefb0c577426d3a745261831d67be7
2023-03-12 20:58:28 +00:00
Walter Agazzi
e7e7e4a446
AGS: Engine: keep mouse speed control enabled (by default, fullscreen only)
...
Partially from upstream 1f867858c46c8a2dde841022aed8631f1deeabb1
2023-03-12 20:58:27 +00:00
Walter Agazzi
3ddbd08585
AGS: Engine: in render_to_screen() do at least 1 delay in case of DEVICELOST
...
from upstream 27306da4cd0c1fa193f984644aa1915c8a944364
2023-03-12 20:58:27 +00:00
Walter Agazzi
d372745e35
AGS: Prevent savepath manipulation in ScummVM
...
Completes commit 8e77b04062d865e35bbadedce2fb7ba4971b837c.
We don't support subdirs in saves, the previous change causes some
games to be unable to save/restore
2023-03-12 20:58:27 +00:00
Walter Agazzi
61c7c0fcfe
AGS: Engine: fixed gui controls not updated after interface is un-disabled
...
from upstream 126a5e4c97581aabadbbd4410441b83f371e18ea
2023-03-12 20:58:27 +00:00
Walter Agazzi
8c6524a888
AGS: Common: fix warns and clang-tidy notices
...
- using braced initializers for returned invalid objects
partially from upstream 8aeda4b67bf24ce080b09255139e0f6b907a9a8f
2023-03-12 20:58:27 +00:00
Walter Agazzi
72592cc9e0
AGS: Engine: fixed ResolveScriptPath not handling subdirs correctly
...
from upstream 8d0e0cb3c20db0beddffc36c688ed33005a43d7c
2023-03-12 20:58:27 +00:00
Walter Agazzi
73d169c0e4
AGS: Common: fix warnings in directory.cpp
...
- prefer empty instead of size() == 0
partially from upstream de97ab3e8c14074944c7087cc8e4bc5b15d6f4d6
2023-03-12 20:58:27 +00:00
Walter Agazzi
a32892578a
AGS: Common: fail early in negative index
...
from upstream 4d9f1788059b2fdadd3e957a5a260a918458595d
2023-03-12 20:58:27 +00:00
Walter Agazzi
5ad85c6b42
AGS: Common: replaced GameSetupStruct::messages with an array of Strings
...
This also fixes an allocation/deallocation mismatch found in the code.
From upstream b47a086cbd589cd271c5fe1b3497f9b8e4ae4abf
2023-03-12 20:58:27 +00:00
Walter Agazzi
0263572d1c
AGS: Common: fix mismatched free
...
uses new char[] on Create method.
From upstream ecfc238401183e210a1773c27724516f74272c8e
2023-03-12 20:58:27 +00:00
Walter Agazzi
8c6243052d
AGS: Engine: in BitmapToVideoMem replaced if/else with a switch
...
This supposedly should slightly improve bitmap to texture conversion performance.
From upstream ab213c0962df7bdec96ce38122f637f0febe4ef4
2023-03-12 20:58:27 +00:00
Walter Agazzi
aaddb0d189
AGS: Add detection for some old games/versions
...
From AGS archives
2023-03-12 17:31:11 +01:00
Walter Agazzi
b0eeec4bf4
AGS: Add detection for some old variants + minor fixes
...
From AGS Archives / TRAC reports
2023-03-09 02:02:13 +01:00
Walter Agazzi
61b6e5f8a4
AGS: Add a couple new games and fix clash
2023-03-05 00:21:03 +01:00
Walter Agazzi
3e2f15f024
AGS: Add detection for Bill DeBill + whitespace fixes
...
Reported on Discord
2023-03-03 12:30:54 +01:00
Walter Agazzi
8fea0be1bd
AGS: Add detection for new games
2023-02-28 13:47:09 +01:00
Walter Agazzi
4861307c6d
AGS: Fix two detection entries
...
TRAC #14224 - #14263
2023-02-25 11:50:02 +01:00
Walter Agazzi
2e9819ad4e
AGS: Fix some overzealous renames
...
_GP(game) -> game
2023-02-24 21:13:17 +01:00
Walter Agazzi
185ac140f0
AGS: Add detection for a couple itch.io/gamejolt games
...
From TRAC reports
2023-02-24 18:19:21 +01:00
Walter Agazzi
051555397d
AGS: Add detection for various old games/versions
...
From AGS archives S-Z
2023-02-24 15:34:49 +01:00
Walter Agazzi
bed5d7d1d4
AGS: Add detection for various old games/versions
...
From AGS archives L-R
2023-02-23 21:02:23 +01:00
Le Philousophe
bd8c8802b7
GRAPHICS: Make rawBlitFrom take a ManagedSurface
...
This allows to remove the palette argument and removes the need for
getPalette
2023-02-23 19:10:45 +01:00
Walter Agazzi
077cd8a5d8
AGS: Add detection for various old games/versions
...
From AGS archives A-K
2023-02-23 02:22:29 +01:00
Walter Agazzi
a9a99833bb
AGS: Add two new versions
...
My big sister remastered / the crimson diamond
2023-02-22 17:04:00 +01:00