73 Commits

Author SHA1 Message Date
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh
04eacfa7d3 LURE: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Coen Rampen
e2a1362bf9 LURE: Improve AdLib support
This improves the AdLib support for Lure of the Temptress, which was unfinished.
2021-07-02 14:16:50 +02:00
NMIError
aef0ccab4d LURE: Fix castle cellar wine cask sound
In the castle cellar, when you pull the bung out of the wine cask, a sound is
played for the running wine. However, when the cask runs empty, the sound is
not stopped. Also, when the Skorl starts drinking the wine, the sound is not
restarted when you enter the room, and it is also not stopped when the wine
runs out. These issues exist with the original interpreter as well.

I fixed this by adding the running wine sound when the hotspot script for the
drinking Skorl is in the loop where the Skorl is drinking, and removing the
sound when the hotspot script for the running wine is unloaded and when the
running wine stops in the animation for the drinking Skorl.
2020-12-08 22:10:44 +01:00
NMIError
5dfd6d0665 LURE: Fix bells sounding in town
When entering town after escaping from prison, after a little while bells start
chiming constantly. This does not happen in the original interpreter.

This is caused by a script that generates the ambient thunder sounds in the
prison. After the prison escape the clearSequenceDelayList function is called,
but this did not remove the script because it is not marked as "can be cleared".
Because this script is not running in town in the original interpreter, I think
the clearSequenceDelayList function is supposed to clear all scripts, even the
ones not marked as "can be cleared". The only other scripts that this affects
are two more ambient sound scripts that are now removed after entering the
castle towards the end of the game (the only other place where
clearSequenceDelayList is called). These scripts only play sounds while in town,
so removing them has no effect (but does remove some unnecessary processing).
2020-12-08 21:27:58 +01:00
NMIError
fa4948eaa4 LURE: Fix endgame animation
This change fixes several issues with the endgame animation:
- The timing for the sounds for the animation was based on the number of frames
after which the sound should start playing. However, the animation code
interpreted it as the number of frames to wait after playing the sound. This
caused the timing of the sounds to be wrong. Fixed this by moving the number of
frames up to the next sound and adding a dummy sound for the initial pause.
- The pause and thunder sound effect at the end of the animation were missing.
- The AdLib endgame sound resource was not loaded, causing a sound effect to
play instead of the endgame music.
- Changed the timing of the first text screen to match the original interpreter.
- At the last text screen, the game now waits for a keypress before quitting
the game after the music has finished. This matches the behavior of the
original interpeter.
- Made animation more responsive to user quitting the game.
- Screen no longer fades in EGA version.
2020-12-08 17:00:28 +01:00
NMIError
ae3c9777a9 LURE: Fix warnings for missing init and unsigned/signed 2020-12-06 16:37:08 +00:00
NMIError
991061ee1b LURE: Fix music/SFX distinction
Distinction between music and SFX was made based on the most significant bit in
the sound number byte. This does not accurately reflect which MIDI sequences
are music or a sound effect.

Instead, I've added a flag which can be passed to
SoundManager::musicInterface_Play to indicate whether the sound is music or a
sound effect. All music is started from hard-coded animation sequences, so this
flag can be passed from ScummVM code when appropriate.
2020-12-06 16:37:08 +00:00
Eugene Sandulenko
8577606b04 LURE: Safer string manipulation 2016-05-13 09:23:20 +02:00
Johannes Schickel
b03ca0e80a LURE: Make GPL headers consistent in themselves. 2014-02-18 02:39:36 +01:00
Willem Jan Palenstijn
38ac5854f4 LURE: Fix getNumGroats
This fixes bug #3612682
2013-05-05 13:31:27 +02:00
Eugene Sandulenko
b3cad04450 LURE: Fix warnings 2011-11-03 00:20:10 +00:00
Max Horn
64bcb731bf LURE: Rename method random() -> getRandom()
Also get rid of a slight bias for 0 in the random numbers (it was
selected twice as often as any other number).
2011-05-17 12:31:21 +02:00
Max Horn
4cbe4ede66 COMMON: Registers RandomSources in constructor with the event recorder
This also removes the dependency of engines on the event recorder header
and API, and will make it easier to RandomSources that are not properly
registered.
2011-05-17 12:17:26 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Paul Gilbert
f94752f752 LURE: Partial fix for #3008511 Goewin getting stuck
This workaround prevents the Weregate from closing whilst Goewin is still within it

svn-id: r52971
2010-10-02 00:08:13 +00:00
Paul Gilbert
5e66329117 LURE: Workaround for bug #3047234 in English EGA version
svn-id: r52378
2010-08-25 09:28:29 +00:00
Max Horn
f242266f6d Change a couple places from 'end of namespace' to 'End of namespace', for consistency
svn-id: r44634
2009-10-04 21:26:33 +00:00
Filippos Karapetis
5028d5a68b Reverted my commit #44290 - apparently, it was a bad idea, as g_engine is a hack
svn-id: r44311
2009-09-24 17:07:27 +00:00
Filippos Karapetis
a70351e5ea Changed some references from LureEngine to the global g_engine (e.g. calls to shouldQuit()), to minimize places where LureEngine is referenced
svn-id: r44290
2009-09-24 06:53:03 +00:00
Johannes Schickel
ac5a6552ca Switched LURE to use a single central RandomSource instance, instead of (sometimes) creating a new RandomSource every function call.
svn-id: r43715
2009-08-24 23:04:25 +00:00
Johannes Schickel
7e71865e91 Move the event recorder to its own class (EventRecoder inside common/EventRecorder.[h/cpp]).
svn-id: r42751
2009-07-25 12:59:46 +00:00
Torbjörn Andersson
0999534749 The error() and warning() functions add ! and newline automatically. (I didn't
look at debug() and debugC(), since I'm really bored with this now. :-)

svn-id: r41061
2009-05-31 10:02:16 +00:00
Johannes Schickel
2ef8a32a01 Fixed various g++ warnings ("format not a string literal and no format arguments").
svn-id: r35096
2008-11-16 20:20:31 +00:00
Max Horn
9b160804ab Renamed Engine::quit to Engine::shouldQuit (previously, it was easily confused with Engine::quitGame); also cleaned up engine.h a bit
svn-id: r34700
2008-09-30 12:27:38 +00:00
Christopher Page
17ce8db211 Lure works with the new GMM implementation
svn-id: r32996
2008-07-10 22:34:48 +00:00
Christopher Page
6e3474896c Kyra and Lure are now using the new _quit flag
svn-id: r32772
2008-06-25 00:55:18 +00:00
Paul Gilbert
76b1f4bcea Added a debugger command 'script' to allow execution of script engine methods
svn-id: r31568
2008-04-19 00:34:02 +00:00
Torbjörn Andersson
ff688574c4 Changed spaces to tabs.
svn-id: r31362
2008-04-02 04:23:00 +00:00
Jordi Vilalta Prat
66e9d4f5e8 Removed trailing spaces.
svn-id: r30664
2008-01-27 19:47:41 +00:00
Paul Gilbert
00796bb598 Bugfix for transformation sparkle to finish if the player changes room partway through animation
svn-id: r30609
2008-01-22 09:46:11 +00:00
Paul Gilbert
019624e3c1 Added code fragment to correctly set the walk to position for Goewin (for interacting with her) both when she's in the Apothecary and when she's out walking
svn-id: r30515
2008-01-16 10:06:19 +00:00
Paul Gilbert
8b9c7b2137 Corrected the name of script method #39 which closes the town hall door
svn-id: r30371
2008-01-10 10:48:04 +00:00
Paul Gilbert
6eb64102a4 Fix to remove a tab character from the GPL header
svn-id: r30238
2008-01-05 12:45:14 +00:00
Torbjörn Andersson
0b74448ded An element was missing in the initialisation of sounds during the endgame
sequence. It seems to correspond to the original's end_seq_data, so this should
be the correct value. I hope.

svn-id: r29877
2007-12-16 13:28:00 +00:00
Paul Gilbert
706e779236 Hooked up the sound code to use the configuration for sfx and music, and added code from the original game that used the high bit of sounds to distinguish between the two
svn-id: r29873
2007-12-16 08:19:56 +00:00
Paul Gilbert
11e29ca4d4 Bugfix to make any animation the player is doing uninterruptable
svn-id: r29690
2007-12-02 04:52:01 +00:00
Paul Gilbert
eadb5b7292 Added sounds to endgame animation sequence
svn-id: r29548
2007-11-18 05:11:38 +00:00
Paul Gilbert
b95a102011 Fixes to parameters of script methods
svn-id: r29508
2007-11-15 11:33:16 +00:00
Paul Gilbert
24303fb953 Expanded talk routines so that characters now properly stand still only when they're meant to
svn-id: r29471
2007-11-10 22:47:11 +00:00
Paul Gilbert
9fc974209b Bugfix for NPC conversations so they'll only stand still when they should, and pause correctly during scripted animations
svn-id: r29445
2007-11-07 09:39:48 +00:00
Paul Gilbert
9a1b13e965 Changed startSpeakingToNoone to pause the speaking character
svn-id: r29252
2007-10-24 10:04:24 +00:00
Paul Gilbert
b4cff6b9bd Converted fields in data that were originally offsets (such as tick proc offsets) to use indexes, allowing for more generic handling of different language versions
svn-id: r29073
2007-09-23 22:17:57 +00:00
Eugene Sandulenko
77eea722af Modified patch #1738058: "Action recorder".
svn-id: r28968
2007-09-19 13:55:05 +00:00
Paul Gilbert
b2e97060ad Initial sound implementation
svn-id: r28917
2007-09-16 04:06:49 +00:00
Max Horn
efbef7880b Fixed code formatting (hanging braces); added static/const keywords to data tables; merged Hotspot::doLookAt and doLookThrough code
svn-id: r28880
2007-09-08 11:18:35 +00:00
Paul Gilbert
234c2a5770 Fixed up several sound system script methods
svn-id: r28712
2007-08-25 06:03:24 +00:00
Travis Howell
9a9f801e93 Remove left over debug ocde.
svn-id: r28555
2007-08-12 12:26:46 +00:00
Paul Gilbert
4cf99284a7 Added missing calls to the sound system
svn-id: r28549
2007-08-12 11:15:36 +00:00
Paul Gilbert
707e62e669 Implemented remaining script methods
svn-id: r27605
2007-06-22 12:31:27 +00:00