Commit Graph
89422 Commits
Author SHA1 Message Date
Filippos Karapetis 07f208f59e SCI32: Promote Hoyle 5 game variants to ADGF_TESTING 2018-10-23 02:07:09 +03:00
Filippos Karapetis e87d3c0e82 SCI32: Disable the Poker game in Hoyle 5
This game uses an external DLL, PENGIN16.DLL, which is invoked via
kWinDLL. We need to reverse the logic in PENGIN16.DLL and call it
directly, in order to get this game to work properly. Until then, this
game entry will be disabled.
2018-10-23 02:03:14 +03:00
Filippos Karapetis 3a8936ea5c SCI32: Fix a script bug (typo) in Hoyle 5 - Old Maid 2018-10-23 01:55:00 +03:00
Filippos Karapetis ef841f615e SCI32: Always start in the Bridge room in Hoyle 5 Bridge
It's the only game included, so there's no point showing the game
selection menu in this case. This follows the behavior of the original
2018-10-23 01:32:26 +03:00
Filippos Karapetis 602b7d816c SCI: Fix spacing 2018-10-23 00:23:25 +03:00
sluicebox ced47b44ea SCI: Script patch for LB1 candles, bug #10743 (#1355)
Fixes a persistence bug in original game
2018-10-23 00:18:52 +03:00
sluicebox 209c622010 SCI: GK1 workaround for iconbar uninit param read
Uninitialized param1 read when showing iconbar with inventory item
2018-10-23 00:12:03 +03:00
Thierry Crozat 27eb9453bb GUI: Unset stretch-mode in game settings not overriding global settings 2018-10-22 22:08:39 +01:00
Torbjörn Andersson 8f3e1b7373 ENGINE: Allow stretch mode on a per-game basis
It was already possible to override the stretch mode per game
in the options dialog, but this was ignored when starting the
game from the launcher due to this bug.
2018-10-22 22:08:39 +01:00
sluicebox 7da548aa1e SCI: Disable LB2 speed test
Fixes bug #10761
2018-10-23 00:07:12 +03:00
sluicebox 185f015860 SCI: Script patch for LB1 Lillian/bed, bug #10742
Fixes wrong and missing messages in DOS version
2018-10-21 20:28:58 +03:00
Evgeny Grechnikov af580eaa85 LASTEXPRESS: save/load sound state
Warning: breaks compatibility with previous savefiles.
They were mostly broken anyway, locking any NPC who
waited for kActionEndSound when savefile was created.
2018-10-20 16:35:23 +03:00
Evgeny Grechnikov 9f7ae73a7b LASTEXPRESS: loud train noise when NPC exits car
If Cath stands near the beginning or the end of a car,
looks at a door, and a NPC opens this door,
the volume of train noise is temporarily raised.

Controlled by variables SoundManager::_data{0,1,2},
renamed to be not so mysterious.
2018-10-20 00:32:10 +03:00
Evgeny Grechnikov 06b7bb47ba LASTEXPRESS: case-insensitive lookup in sound queue 2018-10-19 23:37:35 +03:00
D G Turner 1e5f34c027 SCI32: Remove Invalid Windows Variant of Spanish GK1CD.
The English version has both DOS and Windows datafile versions,
but localized variants of GK1 are DOS only, so this is not a valid
entry.

This entry has duplicate detection checksums to the equivalent
DOS entry and was originally added as a workaround which should now not
be necessary.
2018-10-19 13:59:26 +01:00
D G Turner 4f077f2b5a HOPKINS: Add Graphics Screen Update Debugging Code.
This is mainly to aid investigation of bug Trac #6310.
2018-10-18 23:40:35 +01:00
D G Turner 9173223999 SCI: Fix Segfault When Using Console "show_map" Command on SCI32 games.
The _gfxScreen instance is nullptr for SCI32 games, thus this console
command previously caused a segfault.
2018-10-18 22:25:21 +01:00
Thierry Crozat c7fc6bbc30 I18N: Regenerate translations data file 2018-10-18 22:26:57 +02:00
Jozef Legény b705262b09 IOS: Hide keyboard when rotating to landscape
On iOS12 at least, the rotation did not force the keyboard to hide. This
fix will force it to be retracted in landscape and restored when
rotating back to the portrait position.
2018-10-18 19:48:00 +01:00
D G Turner 15306581ab SHERLOCK: RT: Disable Loading from GMM During Prolog or Credits.
Loading from the GMM during the prolog resulted in the mouse cursor
getting stuck hidden and possibly other game state issues, so best to
disable loading in these cases as already was done for saving.

This fixes bug Trac #10746.
2018-10-17 23:29:01 +01:00
Evgeny Grechnikov 8a374bdf0c LASTEXPRESS: rnd() should not return a constant 2018-10-18 00:56:28 +03:00
Evgeny Grechnikov 54562554f9 LASTEXPRESS: better names in sound code
Refactoring, no changes in behaviour.
2018-10-18 00:38:01 +03:00
Evgeny Grechnikov b7b5fbbad2 LASTEXPRESS: support for looped sounds 2018-10-17 23:03:00 +03:00
D G Turner 3d7bb383db SWORD25: Fix Debug Console Activation via CTRL-d. 2018-10-17 15:01:12 +01:00
scootergrisen 50503741dc I18N: Update translation (Danish)
Currently translated at 100.0% (1000 of 1000 strings)
2018-10-16 22:58:28 +02:00
Evgeny Grechnikov d561fd8a83 LASTEXPRESS: dynamic adjusting of sound volume
Now it works just like in the original game,
including fading where it is applicable
(e.g. in a passengers list if closing the list while a sound is playing).

By the way, p2s sequence is known as http://oeis.org/A000265 ,
p1s is 4 - A007814, and p2s[i]/2**p1s[i] is just i/16.
It is time to get rid of these arrays.
2018-10-16 23:57:25 +03:00
scootergrisen 84f948de91 I18N: Update translation (Danish)
Currently translated at 100.0% (1000 of 1000 strings)
2018-10-16 22:01:39 +02:00
Evgeny Grechnikov 29f6ce1d9a LASTEXPRESS: support for delay-activated sounds
Not very obvious, but noticeable e.g. when knocking on harem doors.
I suppose this is the problem that wiki describes
as "improper triggering of actions on sound end".
2018-10-16 23:01:26 +03:00
D G Turner cc5d858169 LASTEXPRESS: Remove Engine Specific All Debug Level.
This is replaced by the global "all" option for debugflags and defining
this triggers a warning about the conflict at runtime.
2018-10-16 18:25:03 +01:00
D G Turner 5d340d244c LASTEXPRESS: Fix Compiler Warning in Sound Code.
The SoundFlag type is an enumeration which have a default underlying
type of unsigned int in most case.

Thus comparing this to -1 causes a compiler warning. Since the default
entity sound flag type is 0xFFFF... which is equivalent to -1, then
replacing this with the correct enum symbol fixes the issue and should
result in the correct behaviour. Examination of the resulting code line
seems to confirm that this is the correct expected logic.
2018-10-16 13:30:44 +01:00
Evgeny Grechnikov 43fb9ebb1b LASTEXPRESS: drop sound thread
The backend runs its own sound thread anyway,
with the corresponding bookkeeping that we use.
We don't need yet another sound thread,
and it is always nice to not have something
that could change our structures from underneath us.
2018-10-16 01:03:55 +03:00
Evgeny Grechnikov 8162309212 LASTEXPRESS: fix race condition in sound code
SoundEntry::play() calls StreamedSound::setFilterId(),
StreamSound::setFilterId() requires the underlying reference to be alive.
SoundQueue::handleTimer() checks that the stream is still alive
by calling SoundEntry::isFinished(). However, if the stream is finalized
just between calls to SoundEntry::isFinished() and SoundEntry::play(),
the sound mixer frees the stream leading to use-after-free in setFilterId().

Turn off the automatical disposing, delete the stream in SoundEntry::~SoundEntry().
2018-10-16 00:49:07 +03:00
Thierry Crozat 45641f3de5 I18N: Regenerate translations data file 2018-10-15 05:05:08 +02:00
sluicebox 9ed826c9bc SCI: Fix LB2 back rub east entrance bug #10729
Fixes a lockup in the original game
2018-10-15 00:18:33 +03:00
Thierry Crozat 457c4ee8ac LASTEXPRESS: Fix compilation with some compilers 2018-10-14 22:00:13 +01:00
Thierry Crozat 941d22c047 BACKENDS: Use OSystem::destroy() instead of deleting directly the g_system instance 2018-10-14 21:25:33 +01:00
Thierry Crozat 1e11da712b COMMON: Add mutex to protect access to the String memory pool
This fixes a crash due to concurrent access to the global MemoryPool
used by the String class when String objects are used simultaneously
from several threads (as is for example the case when enabling the
cloud features).

See bug #10524: Thread safety issue with MemoryPool
2018-10-14 21:25:16 +01:00
Thierry Crozat c39dcc57a0 OSYSTEM: Add backendInitialized() function
Some feature, such as mutexes, are only available once the backend
has been initialized. This new function can be used to avoid using
those feature too early or too late.
2018-10-14 21:25:02 +01:00
Evgeny Grechnikov 53cd6616c9 LASTEXPRESS: refactor sound flags
Merge SoundFlag and SoundStatus into a single enum;
SoundEntry::setupStatus just casts one to another.

Keep only definitions of bits in SoundFlag; drop compound flags
like kFlagSteam = kSoundTypeAmbient | kSoundFlagLooped | kVolume7,
use ORed simple flags in calls; change the signature
of SoundManager::playSoundWithSubtitles to use uint32
instead of SoundFlag to avoid excess casting.

Add meaningful names to flags; add some comments.

Get rid of endian-unsafe SoundStatusUnion.

Fixes an issue with big-endian hosts.
No changes in behaviour on little-endian hosts.
2018-10-14 20:08:32 +03:00
sluicebox 46fe0aafd6 SCI: Fix LB2 'Bugs With Meat' lockup, bug #10730
Fixes a lockup in the original game
2018-10-14 17:53:01 +03:00
Evgeny Grechnikov d36aadd3a6 LASTEXPRESS: fix constants in sound serializer
Wrong enum member used: (status & 0x7000000)
should be checked against 0x3000000, not against 3
(this is a check of sound type to skip menu sounds in savefiles).

Activate delay should not be compared with sound volume;
comparison with 0x8000000 is just a sanity check against overflow.
2018-10-14 17:29:47 +03:00
Andrei Prykhodko b13e235242 PINK: removed unnecessary G key 2018-10-12 22:45:47 +03:00
Andrei Prykhodko 18c6a1a25c PINK: added missing sequencer update in Moving state 2018-10-12 22:41:46 +03:00
D G Turner 13b0a08dda AGI: Add Detection Entry for AGI Combat (Beta).
This fixes bug Trac #10739.
2018-10-11 11:25:10 +01:00
D G Turner d616cbf63d AGI: Add Detection Entry for Sarien Test Demo.
This fixes bug Trac #10740.
2018-10-11 10:43:51 +01:00
D G Turner c8b98dd41c AGI: Clamp Graphics Blit into Screen Area.
Some games, especially fangames appear to blit to co-ordinates outside
the screen area, which caused an assertion in the graphics backend.

To prevent this and allow further debugging in these cases, we clamp
this to the screen area. Note that there are several other locations
which do backend graphics calls, so this may need to be applied
elsewhere in the general case.

This fixes bug Trac #10736.
2018-10-11 10:18:48 +01:00
Thierry Crozat c5db13d5e0 I18N: Update translations templates 2018-10-11 06:45:31 +02:00
D G Turner efcd857083 GUI: Fix Mouse Wheel Input for Unknown Game Dialog.
This should also fix this for other instances of ScrollContainer, though
the dialogs / widgets may require the same change.

This fixes bug Trac #10741.
2018-10-11 05:52:02 +01:00
Thierry Crozat 6fc08fd2b1 I18N: Update translations templates 2018-10-10 09:15:24 +02:00
D G Turner 9831f6ddd2 GUI: Disable Current View Selection Button in Save/Load Chooser.
Switching between List and Grid views causes a nasty redraw flicker.
This also occurs if you press the button for the current view type.

This patch does not fix the underlying refresh issue, but it does
disable the button for the current view type as pressing this is not
useful in any case.

This is a partial fix for bug Trac #10441.
2018-10-10 08:20:17 +01:00