Commit graph

80700 commits

Author SHA1 Message Date
Orgad Shaneh
0bea6ae7ff ENGINES: Do not attempt autosave when the autosave slot is -1 2021-09-10 09:26:58 +03:00
Paul Gilbert
2a5a4b6fb4 AGS: Fix turning off flashlight in Maniac Mansion Deluxe 2021-09-09 21:48:27 -07:00
Paul Gilbert
f7f8db9fce AGS: Fix loading standalone AGS Maniac Mansion Deluxe saves
It seems the older version of AGSFlashlight didn't persist
it's fields in the savegame like the latest version does.
I decided against trying to explicitly figure out which
version of AGSFlashlight different games used, and instead
simply have fallback handling if the savegame doesn't
have the data.

The only minor disadvantage is that this means that whilst
savegames are portable from standalone AGS to ScummVM for
the game, it won't in the other direction. But I don't
think that's too major an issue, since it's only for the
few games that do use the old AGSFlashlight
2021-09-09 20:14:57 -07:00
sluicebox
3f71aa4286 SCI: Add QFG1VGA Mac workaround for Brigands 2021-09-09 12:41:35 -05:00
sluicebox
bf4b3bbbdb SCI: Replace QFG1VGA fetch workaround with script patch
Spell animation now travels towards the intended plant as in the
original, and also fixes Mac version
2021-09-09 12:41:35 -05:00
Matthew Duggan
7b0a1a3340 ULTIMA8: Fix Crusader shield hit damage
The `shieldCost` field from the firetype table should be used to subtract from
shields, not the weapon damage.  Normally shieldCost is a larger value, so it
affects game difficulty a lot.
2021-09-09 23:32:56 +09:00
Matthew Duggan
e5944517ab ULTIMA8: Fix Crusader NPC weapons in No Remorse difficulty
The NPCs should get randomly harder weapons at No Remorse difficulty level, but
this never happened because I missed a line in the original to reset the "alt"
weapon type in this case.
2021-09-09 23:32:51 +09:00
athrxx
07878592a4 SCUMM: (FT) - fix bug no. 12903 ("Sometimes skipping videos occur")
Prevent autosave during smush playback. Thanks to AndywinXp for the tip.
2021-09-09 16:10:16 +02:00
Matthew Duggan
a5bad57fce ULTIMA8: Fix where Crusader BA-40 ammo is used
After rechecking, the original game has expendable BA-40 ammo on every
difficulty above *1*, not *2*.  Confirmed in dosbox and the disassembly
(function at 13c8:2975).
2021-09-09 23:06:44 +09:00
Matthew Duggan
c7406a4077 ULTIMA8: Limit BA-40 ammo in high Crusader difficulties
Bug #12880.  The BA-40 should consume ammo in the higher 2 difficulty levels
for Crusader: No Remorse.  A similar change is probably needed for No Regret,
but it will be done separately.
2021-09-09 22:23:36 +09:00
Martin Gerhardy
867e7d400c TWINE: godmode is only for attacking the hero now 2021-09-09 07:12:45 +02:00
Paul Gilbert
8b767b4ab5 AGS: Fix display of plugin function names in script dumps 2021-09-08 21:55:06 -07:00
Paul Gilbert
b624d50182 AGS: Hook up script dump to ScummVM debug channels 2021-09-08 21:11:18 -07:00
Paweł Kołodziejski
e1801cfb57
WINTERMUTE: Disable wme3d 2021-09-09 01:01:17 +02:00
sluicebox
6c4209d8c4 SCI: Add MOTHERGOOSE256 workarounds for restarting 2021-09-08 17:14:47 -05:00
sluicebox
fea165ace9 SCI: Improve MOTHERGOOSE256 save-id workaround
The existing workarounds for this game's unique way of handling saves
assumed that the player restored a game at some point before the end.
Starting a new game and playing to the end would still cause an error
in the SCI1.1 floppy version because the game's save global would
contain an SCI id instead of our virtual id; we were only patching the
global when restoring.

Now we also patch the global on kSaveGame so that it always contains a
virtual id when there is a saved game.

Note that the existing uninitialized read workaround had no effect since
the read occurred in a local procedure but the workaround entry didn't
include a local procedure signature. Updating that workaround wouldn't
fix this; there would still be scenarios where the wrong save would be
auto-deleted.

Fixes bug #5294
2021-09-08 17:14:27 -05:00
Thierry Crozat
c66da79557 ENGINES: Scale ScummVM spash on HiDPI screens 2021-09-08 22:23:43 +01:00
Martin Gerhardy
807c655503 TWINE: fixed potential buffer underflow in renderPolygonsGouraud 2021-09-08 20:10:57 +02:00
Martin Gerhardy
18abfb799f TWINE: cleanup renderPolygonsGouraud 2021-09-08 20:10:46 +02:00
Martin Gerhardy
324393a7ea TWINE: re-did the renderPolygonsBopper method
better - but still not yet there. Try it with:

  set_holomap_trajectory 15

and check the boat windows
2021-09-08 20:10:40 +02:00
Martin Gerhardy
12ff8a4dae TWINE: renderPolygonsMarble cleanup 2021-09-08 20:10:36 +02:00
Martin Gerhardy
11c9df55d4 TWINE: renderPolygonsMarble renamed variables 2021-09-08 20:10:31 +02:00
Martin Gerhardy
7fda05e2f5 TWINE: fixed alignment issues for polytab access 2021-09-08 20:10:28 +02:00
Martin Gerhardy
45eb1c7c2e TWINE: further fixes in renderPolygonsMarble 2021-09-08 20:10:25 +02:00
Martin Gerhardy
fe83878d86 TWINE: removed labels in renderPolygonsMarble 2021-09-08 20:10:21 +02:00
Martin Gerhardy
a669f472d1 TWINE: added disassembled code to render methods 2021-09-08 20:10:16 +02:00
Martin Gerhardy
b4fe7a230d TWINE: comments 2021-09-08 20:10:13 +02:00
Martin Gerhardy
41f0bbe3c2 TWINE: set the debugger after all game components are set up already 2021-09-08 20:10:10 +02:00
Martin Gerhardy
eec73f6aa4 TWINE: no need to create a copy of the domain string 2021-09-08 20:10:06 +02:00
Martin Gerhardy
6875cea3fa TWINE: moved script patch boolean into scene class
... and activated it by default
2021-09-08 20:08:40 +02:00
Martin Gerhardy
e133830deb TWINE: doChangeScene is using ScenePositionType::kScene 2021-09-08 20:08:37 +02:00
Martin Gerhardy
f2ba82cb9a TWINE: moved script fix into proper location 2021-09-08 20:08:32 +02:00
Martin Gerhardy
c777d01322 TWINE: converted todo comment into not-compiling code 2021-09-08 20:08:29 +02:00
Martin Gerhardy
8c9f90eacf TWINE: todo comment for life script 2021-09-08 20:08:26 +02:00
Martin Gerhardy
f18e8c4df1 TWINE: fixed typos 2021-09-08 20:06:17 +02:00
Martin Gerhardy
20c1923908 TWINE: fixed holomap arrow clipping 2021-09-08 20:06:13 +02:00
Martin Gerhardy
79ac125ee2 TWINE: added godmode debug command 2021-09-08 20:04:42 +02:00
Martin Gerhardy
0c07d45fcc TWINE: renamed variable 2021-09-08 20:03:23 +02:00
Martin Gerhardy
90cb25a821 TWINE: comments 2021-09-08 20:02:53 +02:00
Martin Gerhardy
8eb6b4dd0c TWINE: translated french comment 2021-09-08 20:02:53 +02:00
Martin Gerhardy
cee5782d51 TWINE: fixed dotemu achievement for talking to the star wars fanboy 2021-09-08 19:54:20 +02:00
Torbjörn Andersson
367f8039bf
BURIED: Clear the live text window when moving, as advertised (bug 12887)
The comment says it will clear the live text window, but instead
disabled the navigation arrows (I think), which it then does again right
aftewards. A cut and paste error, perhaps?
2021-09-08 13:35:55 +02:00
Paul Gilbert
1c4ca3c0f5 AGS: Increase maximum save slot to 998
Some games like Maniac Mansion Deluxe, start in-game saves
from 100 onwards. Increasing the limit will allow these
saves to be opened directly from the ScummVM launcher
2021-09-07 18:42:36 -07:00
Matthew Duggan
127306a90a ULTIMA8: Increase process loop detection theeshold
As reported in #12913, the current process loop detection can incorrectly fire
on certain U8 map transitions.  Bump the threshold way up to avoid problems.
This will result in a nasty pause in Crusader: No Remorse Map 3, but it's
better than breaking U8.
2021-09-08 10:00:50 +09:00
Matthew Duggan
24093ec783 ULTIMA8: Reduce incorrect global warnings in U8
Because the games have different global sizes, the logic for when to print a
pop-to-global warning was wrong.  It should warn for size > 2 in Crusader
(where the globals are *bytes*), or if the size popped doesn't fit in
the number of *bits* for U8.
2021-09-08 10:00:44 +09:00
Thierry Crozat
c741f733a0 SUPERNOVA: Fix use-after-free bug when dying
Since the inventory contains pointers to objects from the rooms, we
need to clear the inventory before we destroy the rooms and not after!
2021-09-08 01:08:41 +01:00
Thierry Crozat
de03f549ae SUPERNOVA: Fix buffer overflow for two dialogs
This was partially caused by a bug in the original source code
that was missing a comma between two strings for those two dialogs.
The original did not have a buffer overflow, but was not correctly
displaying the strings.

This fixes bug #12856.
2021-09-08 01:08:30 +01:00
Matthew Duggan
632bfd5c21 ULTIMA8: Provide message on why movies and sound don't work
A few people have not noticed that the GOG version includes a CD image and some
files need to be taken from there.  This should help those people.

The same problem will happen for anyone who has an old install of the game and
forgets that it uses some files from the CD.
2021-09-08 07:29:41 +09:00
Torbjörn Andersson
546ae0e04b
BURIED: Fix missing agent research score (bug 12881)
The Agent 3 information and profile research points were awarded when
pressing the "next" button, so they were never awarded. Award them when
hitting a hotspot instead.
2021-09-07 23:34:14 +02:00
Torbjörn Andersson
0c72d7f0df
BURIED: Fix missing jump suit research points (bug 12881)
The positions of the previous and next button had been mixed up. The
previous button is left of the next button, not the other way around.

This meant you could only be awarded points when pressing the previous
button, and since you would then step away from the page that awards
point that did not work.

Since the buttons worked in other respects, the id for the previous and
next pages must also have been similarly mixed up. This too should be
fixed now.
2021-09-07 23:34:14 +02:00