Commit Graph

701 Commits

Author SHA1 Message Date
Max Horn
d6e47d5fd3 ADV detector: Refactored findGameID() a bit, making it possible to use it outside the AdvancedDetector framework; also made it generate somewhat more user friendly desc for obsolete game IDs
svn-id: r27424
2007-06-15 17:36:41 +00:00
Eugene Sandulenko
6e5b70f5e9 Patch #1733764: "Fallback detection patch". GSoC student.
svn-id: r27375
2007-06-12 12:22:25 +00:00
Johannes Schickel
b9d77d2d40 Fix crash when closing Kyrandia demo.
svn-id: r27223
2007-06-08 23:04:13 +00:00
David Corrales
3b96c7fad5 Renamed methods in the FilesystemNode class to match the AbstractFSNode implementations.
Also exposed the new methods (exists, isReadable and isWritable) in FilesystemNode.

svn-id: r27113
2007-06-05 21:02:35 +00:00
Johannes Schickel
9774d3b80a Fix for bug #1730511 ("KYRA1: Brandon's text isn't cleaned properly").
svn-id: r27083
2007-06-04 19:00:41 +00:00
David Corrales
0cab5b7791 Merged the fs branch with trunk. r26949:27031
svn-id: r27032
2007-05-31 23:44:43 +00:00
Max Horn
218e132e37 Updated legal headers in source files, based on what Pidgin (the IM client formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots
svn-id: r27024
2007-05-30 21:56:52 +00:00
Johannes Schickel
c42c65686e Updated error message.
svn-id: r26965
2007-05-27 11:18:33 +00:00
Johannes Schickel
8998e0d40d Little graphics fix for FM-Towns version. (Thanks to Florian Kagerer)
svn-id: r26930
2007-05-23 12:10:44 +00:00
Johannes Schickel
ad03c72bdb Commit of patch #1715313 ("CORE: STL like algorithm implementation").
svn-id: r26929
2007-05-23 12:02:31 +00:00
Johannes Schickel
91402fda9b Some graphic fixes for FM-Towns version. (Thanks to Florian Kagerer for this).
svn-id: r26915
2007-05-22 13:44:41 +00:00
Johannes Schickel
06b3206b21 Fixes graphics glitch introduced while cleaning up.
svn-id: r26914
2007-05-22 13:33:41 +00:00
Johannes Schickel
2103678d93 Fixed WSA playing regression, introduced while cleaning up. (should fix Floppy and Amiga version)
svn-id: r26786
2007-05-08 11:46:27 +00:00
Johannes Schickel
776423ff82 - started to move v1 specific functions to KyraEngine_v1 (just opcodes yet)
- reworked script opcode handling

svn-id: r26749
2007-05-05 12:18:02 +00:00
Max Horn
579a3fe7cf Renamed plugin.cpp to detection.cpp in all engines
svn-id: r26622
2007-04-27 20:23:25 +00:00
Johannes Schickel
edd9b31a48 Cleanup.
svn-id: r26604
2007-04-27 12:15:47 +00:00
Max Horn
d4660cce55 Removing more semicola
svn-id: r26597
2007-04-26 19:08:53 +00:00
Johannes Schickel
8b7d458668 Oops.
svn-id: r26596
2007-04-26 13:00:52 +00:00
Johannes Schickel
21b2c7bceb Formatting/Cleanup.
svn-id: r26511
2007-04-15 16:41:20 +00:00
Johannes Schickel
b9443dfb60 More cleanup.
svn-id: r26502
2007-04-15 14:38:02 +00:00
Johannes Schickel
504df5a48e cleanup.
svn-id: r26499
2007-04-15 14:19:27 +00:00
Johannes Schickel
8c4e539a40 Readded lost files.
svn-id: r26496
2007-04-15 13:44:49 +00:00
Johannes Schickel
5e1c6c7907 - Renamed some files for consistency with other engines.
- Kyra2 detector entries update.

svn-id: r26494
2007-04-15 13:39:08 +00:00
Johannes Schickel
e8b6baca74 Little WSA loading fix.
svn-id: r26375
2007-04-03 14:26:12 +00:00
Gregory Montoir
5aca9dce8c added the instance of EventManager returned by OSystem::getEventManager as a member of the Engine base class. This allows to simply the code a bit and should more efficient too (ie. less virtual function chain calls, obj->getA()->getB()). Also updated several engines to make use of it.
svn-id: r26357
2007-04-01 17:36:13 +00:00
Johannes Schickel
397c10f059 made _vm/_engine usage consistent. (_engine -> _vm all over the place now).
svn-id: r26342
2007-04-01 13:10:50 +00:00
Max Horn
508befd556 fixed const correctness
svn-id: r26307
2007-03-27 14:12:16 +00:00
Johannes Schickel
fb9b9863e3 Commit of patch #1688065 ("KYRA: fm towns music").
svn-id: r26305
2007-03-26 12:25:12 +00:00
Johannes Schickel
f145890bba Some tempo fixes from Florian.
svn-id: r26300
2007-03-25 15:54:15 +00:00
Johannes Schickel
d1645e2fbf Commit of patch #1686414 ("Kyra: FM-Towns music").
svn-id: r26285
2007-03-24 00:04:08 +00:00
Johannes Schickel
661944a0f9 Implemented some palette code differences for Amiga version.
svn-id: r26281
2007-03-23 16:24:28 +00:00
Johannes Schickel
2517960b3f - more cleanup
- added some .pak file integrity checks

svn-id: r26264
2007-03-20 21:11:42 +00:00
Johannes Schickel
b17ae7017c Little cleanup.
svn-id: r26263
2007-03-20 20:46:19 +00:00
Max Horn
888e68f433 KYRA: Changed to use EventManager::getMousePos (should improve some things: the old code did not properly track the mouse upon click events, and KyraEngine::waitForEvent ignored _flags.useHiResOverlay)
svn-id: r26221
2007-03-18 18:27:52 +00:00
Johannes Schickel
c7c79e33db Fixed various gui strings in German floppy.
svn-id: r26211
2007-03-18 16:15:19 +00:00
Johannes Schickel
d611e81672 - little 'cleanup'
- finished MSC file support for Amiga version

svn-id: r26204
2007-03-18 12:08:13 +00:00
Max Horn
ed54ea9155 Moved Event/EventType/keyboard enum from common/system.h (part of class OSystem) to common/events.h (part of namespace Common). Porters may have to make minor changes to their backends to get them to compile again
svn-id: r26180
2007-03-17 19:02:05 +00:00
Torbjörn Andersson
53624376b4 Applied my re-revised patch #1487149 ("Simplified keyboard repeat"), with
Fingolfin's blessings. Keyboard repeat is now handled by the event manager,
rather than by individual engines.

Since this can cause problems with some engines (see the AGI engine), the extra
"key down" events are marked as "synthetic", so that they can be ignored if
necessary.

svn-id: r26170
2007-03-17 15:44:26 +00:00
Max Horn
15d9bc42ea Force all code to use EventManager::pollEvent instead of OSystem::pollEvent
svn-id: r26156
2007-03-17 00:53:21 +00:00
Johannes Schickel
4951f82c65 Basic support for Amiga MSC files.
svn-id: r26153
2007-03-16 23:08:59 +00:00
Johannes Schickel
689ea77c0d WIP code for Amiga version:
- Font displaying is not yet supported.
- Intro should be glitch free
- all other things are *untested*

svn-id: r26113
2007-03-12 20:43:56 +00:00
Max Horn
783a6d7d59 Fixed const issue (casting const to non-const)
svn-id: r26027
2007-03-08 20:44:43 +00:00
Johannes Schickel
305a1525ed - cleanup
- some diffs for Amiga version

svn-id: r26010
2007-03-07 20:31:19 +00:00
Max Horn
029b8c4323 Changed the order of the parameters of makeLinearInputStream to resemble Mixer::playRaw; also made makeLinearInputStream honor FLAG_LOOP (and for this, changed its loop related params slightly)
svn-id: r25926
2007-03-02 15:26:22 +00:00
Max Horn
8466221fce Simplify code a bit -- got rid of File::incRef usage, an unnecessary member var, fixed a potential memory leak (if all channels are in use), and fixed a potential OOB error (if stopSound(-1) was called)
svn-id: r25916
2007-03-01 17:04:50 +00:00
Torbjörn Andersson
61e2a9eb78 Clarified some comments and moved some asserts to hopefully answer Fingolfin's
question why we always created a mono audio stream. There are other games that
use more advanced versions of the VQA format, but it seems unlikely that
ScummVM will ever support any of them.

svn-id: r25911
2007-02-28 18:25:42 +00:00
Max Horn
8c8abca6f8 Changed the AppendableAudioStream code to use a queue of buffers, instead of a fixed size wrap-around memory buffer (this reduces memory usage in some cases by 500-700k, while actually being more flexible)
svn-id: r25909
2007-02-28 14:48:26 +00:00
Max Horn
a2a46c55d2 Using FLAG_AUTOFREE implies free() being called on the memory buffer you passed to the audio stream code -- hence, use malloc and not new[] to allocate the buffer
svn-id: r25877
2007-02-26 11:16:31 +00:00
Max Horn
b3931a847d Trying to unify the order in which we try the various audio formats: Prefer FLAC (lossless) over Ogg Vorbis ('free') over MP3 -- the order is admittedly somewhat arbitrary, but at least now it's consistent across all parts of ScummVM
svn-id: r25837
2007-02-24 23:40:28 +00:00
Travis Howell
990132687d Add the Hand of Fate demo.
svn-id: r25816
2007-02-24 09:55:37 +00:00
Johannes Schickel
60fbbc2704 Fixed black screen in the outro sequence.
svn-id: r25791
2007-02-22 18:03:05 +00:00
Johannes Schickel
15168e6c42 c&p error
svn-id: r25775
2007-02-21 22:29:45 +00:00
Max Horn
227a080e5b Patch #1663933 (Kill premix channel) with a few tiny additional tweaks by me
svn-id: r25752
2007-02-20 18:50:17 +00:00
Torbjörn Andersson
1987813f53 Another batch of header consistency changes.
svn-id: r25746
2007-02-20 17:33:54 +00:00
Max Horn
b8aeefaffb Added finalize() method to Common::OutSaveFile (which by default just flushes the stream), changed engines to call that before deleting OutSaveFile instances (instead of just flushing)
svn-id: r25660
2007-02-17 18:55:51 +00:00
Torbjörn Andersson
546758a086 Only set up the Kyra 1 triggers for Kyra 1, not Kyra 2.
svn-id: r25650
2007-02-17 08:06:21 +00:00
Torbjörn Andersson
809a3bc293 Applied cyx's patch #1659302 ("KYRA: VQA player code cleanup/reduce") with the
minimal change suggested in the tracker.

svn-id: r25649
2007-02-17 07:49:12 +00:00
Torbjörn Andersson
16e7a12878 Some very obvious cleanups.
svn-id: r25635
2007-02-16 17:13:29 +00:00
Johannes Schickel
940e89d00e Added support for Kyrandia 2 ADL files.
svn-id: r25634
2007-02-16 16:57:59 +00:00
Max Horn
7572d2b4f2 Changed detectBestMatchingGame to return a pointer to a ADGameDescription (or a subclass of it); added a (currently fake) fallback callback entry in ADParams
svn-id: r25574
2007-02-13 23:37:44 +00:00
Eugene Sandulenko
da7d8c9f35 Rename Common::GF_XXX to Common::ADGF_XXX
svn-id: r25545
2007-02-13 13:42:28 +00:00
Max Horn
55adc889e7 (re)added flags field to ADGameDescription, with currently only one value (GF_DEMO) -- this flag value is not yet used by anything (also, GF_DEMO hasn't been correctly set for AGI games yet)
svn-id: r25539
2007-02-13 01:28:18 +00:00
Johannes Schickel
80bc94304c little fix for fm-towns version
svn-id: r25531
2007-02-12 19:08:34 +00:00
Johannes Schickel
7af17382b5 Support for Japanese FM-Towns version. (code contributed by Florian Kagerer, modified a bit)
svn-id: r25530
2007-02-12 18:01:51 +00:00
Johannes Schickel
46747d8396 should fix warnings in msvc.
svn-id: r25484
2007-02-11 03:21:27 +00:00
Johannes Schickel
841fd4f94f cleanup
svn-id: r25479
2007-02-11 01:38:15 +00:00
Johannes Schickel
1cc18f6e7b Don't rely on assert when calling functions.
svn-id: r25426
2007-02-08 09:41:10 +00:00
Johannes Schickel
00d4aea7e6 Fixed GUI strings in FM-Towns version.
svn-id: r25425
2007-02-08 09:24:33 +00:00
Johannes Schickel
cab3b23ab2 ops.
svn-id: r25424
2007-02-08 08:41:14 +00:00
Johannes Schickel
aa38257840 - fixed crash in FM-Towns version when entering the grotto
- fixed some palette issues

svn-id: r25423
2007-02-08 08:39:33 +00:00
Johannes Schickel
6707dcbbb2 Fixed credits in FM-Towns version.
svn-id: r25417
2007-02-07 19:51:19 +00:00
Johannes Schickel
63e3dfb1d1 Support for new kyra.dat, which includes static data from the fm-towns version.
svn-id: r25416
2007-02-07 19:30:49 +00:00
Johannes Schickel
db19d5e9de should silence compiler warnings.
svn-id: r25412
2007-02-07 16:47:34 +00:00
Johannes Schickel
aee4f7058d Implemented little diff in o1_characterSays for fm-towns version.
svn-id: r25410
2007-02-07 16:28:29 +00:00
Eugene Sandulenko
7b6bdd231d AdvancedDetector now has built-in fallback detection based on file lists.
Currently only gob engine benefits from it.

svn-id: r25374
2007-02-04 03:10:27 +00:00
Max Horn
35bfb505a6 Use the platform/language values computed by the detector
svn-id: r25365
2007-02-03 22:42:45 +00:00
Johannes Schickel
c3f84d67b2 Workaround bad values for _curSfxFile in old savegames.
svn-id: r25359
2007-02-03 21:14:35 +00:00
Johannes Schickel
a2976a350f Fixes FM-Towns New Game Save.
svn-id: r25358
2007-02-03 20:50:26 +00:00
Johannes Schickel
3d70157e53 Some delay changes. (should fix slow scene animations)
svn-id: r25357
2007-02-03 19:21:33 +00:00
Johannes Schickel
4387a851a2 Replace filesize based kyra.dat check with a md5 based.
svn-id: r25337
2007-02-02 16:02:59 +00:00
Johannes Schickel
128c05f2b1 ops
svn-id: r25331
2007-02-01 22:15:01 +00:00
Johannes Schickel
b11e72f030 Handles multi language games the way gob engine does.
svn-id: r25330
2007-02-01 22:06:55 +00:00
Johannes Schickel
7e4fdbb36e Reworked delay handling.
svn-id: r25324
2007-02-01 15:30:50 +00:00
Johannes Schickel
096f8958c5 - fixed the sprite updating
=> fixes gfx bug when Herman uses the saw
 => removed workaround for bug #1477364 ("KYRA1: Water dripping freezes")

svn-id: r25323
2007-02-01 14:57:48 +00:00
Johannes Schickel
61531524dc cleanup
svn-id: r25322
2007-02-01 13:31:07 +00:00
Johannes Schickel
e9074ea021 oops.
svn-id: r25321
2007-02-01 13:12:45 +00:00
Johannes Schickel
b138b5cce1 Fix for missing Brandon in Zanthia's home (see bug #1498221 "KYRA1: Subtitles missing when meeting Zanthia
").

svn-id: r25320
2007-02-01 13:10:49 +00:00
Johannes Schickel
69788f3d70 Some changes to be closer to the original with palette handling.
svn-id: r25316
2007-01-31 23:48:12 +00:00
Johannes Schickel
d3345ea7f1 oops.
svn-id: r25314
2007-01-31 18:38:22 +00:00
Johannes Schickel
d82c67b48c Fix for bug #Fix for bug #1523200 ("KYRA1: Voice-only mode has no lips animation").
svn-id: r25313
2007-01-31 18:35:50 +00:00
Johannes Schickel
9799b346d8 Fix for bug #1479856 ("KYRA1: gfx glitch when dying on bridge").
svn-id: r25312
2007-01-31 17:48:26 +00:00
Gregory Montoir
7e5a0b05b5 warnings
svn-id: r25284
2007-01-30 20:20:05 +00:00
Johannes Schickel
7bb9b05f55 cleanup
svn-id: r25268
2007-01-29 21:34:39 +00:00
Johannes Schickel
5bf2396dd8 Changed debug message on unknown opcode to a warning.
svn-id: r25263
2007-01-29 20:23:27 +00:00
Johannes Schickel
10a3eebe5a Implements opcode 0xFFAA ('Reset Brandon's sprite')
svn-id: r25262
2007-01-29 19:41:52 +00:00
Johannes Schickel
fc5ed85972 little fix for fm-towns sfx.
svn-id: r25261
2007-01-29 18:48:49 +00:00
Johannes Schickel
1bbad356ef - adds support for FM-Towns SFX (thanks to Florian Kagerer for his source)
- gets rid of GameFlags::hasAudioCD

svn-id: r25258
2007-01-29 18:15:14 +00:00
Eugene Sandulenko
93687d376b Add more paramteres to AdvancedDetector. Not used yet.
svn-id: r25241
2007-01-28 07:31:26 +00:00
Johannes Schickel
3a164d63ed Workaround for bug #1582672 ("KYRA1: Text crippled and drawn wrong").
svn-id: r25211
2007-01-26 22:27:59 +00:00
Oystein Eftevaag
7a5284922f Some adjustments to the menu code to better suit longer strings in some language versions, should take care of the issues mentioned in bug [ 1493774 ] KYRA1: Overlapping menu text in spanish version
svn-id: r25208
2007-01-26 21:47:42 +00:00
Johannes Schickel
4cf1c3565b little parameter reodering.
svn-id: r25201
2007-01-26 13:09:48 +00:00
Johannes Schickel
dd5b1e41fb remvoed some unneeded static keywords.
svn-id: r25198
2007-01-26 10:39:30 +00:00
Max Horn
d70c83bd4b Lots of cleanup in the AdvancedDetector
svn-id: r25194
2007-01-25 21:16:57 +00:00
Johannes Schickel
6844eef41a Adds special case in snd_playSoundEffect for CD audio.
svn-id: r25193
2007-01-25 17:47:06 +00:00
Johannes Schickel
b64032810a Adds CD audio support.
svn-id: r25192
2007-01-25 17:43:48 +00:00
Johannes Schickel
f7c6643841 Support for loading the correct EMC pak file in the FM-Towns version.
svn-id: r25190
2007-01-25 14:38:11 +00:00
Johannes Schickel
30b7ac3db5 Adds basic support for the FM Towns version with some restrictions:
- just english playable
 - no audio

svn-id: r25188
2007-01-25 12:52:27 +00:00
Johannes Schickel
48c2b96c26 typo.
svn-id: r25187
2007-01-25 12:09:22 +00:00
Johannes Schickel
934ddb1091 cleanup
svn-id: r25186
2007-01-25 11:34:32 +00:00
Johannes Schickel
1f70013b15 Using 0 flags for null id instead of KYRA2_UNK_FLAGS.
svn-id: r25185
2007-01-25 11:32:50 +00:00
Johannes Schickel
67916d5295 Adding language/platform overwriting removed in r25170 (by accident?)
svn-id: r25184
2007-01-25 11:26:13 +00:00
Eugene Sandulenko
bb3cc79bc6 Reduce #include dependencies
svn-id: r25178
2007-01-25 01:05:25 +00:00
Max Horn
30d517613a Fix typos in some warnings
svn-id: r25171
2007-01-25 00:36:48 +00:00
Max Horn
38ded04da9 Don't invoke AdvancedDetector directly, but rather use ADVANCED_DETECTOR_DETECT_INIT_GAME like the other AD based engines
svn-id: r25170
2007-01-25 00:32:49 +00:00
Max Horn
1986fff67c Merged setupGameFlags into Engine_KYRA_create (removing some obsolete code in the process)
svn-id: r25169
2007-01-25 00:07:48 +00:00
Eugene Sandulenko
318210ad96 Add optional size parameter to ADGameFileDescription. Not used now.
svn-id: r25164
2007-01-24 22:42:44 +00:00
Eugene Sandulenko
edd2422a55 Hide all AdvacedDetector parameters into a structure for easier maintenance
and extensibility

svn-id: r25163
2007-01-24 22:24:52 +00:00
Johannes Schickel
e0aa34bc51 Fixes implementation of o1_updateSceneAnimations.
svn-id: r25149
2007-01-21 14:23:32 +00:00
Eugene Sandulenko
cd8a5f3a98 First phase of detection-related plugins interface improvements. Now plugins
return StringMap instead of fixed list of parameters. This adds great
flexibility.

Current patch should not alter any functionality, i.e. if there are regressions,
submit a report. Phase 2 will benefit from these changes and will come later.

svn-id: r25134
2007-01-20 21:27:57 +00:00
Johannes Schickel
b6b75af524 Completed implementation of o1_restoreAllObjectBackgrounds.
svn-id: r25127
2007-01-20 15:28:03 +00:00
Johannes Schickel
3efe809e83 Fix for language selection.
svn-id: r25071
2007-01-13 10:24:26 +00:00
Johannes Schickel
d61a84e0ab Fix for bug #1631352 ("KYRA1: Graphics heavily broken and ScummVM crash"), I tried memmove here, but it also crashed on Win32 with memmove, so I reverted it back to how it was.
svn-id: r25059
2007-01-09 11:50:22 +00:00
Johannes Schickel
49f773d2f8 Little fix.
svn-id: r25058
2007-01-09 00:33:23 +00:00
Johannes Schickel
965d82ea46 Fix for bug #1586735 ("KYRA1: Sprite not redrawn")
svn-id: r25057
2007-01-08 23:55:14 +00:00
Oystein Eftevaag
ee221cc5df Merging decodeFrameDeltaPage() again and using Fingolfin's template trickery instead
svn-id: r25039
2007-01-06 18:52:30 +00:00
Johannes Schickel
46271f2145 formatting
svn-id: r25038
2007-01-06 18:45:43 +00:00
Oystein Eftevaag
8fbf9a1e23 A few minor fixes and optimizations (biggest one is splitting decodeFrameDeltaPage() into two functions to avoid a high amount of conditional jumps per decided animation frame
svn-id: r25034
2007-01-06 17:11:08 +00:00
Eugene Sandulenko
c01839bbe9 Make ADGameFileDescription is built in directly into ADGameDescription.
svn-id: r24947
2006-12-29 00:03:03 +00:00
Max Horn
6eef02245c Stripped some more real_ prefixes from function names; also added a new FIXME comment to Kyra's setupGameFlags, and did some more cleanup
svn-id: r24899
2006-12-20 00:08:51 +00:00
Max Horn
dc30c2304c Changed Engine_KYRA_detectGames to use ADVANCED_DETECTOR_DETECT_GAMES_FUNCTION, and removed the ADGameDescription::gameid abuse
svn-id: r24898
2006-12-19 23:59:26 +00:00
Max Horn
07c6fa980f Further AdvancedDetector cleanup (in particular, renamed ADGameDescription::name to the more suitable ADGameDescription::gameid)
svn-id: r24895
2006-12-19 23:37:03 +00:00
Max Horn
2969144120 * Simplified code in AdvancedDetector::detectGame
* Removed AdvancedDetector::setFileMD5Bytes, now AdvancedDetector::detectGame
  simply takes the MD5 byte limit as an extra parameter

svn-id: r24894
2006-12-19 23:14:15 +00:00
Max Horn
865d8717a3 * Change the GameList typedef to a proper class with an additional
constructor which takes a PlainGameDescriptor 'list'
* Replaced real_ADVANCED_DETECTOR_GAMEID_LIST by this new constructor
* Removed ADVANCED_DETECTOR_GAMEID_LIST and ADVANCED_DETECTOR_FIND_GAMEID
* Some minor cleanup

svn-id: r24893
2006-12-19 22:43:15 +00:00
Eugene Sandulenko
457ebfea3c Get rif od ARRAYSIZE in ADGameDescription
svn-id: r24882
2006-12-19 04:35:08 +00:00
Eugene Sandulenko
18ce381060 Got rid of ARRAYSIZE in advanceDetector calls
svn-id: r24881
2006-12-19 03:52:04 +00:00
Eugene Sandulenko
88fabf4a53 Move addSpecialDebugLevel calls to engine constructor, as stated in our
HOWTO Engines.

svn-id: r24704
2006-11-13 12:00:36 +00:00
Max Horn
1f26cb8965 Reworked code in the advanced game detector (getting rid of much of the evil #define hell it consisted of previously)
svn-id: r24685
2006-11-12 03:23:29 +00:00
Eugene Sandulenko
a977988058 Next step in AdvancedDetector unification. Moved all common functions to
macroses. Now typical usage is just list of macros with parameters and 
array of game details.

svn-id: r24670
2006-11-10 22:43:10 +00:00
Johannes Schickel
53ba30a3d4 oops add comment about german floppy version details again
svn-id: r24666
2006-11-09 14:42:15 +00:00
Johannes Schickel
7b74adf98d - switches to Common::AdvancedDetector
- non md5 based detector removed (for now)

svn-id: r24665
2006-11-09 14:38:16 +00:00
Johannes Schickel
7ad775fe11 Always stop the audio handle in Sound::voicePlay.
svn-id: r24569
2006-10-29 15:27:03 +00:00
Johannes Schickel
3197cb6a23 Never unload files loat on startup like "CAVE.APK" and "LAGOON.APK".
svn-id: r24485
2006-10-24 00:56:10 +00:00
Johannes Schickel
0d357aab4d Fix for (reopened) bug #1582149 ("KYRA1: Crash when meeting Malcolm").
svn-id: r24480
2006-10-24 00:30:48 +00:00
Johannes Schickel
8fb07286cc Fix for bug #1582726 ("KYRA1: Crash when entering Castle screen").
svn-id: r24475
2006-10-23 23:12:12 +00:00
Johannes Schickel
f0a162e8bb Fix for bug #1582149 ("KYRA1: Crash when meeting Malcolm").
svn-id: r24462
2006-10-22 20:12:27 +00:00
Johannes Schickel
a853696a5e Some AMIGA resource loading code (of course it's still not supported).
svn-id: r24461
2006-10-22 20:08:23 +00:00
Johannes Schickel
e58da07488 Don't output warning about unsupported language more than one time.
svn-id: r24459
2006-10-22 20:04:45 +00:00
Max Horn
b5cbbd705a Added some more const keywords
svn-id: r24330
2006-10-15 02:15:38 +00:00
Johannes Schickel
06dde0650f Fixed msvc8 build.
svn-id: r24053
2006-10-01 10:54:57 +00:00
Max Horn
4c14cf6d1a Moved base/engine.cpp and .h to engines/ (main motivation: helps untangle the linker dependency graph). Porters will have to update project files
svn-id: r23974
2006-09-23 00:42:35 +00:00
Johannes Schickel
f9d1a82cc0 Fixes the Macintosh related problems Krest mentioned on the IRC channel.
(the user has to set the game platform to Macintosh though, since it's
atm detected as DOS version)

svn-id: r23929
2006-09-18 17:30:51 +00:00
Johannes Schickel
f4759feeab formatting
svn-id: r23923
2006-09-17 21:19:23 +00:00
Johannes Schickel
b6a8e38726 - removes the kyra specific language flag system, and uses the language enum defined in Common for that now
- also reworks the game flag system in general

svn-id: r23920
2006-09-17 20:21:40 +00:00
Max Horn
4503581340 Const correctness
svn-id: r23916
2006-09-17 13:06:40 +00:00
Johannes Schickel
a8bc979364 - enables pseudo unloading of loaded pak files (which reduces the loading of pak files on room changes)
- uses Common::hashit_lower instead of scumm_stricmp for filename checking

svn-id: r23896
2006-09-16 20:51:05 +00:00
Max Horn
919092e5fc Overhaul of the debugger code
* Moved Common::Debuggger to GUI::Debugger (mainly to satisfy linker
  restrictions)
* Change the base Debugger class to *not* be a template class anymore;
  instead, a thin (template based) wrapper class is used to hook up
  debugger commands
* Removed duplicate Cmd_Exit and Cmd_Help methods in favor of a single
  version of each in GUI::Debugger
* New Cmd_Help doesn't word wrap after 39/78 chars, but rather queries
  the console to determine when to wrap
* Debugger::preEnter and postEnter aren't pure virtual anymore

svn-id: r23890
2006-09-16 16:58:27 +00:00
Max Horn
a2dc897fe5 Reduce code duplication
svn-id: r23888
2006-09-16 15:01:14 +00:00
Johannes Schickel
250133baf0 Simplifies resource handling for the CD version of Kyrandia.
(also less file loading at startup, but more on room change)

svn-id: r23887
2006-09-16 14:36:53 +00:00
Johannes Schickel
84c2a93db5 Replaces all malloc/realloc usages with new.
svn-id: r23886
2006-09-16 13:40:28 +00:00
Johannes Schickel
e139d26be1 Replaces malloc with new in most cases.
svn-id: r23881
2006-09-16 12:12:02 +00:00
Johannes Schickel
75fd84e85a - adds dirty rect handling to the kyra engine (needs some more tests before I commit it to branch though)
- initializes an uninitiliazied variable which caused crashes from time to time

svn-id: r23878
2006-09-15 16:04:32 +00:00
Torbjörn Andersson
c66ec787d2 Test _skipFlag a bit more often.
svn-id: r23867
2006-09-10 18:44:53 +00:00
Torbjörn Andersson
632a1a3a22 Clear _skipFlag at beginning of Kyra 2 intro. Otherwise, skipping it once will
automatically skip it if you try to watch it a second time. (Are there any
other flags that need to be cleared as well?)

svn-id: r23866
2006-09-10 18:22:27 +00:00
Johannes Schickel
65c0bdcaa0 - Some little checks for shape usage.
- Less redrawing while loading a savegame.

svn-id: r23864
2006-09-10 13:52:17 +00:00
Johannes Schickel
09f7e35196 Little bit cleanup.
svn-id: r23863
2006-09-10 13:26:00 +00:00
Johannes Schickel
854eac7f9b Simplifies PAK file loading a bit.
svn-id: r23862
2006-09-10 13:16:34 +00:00
Max Horn
cfc52b5654 Renamed Resource::fileHandle() to Resource::getFileHandle()
svn-id: r23853
2006-09-09 17:14:47 +00:00
Max Horn
c7ab445755 Get rid of fsnode hack
svn-id: r23852
2006-09-09 17:10:09 +00:00
Oystein Eftevaag
2db1dc882b Ignore mouselock count when switching the cursor graphics, fixing a bug salty-horse reported on irc.
svn-id: r23849
2006-09-09 16:10:11 +00:00
Max Horn
ab82dc3f9c Fix memory leak
svn-id: r23848
2006-09-09 14:54:41 +00:00
Torbjörn Andersson
7bb8ca3ef6 Fixed warning.
svn-id: r23844
2006-09-09 13:07:15 +00:00
Neil Millstone
9f0149c553 Fixed a bug in loadPakFile(), and changed PAKFile constructor so that it doesn't load the entire file.
svn-id: r23843
2006-09-09 12:21:49 +00:00
Torbjörn Andersson
18325259b8 Fixed bug #1554904 ("KYRA1: No mouse cursor in latest SVN build"). GI_KYRA1 is
not a bit flag...

svn-id: r23834
2006-09-09 02:02:45 +00:00
Oystein Eftevaag
f3d284af2e More kyra2 intro WIP stuff (WSA playback control sequences implemented, used in the library part). One more sequence has also been implemented, but is off by default due to the WSA files being used apparently being decoded incorrectly.
svn-id: r23828
2006-09-04 21:50:17 +00:00
Torbjörn Andersson
64aa291a16 Applied my own patch #1549054, after discussing it with LordHoto. This makes
the intro scrolling use constant time, rather than assuming that the screen can
be rendered once every "tick". On my^H^Hslow computers, this makes it a bit
less smooth, but that should be ok.

It also fixes a tiny glitch right after the scrolling.

svn-id: r23811
2006-08-31 17:17:31 +00:00
Johannes Schickel
1ba14890c6 Init unitialised var.
svn-id: r23805
2006-08-29 15:58:57 +00:00
Oystein Eftevaag
610547acac Makes sure FilesystemNode::name isn't used to open a file, use a regular filehandle name instead.
svn-id: r23800
2006-08-28 18:43:35 +00:00
Johannes Schickel
7c99b54b4e Removing an extra '!' in a warning message.
svn-id: r23799
2006-08-28 14:21:23 +00:00
Oystein Eftevaag
d11e72a168 Adds voice/chats to the intro, and adds debug strings to the function calls.
svn-id: r23789
2006-08-27 12:30:38 +00:00
Oystein Eftevaag
c47a957fb3 Adds some framework for the Kyra2 intro, expands it a little bit and adds some static resources (strings, etc). Also
adding a modified version of eriktorbjorn's '[1531929] KYRA: Kyra 2 & 3 main menu unification', with added mouse pointer and sundry.

svn-id: r23766
2006-08-26 22:17:30 +00:00
Oystein Eftevaag
11b7cfca10 Stop doing a screen rewrite on each mouse movement event, just schedule a redraw for later instead
svn-id: r23764
2006-08-26 20:05:49 +00:00
Oystein Eftevaag
a698cdfcfc Catalog the PAK files by base name instead of full path name so we can properly unload them. The method may be slightly hackish, but I don't see how else to do it since we apparently support recursive PAK files so the File object can't be instantiated directly using the FilesystemNode. It's this, or add a function to File that gives us just the base name of the file.
svn-id: r23762
2006-08-26 18:37:49 +00:00
Johannes Schickel
7d0435f23c - adding LPGL headers to adlib sound specific files
- stating about dual license of adlib sound specific files

svn-id: r23708
2006-08-15 18:04:01 +00:00
Johannes Schickel
eee50637b8 Little Common::String usage 'fix'.
svn-id: r23698
2006-08-08 21:34:19 +00:00
Torbjörn Andersson
44dd6a386e Committed my own patch #1533833 (minus one line that was left over from an
earlier experimental version) after discussing it with LordHoto. This works
around a bug in the "Pool of Sorrow" Adlib data which caused the channels to
drift more and more out of sync for each time the music looped. The patch
forces the channels involved to jump in sync. As with all such workarounds, it
may cause regressions. But it shouldn't.

svn-id: r23659
2006-08-03 13:11:16 +00:00
Torbjörn Andersson
e0cd675a47 Since the XMIDI music no longer automatically loops, there's no need to fade it
out just as it's reaching its most dramatic point.

svn-id: r23657
2006-08-03 11:13:06 +00:00
Torbjörn Andersson
6a40e7f789 This is a grossly over-simplified, yet hopefully sufficient for Kyrandia, way
of handling XMIDI loops. If anyone feels like doing it properly in
midiparser_xmidi.cpp, the Exult project probably has one of the better
reference implementations. For now, though, I don't see any real need to, and
this change is clearly flagged as a hack.

svn-id: r23656
2006-08-03 11:12:05 +00:00
Torbjörn Andersson
7d53480025 Kyra 2 has two types of XMIDI files: XMI and C55. It seems C55 are for the
General MIDI instrument set, so use them unless we're in MT-32 mode. This makes
the music sound a bit closer (at least to me) to what DOSbox plays.

svn-id: r23653
2006-08-01 13:42:33 +00:00
Torbjörn Andersson
56c59d1da6 Don't start the Kyra 2 menu music until the first frame has faded up, to better
match the original behaviour.

svn-id: r23652
2006-08-01 10:25:10 +00:00
Torbjörn Andersson
afe26b5ea5 Until the native Kyra 2 Adlib music is supported, enable the automagic MIDI-to-
Adlib converter.

svn-id: r23651
2006-08-01 07:44:38 +00:00
Torbjörn Andersson
c32c7e00c4 Don't set the MIDI volume to 255 at the end of a fade-out. At least on my
hardware, that causes an annoying spike in the volume. We already reset the
volume to 255 at the beginning of a new track anyway, as far as I can tell.

svn-id: r23650
2006-08-01 03:29:32 +00:00
Oystein Eftevaag
ec8f1b092d Committing patch '[ 1531177 ] Kyra2 mock-up' by eriktorbjorn, with the addition of playing the music tracks as well (Only MIDI works for now though)
svn-id: r23649
2006-07-31 23:05:01 +00:00
Johannes Schickel
01b3a0b568 Yet more kyra3 init code.
svn-id: r23648
2006-07-31 16:37:34 +00:00
Max Horn
4a80db4c7b * Added copyright string to all engine plugins
* Modified about dialog to list all available plugins with their resp. copyright
* Modified about dialog credits to show the GPL last (like movie end credits do with their legal text, too)

svn-id: r23645
2006-07-31 13:41:21 +00:00
Max Horn
a1bb64e24b Const correctness
svn-id: r23644
2006-07-31 13:37:47 +00:00
Johannes Schickel
64c6399bd7 removing never used buffer.
svn-id: r23638
2006-07-30 15:05:36 +00:00
Johannes Schickel
3846565058 Implements item shape loading for kyra3.
svn-id: r23637
2006-07-30 14:53:28 +00:00
Torbjörn Andersson
066aa14f97 It's play(), not open(), that encounters the CMDS tag. At least in the intro
movie, which is the only one we currently play.

svn-id: r23626
2006-07-30 09:10:54 +00:00
Johannes Schickel
6cc1a57d3b - fixes bug in fileData (introduced with last commit)
- show mouse cursor in Screen::setMouseCursor if it's allready shown
- a little bit more kyra3 init stuff

svn-id: r23623
2006-07-30 08:22:39 +00:00
Johannes Schickel
92649de672 - fixes copyright of kyra3.h
- implements a bit more init functions for kyra3
- removes hacked mouse cursor
- changes Resource::fileData to accept a null pointer for size

svn-id: r23622
2006-07-30 07:51:11 +00:00
Torbjörn Andersson
f51fc44e66 Added _quitFlag test to Kyra 2 animation and to waitForEvent().
svn-id: r23617
2006-07-29 05:59:44 +00:00
Johannes Schickel
f8d4994dc2 Little cleanup.
svn-id: r23616
2006-07-28 17:42:33 +00:00
Oystein Eftevaag
3c4b13ed33 Moves the kyra2 code to kyra2.cpp and kyra2.h, renames WSAMovieV3 to WSAMovie2 (kyra2 uses the same format), renames a define in kyra3.h for consistency, and adds a case for CMDS in the VQA player to avoid the constant warning (the tag is always present and empty). Credit/blame for the last one goes to Clemmy :). Starting kyra2 will now show the title animation.
svn-id: r23614
2006-07-28 11:42:53 +00:00
Johannes Schickel
a69ac7717d Oops it should never be renamed to c1_* but to o1_* changing this now.
svn-id: r23613
2006-07-27 20:39:52 +00:00
Johannes Schickel
ee5621137f - renaming all opcodes from cmd_* to c1_*
- changing ScriptHelper functions so it will be useable for kyra2 and kyra3 too
- unbreaking savegames (increasing the VERSION number since the game flags table got resized to be useable for kyra3)

svn-id: r23612
2006-07-27 20:30:51 +00:00
Johannes Schickel
8a0ec2a3e5 - moving KyraEngine_v3 declaration to newly added kyra3.h
- implements a little bit init stuff
- implements some music handling

svn-id: r23610
2006-07-27 18:29:14 +00:00
Johannes Schickel
d9e5134919 Workaround for bug #1498221 ("KYRA1: Glitches when meeting Zanthia").
svn-id: r23608
2006-07-27 00:09:13 +00:00
Johannes Schickel
bcc892ec81 Make the midi player threadsafe (this should fix bug #1506583 "KYRA1: Crash on exceeded polyphony").
svn-id: r23605
2006-07-26 22:24:33 +00:00
Torbjörn Andersson
eb7cda50aa Fade out the music when using the Kyra 3 menu to exit. (The original does, and
it might make a useful test case for the fade-out code.)

svn-id: r23604
2006-07-26 20:39:27 +00:00
Torbjörn Andersson
e9f1323221 End the Kyra 3 menu screen if _quitFlag is set.
svn-id: r23603
2006-07-26 20:30:57 +00:00
Torbjörn Andersson
ec6a9b0071 Removed unnecessary #include
svn-id: r23598
2006-07-26 06:36:58 +00:00
Johannes Schickel
d2befe0c6f Skips scroll down sequence then the user wishes to skip the intro.
svn-id: r23596
2006-07-26 05:33:48 +00:00
Johannes Schickel
5ccb436cad Nicer quit handling in the intro sequences.
svn-id: r23594
2006-07-26 05:27:34 +00:00
Johannes Schickel
37d050e9da Add support for looping the kyra3 main menu.
svn-id: r23593
2006-07-25 15:11:42 +00:00
Max Horn
4fcdbb9349 String class usage cleanup
svn-id: r23582
2006-07-23 15:08:48 +00:00
Torbjörn Andersson
b845eb9b99 Initialise the screen before creating the music driver. The MT-32 driver wants
to draw to the screen.

svn-id: r23574
2006-07-23 07:06:26 +00:00
Johannes Schickel
4ae5cef491 - let md5_file accept a FilesystemNode too
- changes some engine detectors to use it

svn-id: r23559
2006-07-22 14:59:44 +00:00
Johannes Schickel
7caf96af6f Changes usage of FilesystemNode::name to FilesystemNode::displayName in the detector code.
svn-id: r23554
2006-07-22 14:28:39 +00:00
Johannes Schickel
eb23d7b9a0 Changing usage of FSNode::displayName to FSNode::path
svn-id: r23549
2006-07-22 00:44:56 +00:00
Johannes Schickel
29f99a029e Using path instead of displayName.
svn-id: r23541
2006-07-20 21:41:59 +00:00
Johannes Schickel
73869dca9f - don't error on CHAPTER1.VRM miss anymore
- nicer error messages when no font files are found
- implements nicer way to load fonts

svn-id: r23531
2006-07-16 19:44:39 +00:00
Johannes Schickel
1a31d7da7e Should fix loading of pakfiles.
svn-id: r23516
2006-07-15 21:22:07 +00:00
Johannes Schickel
1ad8d3ee6e Adds filesize check for kyra.dat, this forces to upgrade always to the newest version though.
svn-id: r23514
2006-07-15 20:46:27 +00:00
Johannes Schickel
ea0e3a806c Get rid of some asserts and adds error messages instead.
svn-id: r23513
2006-07-15 20:37:32 +00:00
Johannes Schickel
d630b3e722 Little cleanup.
svn-id: r23512
2006-07-15 20:32:54 +00:00
Johannes Schickel
04503d462d Use the FS Api to load all .PAK and .APK files. (I just made a few quick tests, but before this should be integrated to branch-0-9-0 there should be a test for it on *every* platform, since I'm not quite sure if FilesystemNode::displayName is useable for this...)
svn-id: r23511
2006-07-15 20:30:36 +00:00
Johannes Schickel
a8e3e929e8 A little cleanup (merges kyra1_games, kyra2_games, kyra3_games into kyra_games)
svn-id: r23510
2006-07-15 20:09:45 +00:00
Johannes Schickel
f5d8055777 Changes names of Kyra2 and Kyra3 detected games.
svn-id: r23509
2006-07-15 20:00:08 +00:00
Torbjörn Andersson
6358547a43 More whitespace changes.
svn-id: r23496
2006-07-14 13:33:58 +00:00
Johannes Schickel
db2ffa4285 Changes init error handling of kyra engine (engine fails at Engine_KYRA_create now instead of KyraEngine::init, also adds check for invalid game path like the scumm
engine does).

svn-id: r23426
2006-07-08 14:51:26 +00:00
Johannes Schickel
abdebd3bfd - fixes some c/p errors from my last commit
- fixes embedded pak loading

svn-id: r23425
2006-07-08 14:25:23 +00:00
Johannes Schickel
57621c9245 Implements loading of 'westwood.001' for kyra3 (no need to run the installer anymore).
(thanks to eriktorbjorn for his code to extract files from westwood.001)

svn-id: r23423
2006-07-08 13:56:56 +00:00
Johannes Schickel
93e9dee0d1 Adds a message dialog if kyra.dat is missing which tells the user to download the kyra.dat file.
svn-id: r23421
2006-07-08 12:23:44 +00:00
Johannes Schickel
ac8607f433 Fixes save/load of kyra engine.
svn-id: r23287
2006-06-24 12:03:30 +00:00
Max Horn
ff15667544 These FIXME comments can go, I think :)
svn-id: r23277
2006-06-24 09:34:24 +00:00
Max Horn
ca2a6d7cd1 Fixing a leak in the Kyra engine (the savefile manager allocated by class Engine was never freed)
svn-id: r23276
2006-06-24 09:29:57 +00:00
Max Horn
9a955180a4 * Renamed config.mak to config.mk
* Renamed common.rules to rules.mk
* Removed explicit declaration of MODULE_DIRS in various spots (instead we let rules.mk compute it)

svn-id: r23275
2006-06-24 08:48:11 +00:00
Max Horn
d210b19aec Move backends/fs/fs.h and .cpp to common/fs/fs.h and .cpp
Rationale: backend implementations belong to backends/, but portable APIs meant to be used by high level code is for common / sound / graphics / ... (compare also with backends/midi vs. sound/mididrv.h)

svn-id: r23274
2006-06-24 08:07:48 +00:00
Oystein Eftevaag
499b5491eb Makes sure updateScreen() is called once in a while in the menu polling loop, to give backends some drawing time for virtual keyboards etc
svn-id: r23169
2006-06-18 10:39:57 +00:00
Johannes Schickel
9dd02260a6 removes _selectedMenuItem again.
svn-id: r22944
2006-06-05 19:43:44 +00:00
Chris Apers
81e0a00966 Fixed PalmOS ARM crashes
svn-id: r22942
2006-06-05 19:33:10 +00:00
Johannes Schickel
8b24dc9bdf wrong palettes should be really fixed now.
svn-id: r22912
2006-06-04 12:30:29 +00:00
Johannes Schickel
c590229796 Should fix strange palettes in some rooms.
svn-id: r22910
2006-06-04 12:16:12 +00:00
Torbjörn Andersson
7b2362702f This hack is no longer needed to make the mouse cursor visible on the Kyra 3
main menu.

svn-id: r22905
2006-06-03 19:43:57 +00:00
Johannes Schickel
392fe0cad1 Don't allow creation of save file when the user quits the game while the intro.
svn-id: r22904
2006-06-03 18:38:36 +00:00
Johannes Schickel
4a6b2a3276 Fixes visible mouse cursor in the intro with classic theme.
svn-id: r22903
2006-06-03 18:34:57 +00:00
Johannes Schickel
35e7eacc3f Changes some char* usage to Common::String.
svn-id: r22902
2006-06-03 18:30:07 +00:00
Johannes Schickel
6cfb416d44 - Replaces usage of PAKChunk* with PAKChunk for Common::List, should solve some strange MSVC6 warnings/(errors).
svn-id: r22900
2006-06-03 17:58:13 +00:00
Johannes Schickel
369e79bfba Implements cmd_fadeEntirePalette, should fix some missing palette fades.
svn-id: r22888
2006-06-03 15:13:18 +00:00
Johannes Schickel
48af506189 Fix for bug # 1497965 ("KYRA1: Skipping dialogue requires two clicks").
svn-id: r22848
2006-06-03 00:30:28 +00:00