Commit Graph
51 Commits
Author SHA1 Message Date
Jordi Vilalta Prat 38a8aa516e Allow static and dynamic plugins to be used at the same time
svn-id: r31888
2008-05-06 03:00:26 +00:00
Max Horn 88bb567e18 Merged lots of _mixer->isReady() warnings into a single one in Engine constructor
svn-id: r30871
2008-02-15 17:01:35 +00:00
Jordi Vilalta Prat c103290e2b Initial support for plugin types
svn-id: r30825
2008-02-08 00:02:23 +00:00
Max Horn 8a73356a2d Revised Engine plugin API to only provide a single func which returns a MetaEngine instance. Used this to simplify the rest of the plugin system
svn-id: r30780
2008-02-03 18:56:47 +00:00
Torbjörn Andersson e51bf80218 Changed "COMPATIBLITY" to "COMPATIBILITY".
svn-id: r30754
2008-02-03 10:15:36 +00:00
Max Horn dc979b03cf New MetaEngine class (work in progress to replace the current Engine plugin API with a more object oriented approach)
svn-id: r30726
2008-02-02 00:54:52 +00:00
Eugene Sandulenko 77eea722af Modified patch #1738058: "Action recorder".
svn-id: r28968
2007-09-19 13:55:05 +00:00
Nicola Mettifogo 258901bab9 Merged common/stdafx.h into common/scummsys.h. All referencing files have been updated.
svn-id: r28966
2007-09-19 08:40:12 +00:00
David Corrales cacd7a28fd Merged the FSNode branch with trunk r27031:27680
svn-id: r27681
2007-06-23 18:51:33 +00:00
Max Horn a041ef2317 Slightly updated key handling in BS2, Kyra, and Touche
svn-id: r27637
2007-06-22 23:03:12 +00:00
Torbjörn Andersson db8e5332fc Use the KEYCODE constants.
svn-id: r27593
2007-06-21 19:33:05 +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
Max Horn 22c0403e0d Re-added Revolution Software copyright to BS2 engine
svn-id: r27030
2007-05-31 20:28:29 +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
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
Torbjörn Andersson 48cb57ec89 Let the event manager keep track of the mouse position.
svn-id: r26205
2007-03-18 12:53:28 +00:00
Torbjörn Andersson ecf976b5ea Oops.
svn-id: r26191
2007-03-18 08:58:25 +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
Max Horn f31d438a64 SWORD2: Enhance the detector to recurse into the 'clusters' directory, making it possible to detect & run BS2 from (a straight copy of) the CD
svn-id: r25490
2007-02-11 13:02:50 +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
Torbjörn Andersson 85b780baf1 Use FRAMES_PER_SECOND, not getFramesPerSecond(), to calculate the number of
frames before a sound effect is triggered. This is not dependent on _gameSpeed.

svn-id: r24971
2007-01-03 07:56:24 +00:00
Torbjörn Andersson 6496482de5 Added experimental "fast mode" for Broken Sword 2. (Use Ctrl-f to toggle.)
svn-id: r24970
2007-01-03 07:36:44 +00:00
Max Horn 8d37c135c0 Since we now generate warnings/messages for engine instantiation failures in a central place, get rid of such messages printed by engines
svn-id: r24686
2006-11-12 03:26:44 +00:00
Torbjörn Andersson b1434f2632 Fixed regression caused by recent debug console cleanup. The key stroke that
invoked the debug console would repeat after the console was closed. Another
example why keyboard repeat should be centralized, I guess...

svn-id: r24649
2006-11-07 20:30:39 +00:00
Max Horn 651d22b873 * Added virtual Engine::getDebugger() method
* Removed code from errorString() methods that hooked the debugger(s)
  into error(), in favor of using getDebugger() from within error()
* As a consequence, removed most custom errorString() methods

svn-id: r23894
2006-09-16 19:31:23 +00:00
Torbjörn Andersson d4d2146a0a Run the game detector before creating the engine. This is based entirely on a
recent change to the CINE engine (which in turn was based on some other engine,
I forget which), and should fix bug #1544796. Of course, given how primitive
the Broken Sword 2 detector is, it's easy to fool it. There isn't really any
need for it to be smart, though.

svn-id: r23741
2006-08-23 04:26:01 +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
Johannes Schickel e5934c8f21 Using FilesystemNode::name instead of FilesystemNode::displayName in the sword2 detector code too.
svn-id: r23557
2006-07-22 14:39:54 +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
Torbjörn Andersson e06ee0c490 We already have a default setting for subtitles, so this shouldn't be needed.
svn-id: r22704
2006-05-28 08:16:07 +00:00
Max Horn b727a89b6c Set speech_mute/sfx_mute/music_mute values in one single central place
svn-id: r22342
2006-05-04 21:14:50 +00:00
Max Horn bf73598811 * Changed the createEngine() factory function of our plugins to return an error code (the engine is now passed indirectly via a double pointer)
* Removed Engine_Empty (obsolete now that engines can return actual error codes)

svn-id: r22199
2006-04-29 00:27:20 +00:00
Torbjörn Andersson 2cbcd49893 If the resource manager fails to initialize itself properly, instead of
printing a fatal error, use the new GUIErrorMessage function and return to
the launcher. Also, verify that all files that should be present on "CD 0"
(i.e. on the hard disk) are present at startup, at least. (Any other missing
CLU file is already requested with an "Insert CD" message.)

svn-id: r22168
2006-04-26 06:12:03 +00:00
Max Horn 74edd90aba Fix for bug #1471383: Instead of overloading ConfigManager::set, we now have new setInt and setBool methods (matching getInt/getBool), which avoids strange quirks & bugs caused by (char *) being implicitly cast to int (ouch)
svn-id: r21951
2006-04-16 19:23:14 +00:00
Max Horn 68cb7f52c8 - Renamed ConfigManager::getActiveDomain to getActiveDomainName, and added a new getActiveDomain method that returns a pointer to the actual active *domain*
- Added Engine::_targetName whose value is computed from the name of the active domain
- Removed GameDetector::_targetName, instead code now uses either Engine::_targetName or the name of the active domain
- This in turn allowed for removing usage of GameDetector in many places

svn-id: r21916
2006-04-15 20:36:41 +00:00
Max Horn ad45318328 Removed GameDetector::_gameid in favor of using a config manager entry
svn-id: r21915
2006-04-15 17:39:14 +00:00
Max Horn e7a8bb6abf Modified the REGISTER_PLUGIN macro so that it allows (and requires) a trailing semicolon (this helps certain tools to parse our code better)
svn-id: r21689
2006-04-08 12:06:07 +00:00
Max Horn 8cf8acfd63 Renamed various *GameSettings to GameSettings (our namespaces are enough to distinguish them)
svn-id: r21686
2006-04-08 11:21:04 +00:00
Max Horn 86565fcca5 - Renamed GameSettings to PlainGameDescriptor
- Added new GameDescriptor struct (similar to PlainGameDescriptor but with
  Common::String members instead of const char * ones)
- Changed DetectedGame to subclass GameDescriptor
- Removed toGameSettings() in favor of new (template) constructors in
  DetectedGame and GameDescriptor
- Fixed a bug in the obsolete gameid handling in the SCUMM & SIMON engines

svn-id: r21150
2006-03-09 02:52:51 +00:00
Max Horn d2f78184af - added new toDetectedGame() template function (analog to toGameSettings)
- made use of the new DetectedGame constructor from my last commit
- some related cleanup

svn-id: r21149
2006-03-09 01:42:56 +00:00
Max Horn 907bd7128d Fix for bug #1438822 (Targets are case sensitive)
svn-id: r21017
2006-03-02 22:29:01 +00:00
Max Horn 01fc7034b5 - Merged GameDetector::detectGame() into GameDetector::detectMain()
- Replaced GameSettings GameDetector::_game by a simple gameid string

svn-id: r20753
2006-02-18 12:50:48 +00:00
Max Horn 8ac17430ac - renamed PLUGIN_getSupportedGames to PLUGIN_gameIDList for consistency
- renamed Engine_XXX_gameList to Engine_XXX_gameList for consistency
- added new Engine_XXX_findGameID / PLUGIN_findGameID function
- updated plugins code to take advantage of the new plugin API, to support
  obsolete gameids w/o showing them to the user

svn-id: r20752
2006-02-18 11:15:37 +00:00
Max Horn 81798556db - Removed the 'features' field from GameSettings
- Removed GF_DEFAULT_TO_1X_SCALER

svn-id: r20747
2006-02-18 00:12:36 +00:00
Torbjörn Andersson 002c587965 Removed includes from sword2.h so that (hopefully) there will eventually be
less dependencies.

svn-id: r20741
2006-02-17 15:07:36 +00:00
Max Horn 7967e30c73 Added global toGameSettings() template function for convenience; simplified GameSettings usage in some engines
svn-id: r20739
2006-02-17 00:22:53 +00:00
Max Horn a96760a2fd Reduced use of GF_DEFAULT_TO_1X_SCALER in favor of a new param to Engine::initCommonGFX; added a TODO stating that it should eventually be removed completly
svn-id: r20738
2006-02-17 00:01:18 +00:00
Torbjörn Andersson 2ec8584828 Renamed files for consistency with other engines:
build_display  -> screen
    save_rest      -> saveload

More to come, no doubt.

svn-id: r20651
2006-02-12 19:33:45 +00:00