Commit Graph
2631 Commits
Author SHA1 Message Date
Walter Agazzi 27da99f608 AGS: Add detection for several new games
+ minor fixes
2024-05-27 18:47:34 +02:00
Marco Borrini 054e28f118 AGS: Add 3 new versions for existing entries 2024-05-27 13:19:16 +02:00
Eugene Sandulenko 1fe1f23f4c AGS: Update POTFILES 2024-05-22 21:58:59 +02:00
Walter Agazzi 53333942aa AGS: Update detection for An English Haunting / TPF
Fix #15131
2024-05-19 13:08:18 +02:00
Walter Agazzi 441d8eb80e AGS: Update primordia entry (win/linux) 2024-05-18 18:23:40 +02:00
Walter Agazzi 3fc354fb4c AGS: Add/update several detection entries 2024-05-18 18:23:40 +02:00
Walter Agazzi 736a5ce00a AGS: Add/update detection for a few games
From AGS forums
2024-05-13 20:10:50 +02:00
Walter Agazzi 117cb3efba AGS: Add sanity check for 8bpp games
Prevents assertion in Snow Problem/The Crimson Diamond
2024-05-13 20:10:50 +02:00
Kaloyan Chehlarski fe5c2068aa AGS: Fix 2bpp tinted blitting with AVX2 optimizations
Tinted blitting was completely broken on the 2bpp AVX2
path, due to the code ignoring the boundary in the
middle of the wide registers. This change fixes the vertical
striping produced by the original code, and removes some
unnecessary operations that were being performed for
every group of pixels.
2024-05-06 21:52:03 +02:00
Walter Agazzi c7bb8a3a27 AGS: Engine: hack for pre-2.70 games to ignore RestartGame before NewRoom
Reimplemented from upstream 0711b6fdc0f1c71c341716a20de0d90a75f1ec92
2024-05-05 14:24:26 +02:00
Walter Agazzi 824e7507aa AGS: Add check for unsupported videos in Earl Mansin 2024-05-05 14:24:26 +02:00
Walter Agazzi 853c225331 AGS: Engine: fix legacy pathfinder imprecision in some old games
This complements c3a0553e25
adding a configurable parameter. There are no functional differences

From upstream 1c226816e2c3c9c18c3afb976e05535401fc5db4
2024-05-03 17:24:08 +02:00
Walter Agazzi 7abf9ab5fd AGS: Engine: fixed "mouse up" event could cause a recursive on_event
First "on_event" firing after mouse button is released may cause a sequence of blocking actions.
If there's any control checks during them, the global "wasbutdown" variable will be tested again,
potentially leading to a recursive "mouse up" event, except it's not run immediately, but scheduled
until after the first one has completed running.

For this reason "wasbutdown" must be reset BEFORE firing any events.

This was broken a VERY long time ago, it seems, probably by commit 2f54a16
From upstream ff1baccbffd8ee79fe3a5aff547e2ac7b8d8aaf5 (branch 3.6.1)
2024-05-03 12:49:51 +02:00
Walter Agazzi bb1536e272 AGS: Update dreamswitchhouse + add new games
AGS forums + TRAC #15102
2024-05-01 18:19:17 +02:00
Walter Agazzi 5ee3bc164b AGS: Add new games/versions
From AGS/MMM forums
2024-04-28 23:06:04 +02:00
Misty De Meo 37ebf4048f AGS: add Perfect Tides Mac v2 2024-04-27 15:06:10 -07:00
Walter Agazzi 6907a85fe4 AGS: Use guid instead of gameid for Donna AoB workaround 2024-04-25 18:58:30 +02:00
Walter Agazzi fe14912a68 AGS: Add/update detection for commercial games
Legend of Skye GOG
Beyond the Edge of Owlsgard (TRAC #15083)
2024-04-21 13:34:39 +02:00
Walter Agazzi 687dbc7d4b AGS: Update technobabylon/blackwell4 mac 2024-04-19 15:02:59 +02:00
Walter Agazzi 3b20923bd0 AGS: Add several new games/versions 2024-04-19 14:04:51 +02:00
Walter Agazzi e66779632f AGS: Update commercial entries, add new games 2024-04-10 21:37:50 +02:00
Walter Agazzi 919a84afe9 AGS: Updated Technobabylon (win) + add new games 2024-04-03 01:56:58 +02:00
Walter Agazzi f8ddba8488 AGS: Updated build version (3.6.0.58)
Partially from upstream 3a1fc8d8f3f768506e3b56f840563b6d4211c567
2024-04-02 23:21:11 +02:00
Walter Agazzi c46b2feaca AGS: Engine: removed redundant quit_shutdown_scripts()
Scripts are shut down in unload_game().
It did not do what the function name implied anyway...
From upstream 67c0bdc9e854c558282d290ef5952ac211cc4133
2024-04-02 23:18:14 +02:00
Walter Agazzi cc6bbd1083 AGS: Engine: hotfix potential exception if cc_error is called during quit()
From upstream a64e3424f70677f9393e4f8c506f03ed628aee47
2024-04-02 23:09:17 +02:00
Walter Agazzi c3a0553e25 AGS: Use lower granularity in pathfinder for old games
This is a fix for the staircase bug in old Maniac Mansion Mania games.
2024-04-02 22:42:44 +02:00
Walter Agazzi 2bcaa19756 AGS: fix all_buttons_disabled check condition
completes commit c77989f2603cc1ff6d8ca27bf62668b16707bcb6
2024-03-28 12:03:33 +01:00
Walter Agazzi 6c8e783e4a AGS: Engine: add hotspot id assertion to GetHotspotProperty
This is made in line with previously added AssertObject().
from upstream 99f94c469636522bd2d89923901659476d816577
2024-03-28 12:03:33 +01:00
Walter Agazzi f09519834c AGS: Engine: updated unload_game_file(), fix few things not reset
This is not as important in case of game quit, as it is in case of RunAGSGame().

* Adjusted order of data release in unload_game_file() to be in sync with 3.6.1 (as much as possible).
* Fixed GameSetupStruct not releasing some of the data in Free().

Noteably this fixes font infos to not getting fully reset on RunAGSGame().
from upstream 1cc9d22095d0ee90541ce506fa54c538de7ca4ad
2024-03-28 12:03:33 +01:00
Walter Agazzi 79f3b6eec5 AGS: Engine: for Software mode fixed disabled controls leaving traces on gui
from upstream fb15befa124a9b3202263eb79e20e0060de5410a
2024-03-28 12:03:32 +01:00
Walter Agazzi ecc7642775 AGS: Engine: fixed kGuiDis_Blackout in "draw controls as textures" mode
partially from upstream 21664626e69e559a14c9159ceaa7a10eef681867
2024-03-28 12:03:32 +01:00
Walter Agazzi 59e2d4955e AGS: Common: fix all_buttons_disabled's type, for clarity
from upstream a60eb5d2f484c1783f4a52f46dfcae94f5e07865
2024-03-28 12:02:40 +01:00
Walter Agazzi 9d0e82c4d3 AGS: Engine: fixed camera may fail to restore its position in the room 2024-03-28 12:02:40 +01:00
Walter Agazzi 27aceb5888 AGS: Engine: fixed text parser in Dialog Options in "new key handling" mode
from upstream b9c3bb51e6f437ee574f550956b34a672b47b5e5
2024-03-28 12:02:40 +01:00
Walter Agazzi bb72a09404 AGS: Engine: fixed "lowest compatible save version"
This was broken by a typo made in fac1a5b
From upstream 44a3fcd03b4df0f16faee4ce70ca2c4c7b0469ab
2024-03-28 12:02:39 +01:00
Walter Agazzi d30db56310 AGS: Updated build version (3.6.0.57)
Partially from upstream eaec1e8f3843a719a32640a18f88fae88f8d29f4
2024-03-28 12:02:39 +01:00
Walter Agazzi de31994dd0 AGS: Engine: safeguard Overlay.Create in case of non-existing sprite
From upstream 57e21b06b99b53f38d0491e5cb17991738f552bd
2024-03-28 12:01:52 +01:00
Walter Agazzi 2e5560fd1e AGS: Remove no longer used move_speed global vars 2024-03-28 12:01:52 +01:00
Walter Agazzi 0b50067abb AGS: Engine: implement add_waypoint_direct(), fix AddWaypoint's resolution
This fixes Character.AddWaypoint not applying room<->mask resolution conversion,
which result in character's speed being different if room has non 1:1 mask resolution.

Hide calculate_move_stage() inside pathfinder, and expose add_waypoint_direct()
in the pathfinder interface instead.
From upstream 093354d78849dc3b4f13a244d4400c4e71f7d687
2024-03-28 12:01:52 +01:00
Walter Agazzi dacccc343e AGS: Engine: fix use of global "walkspeed" variables in the pathfinder
These variables had to be set using set_route_move_speed() call in order for
the find_route() and calculate_move_stage() work properly.
But it's not obvious, and easy to forget. So turn them into function arguments instead.

This fixes Character.AddWaypoint potentially using wrong walkspeed, if there are
multiple characters or objects moving simultaneously.
An example of a script that would cause a bug:

    cEgo.AddWaypoint(20, 20);
    oObject0.Move(0, 160, 1, eNoBlock, eAnywhere);
    cEgo.AddWaypoint(200, 200);

from upstream 9a00255a2699845bd0e53054d81c24e6955f663e
2024-03-28 12:01:52 +01:00
Walter Agazzi 42a26dc75b AGS: Engine: renamed cant_skip_speech to speech_skip_style for clarity
Also... the old name had inverse meaning to what the variable really did.
From upstream 44f1188992691c118aea15cffa0a73d6d4302601
2024-03-28 12:01:51 +01:00
Walter Agazzi 092ef64fc6 AGS: Engine: fixed speech stuck in "post state" under some conditions
This fixes repeated post-state on/off switching, and as a consequence - endless loop
 in cause of a "..." sentence, that  is run until messagetime reaches -1 on its own,
  which did not happen because of repeated post-state.

NOTE: looks like an original bug introduced along with the DisplayPostTimeMs property.

From upstream 37360990b22a79380f2a5b34e686a2d2fbcf7de1
2024-03-28 12:00:55 +01:00
Walter Agazzi dfb4598c31 AGS: Common: fix String::Trim*() to avoid asserts for extended chars
This complements 82abea8
From upstream 82ffab07df0bdf4a016addcc6050ba7f2b5e8fdc
2024-03-28 12:00:55 +01:00
Walter Agazzi 5d7c835c53 AGS: fixed wrong offset calculation when writing TRA
This was broken at some point... see commits:
f93f44c, e74b5ca
From upstream f49c8c90a198dbe187d811ea861afd19f094acdd
2024-03-28 12:00:55 +01:00
Walter Agazzi a1ae05f537 AGS: Fix uninitialized value
Partially from upstream 8ccd9fde8817df951146da7c94a6b3330397a062
2024-03-28 12:00:55 +01:00
Walter Agazzi 0f438f51c7 AGS: Common: fix String::IsNullOrSpace() to avoid asserts for extended chars
From upstream 4aa8d0ce7324dafcbd528ca904189604c5a9fe0d
2024-03-28 12:00:55 +01:00
Walter Agazzi 58aac922ee AGS: Add detection entries for various games
From AGS forums + TRAC reports #15032-4
2024-03-24 19:35:56 +01:00
Matthew Jimenez 771dc751db GRAPHICS: Switch ManagedSurface to use Palette class 2024-03-18 21:06:04 +02:00
Le Philousophe 951c1b77d9 AGS: Don't use FSNode but rely on AGS facilities to load sound files 2024-03-18 15:58:20 +01:00
PushmePullyu 13b7608492 AGS: Replace local static "last_cutscene_script_pos" with field
Fixes #15015
 "AGS games lead to a reproducable crash on exiting ScummVM"
2024-03-18 12:39:59 +01:00