Commit Graph

116 Commits

Author SHA1 Message Date
Nicola Mettifogo
008042ac25 Implemented a IFF (Interchange File Format) parser and added subclasses to parse graphics (ILBM, PBM) and audio (8SVX), thus replacing old decoding routines. SAGA and Parallaction have been adjusted to work with the new code.
svn-id: r26719
2007-05-01 15:39:40 +00:00
Max Horn
60aec5b9f1 SAGA: Moved displayinfo stuff into its own header file
svn-id: r26635
2007-04-27 23:11:12 +00:00
Max Horn
030cd2c02a Some tweaks to saga/detection_tables.h
svn-id: r26633
2007-04-27 22:39:31 +00:00
Max Horn
3924a2587f Renamed sagagame.cpp -> detection_tables.h; merged sagagame.h into saga.h
svn-id: r26632
2007-04-27 22:35:05 +00:00
Max Horn
fbc2f89b08 Renamed some game.cpp files to detection.cpp
svn-id: r26623
2007-04-27 20:26:54 +00:00
Eugene Sandulenko
28e721836a Slighty modified patch #1704979: "Fix for #1690045: ITE: Item description missing"
svn-id: r26558
2007-04-21 21:29:52 +00:00
Eugene Sandulenko
b1e79b9253 More meaningful error message
svn-id: r26557
2007-04-21 21:23:26 +00:00
Max Horn
624b57db3a oops, openStreamFile of course uses milliseconds, not frames, for the playback offsets/durations
svn-id: r26475
2007-04-14 18:44:15 +00:00
Max Horn
22f325af94 Removed some leftovers
svn-id: r26474
2007-04-14 17:42:51 +00:00
Max Horn
943656ab63 Replaced the use of DigitalTrackInfo objects (which were being leaked, BTW) with a call to openStreamFile (code completely *untested*, so it might not work properly yet). Note the new FIXME comment regarding the playback duration
svn-id: r26473
2007-04-14 17:35:28 +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
Max Horn
94739cdbca SAGA: Make use of EventManager::getMousePos
svn-id: r26223
2007-03-18 18:45:36 +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
Eugene Sandulenko
11aafd1685 Fix looping for enchanced soundtracks.
svn-id: r25855
2007-02-25 14:34:21 +00:00
Max Horn
65b30d84a8 Added numLoops parameter to DigitalTrackInfo::play
svn-id: r25836
2007-02-24 23:19:53 +00:00
Torbjörn Andersson
09ad4f1a87 Renamed SAGA_xxx_H_ to SAGA_xxx_H for consistency.
svn-id: r25726
2007-02-19 17:30:43 +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
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
Max Horn
4968e912ce AdvancedDetector changes:
* Renamed genGameList to gameIDList to make it match the corresponding
  plugin API function name
* removed the detectFunc param from detectGameForEngineCreation,
  as it *always* pointed to a straight wrapper around AdvancedDetector::detectAllGames
* as a consequence, removed the various GAME_detectGames functions from the
  engines, and removed the detectFunc param from ADVANCED_DETECTOR_DEFINE_PLUGIN

svn-id: r25547
2007-02-13 14:55:11 +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
2afe07992f Renamed kADFlagComplexID to kADFlagAugmentPreferredTarget, document it, and add it for AGOS, too
svn-id: r25543
2007-02-13 13:17:46 +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
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
cb49cbdd45 * Reimplemented Mixer::pauseAll to simply invoke pause on all channels
(implying change of semantics)
* Reordered the params of Mixer::playRaw (the SoundType now comes first, not last)
* Removed Mixer::isPaused
* Removed Mixer::getSoundElapsedTimeOfSoundID
* Added some doxygen comments to the Mixer

svn-id: r25356
2007-02-03 19:05:53 +00:00
Gregory Montoir
7e5a0b05b5 warnings
svn-id: r25284
2007-01-30 20:20:05 +00:00
Eugene Sandulenko
adcfd2cc5f Now AdvancedDetector could use single ID per engine. Also it can suggest
more complex game IDs with platform and language specified.

AGI engine benefits most from that.
Also turned Cine, Parallaction and SAGA to single ID, autoupgrading old ID.

svn-id: r25269
2007-01-29 23:25:51 +00:00
Eugene Sandulenko
93687d376b Add more paramteres to AdvancedDetector. Not used yet.
svn-id: r25241
2007-01-28 07:31:26 +00:00
Max Horn
d70c83bd4b Lots of cleanup in the AdvancedDetector
svn-id: r25194
2007-01-25 21:16:57 +00:00
Eugene Sandulenko
bb3cc79bc6 Reduce #include dependencies
svn-id: r25178
2007-01-25 01:05:25 +00:00
Eugene Sandulenko
6eb9f41e68 Use file sizes in detection too.
svn-id: r25172
2007-01-25 00:37:12 +00:00
Eugene Sandulenko
3d8e290f3c Sync with last AdvancedDetector changes
svn-id: r25167
2007-01-24 23:13:00 +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
d3b0ff8ade Reduce dependency from common/advancedDetector.h
svn-id: r25156
2007-01-21 20:24:38 +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
Eugene Sandulenko
c01839bbe9 Make ADGameFileDescription is built in directly into ADGameDescription.
svn-id: r24947
2006-12-29 00:03:03 +00:00
Max Horn
559f2b62eb Renamed real_ADVANCED_DETECTOR_DETECT_GAMES_FUNCTION to ADVANCED_DETECTOR_DETECT_GAMES_FUNCTION, and real_ADVANCED_DETECTOR_DETECT_INIT_GAME to ADVANCED_DETECTOR_DETECT_INIT_GAME
svn-id: r24896
2006-12-19 23:57:04 +00:00
Max Horn
d8d32812c8 Merged SagaEngine::postInitGame() into SagaEngine::initGame()
svn-id: r24887
2006-12-19 13:50:34 +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
Gregory Montoir
fcef47947e Got rid of an 'unused variable' warning
svn-id: r24792
2006-11-27 00:49:59 +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
Eugene Sandulenko
9b28b7473c Workaround for bug #1259608: "ITE: Riff ignores command in Ferret merchant
center"

svn-id: r24664
2006-11-09 13:19:23 +00:00
Gregory Montoir
f9cf368a67 got rid of two memory leaks
svn-id: r24589
2006-11-03 21:01:49 +00:00
Max Horn
7889783cac const correctness
svn-id: r24488
2006-10-24 09:44:20 +00:00
Max Horn
07f7761479 Backend modularization: Create timer manager, savefile manager and audio mixer in the backends for increased flexibility
svn-id: r24443
2006-10-22 15:42:29 +00:00
Max Horn
9edf1e6a1a cleanup
svn-id: r24407
2006-10-21 12:44:10 +00:00
Eugene Sandulenko
1e0f2f6d1b Remove unneeded #includes.
svn-id: r24311
2006-10-14 13:22:47 +00:00