Commit Graph

215 Commits

Author SHA1 Message Date
Christopher Page
27c427add2 Scumm and sky now use the new _quit flag
svn-id: r32775
2008-06-25 03:17:01 +00:00
Christopher Page
0f41f1ccf4 SKY: Fixed a memory leak in SKY engine
svn-id: r32578
2008-06-06 16:40:39 +00:00
Torbjörn Andersson
89e0c0b315 Since BASS treats speech separately from other sounds, let's use the
speech_volume setting for that, as suggested on the forum.

svn-id: r31941
2008-05-08 05:05:47 +00:00
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
d31ca4982e Add support for --list-saves to the sky engine
svn-id: r30987
2008-02-27 16:07:38 +00:00
Max Horn
d4e9661809 Modified the BASS save/load code to use a StringList for storing the save state titles (simplified the code, removed some cruft)
svn-id: r30986
2008-02-27 15:44:39 +00:00
Max Horn
778309ed56 Simplified Control::handleKeyPress and fixed a long-standing bug in the verification of the save name
svn-id: r30981
2008-02-27 11:03:09 +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
Max Horn
015e73b792 cleanup
svn-id: r30777
2008-02-03 18:23:27 +00:00
Torbjörn Andersson
e51bf80218 Changed "COMPATIBLITY" to "COMPATIBILITY".
svn-id: r30754
2008-02-03 10:15:36 +00:00
Jordi Vilalta Prat
c070f0d04f Converted queen and sky to use MetaEngine (forgot them because they don't use the AdvancedDetector).
svn-id: r30752
2008-02-03 09:39:26 +00:00
Jordi Vilalta Prat
d6c34bdc4b Fixed the spaces before tabs.
svn-id: r30667
2008-01-28 00:14:17 +00:00
Jordi Vilalta Prat
66e9d4f5e8 Removed trailing spaces.
svn-id: r30664
2008-01-27 19:47:41 +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
Max Horn
3d46219592 Patch #1689516: BASS: Update the cursor when right-clicking in inventory
svn-id: r30085
2007-12-30 17:58:22 +00:00
Eugene Sandulenko
d4d072fe04 Patch #1857121: Refactoring of the getSavePath method
svn-id: r30032
2007-12-28 07:37:04 +00:00
Gregory Montoir
a34df6e72d add Common::Rect::center (handy for ::setFocusRectangle())
svn-id: r29751
2007-12-07 20:53:06 +00:00
Max Horn
aa034c4e4d This workaround is no longer needed
svn-id: r28980
2007-09-20 08:47:13 +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
Max Horn
c3d3aebe87 Patch #1768757: Merge fsnode-gsoc into trunk (MAJOR change, will break compilation on some ports)
svn-id: r28944
2007-09-18 20:02:04 +00:00
Chris Apers
500481c4ec Cleanup: remove obsolete code (PalmOS 68K version not supported anymore)
svn-id: r28803
2007-09-01 19:13:04 +00:00
David Corrales
9bfe5d5354 Merged the FSNode branch with trunk r27681:27969
svn-id: r27970
2007-07-08 16:58:54 +00:00
Max Horn
e1bcd70436 Re-added __attribute__(packed)
svn-id: r27830
2007-07-01 18:18:43 +00:00
Max Horn
675fc8ab71 Whitespace fix
svn-id: r27762
2007-06-28 19:48:41 +00:00
Willem Jan Palenstijn
1af6b35edb increase mt-32 sysex delay to prevent buffer overflow (see FR#1393726)
svn-id: r27731
2007-06-26 22:33:07 +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
c99515be86 Changed BASS to use more KEYCODEs
svn-id: r27670
2007-06-23 15:40:28 +00:00
Max Horn
05ca0d86ba Converted BASS to use Common::KeyState
svn-id: r27635
2007-06-22 22:18:56 +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
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
Max Horn
d4660cce55 Removing more semicola
svn-id: r26597
2007-04-26 19:08:53 +00:00
Max Horn
00b9bc7b36 Removing lots of superfluous semicola (see mail by David Weinehall on scummvm-devel)
svn-id: r26594
2007-04-25 19:31:23 +00:00
Robert Göffringmann
fb59ee92a2 corrected printf string
svn-id: r26363
2007-04-01 20:06:26 +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
852971cfe6 Fixed a compiler warning about 'unknown conversion type character' (not sure if the statement was meant this way or another, but at least for now I can again compile with -Werror)
svn-id: r26356
2007-04-01 17:13:45 +00:00
Robert Göffringmann
63ff4aa50b Fixed setFocusRectangle code. At least I think I did, I don't know where it came from and I can't test it either. But it looked rather broken.
svn-id: r26335
2007-04-01 00:13:54 +00:00
Robert Göffringmann
2edec11986 improved debugger a bit
svn-id: r26334
2007-04-01 00:00:28 +00:00
Robert Göffringmann
c0ca592d54 fixed graphic glitch when playing the floppy intro with spanish subtitles and added a few comments.
svn-id: r26333
2007-03-31 18:20:52 +00:00
Robert Göffringmann
549e535a97 BASS is not Counter Strike, so redrawing the screen at 70 fps feels a little pointless. It's also more than the average pal tv set can do ;)
svn-id: r26328
2007-03-30 19:13:23 +00:00
Torbjörn Andersson
7a41f19639 Update the screen in escDelay(). Seems to fix some glitches when changing
scaler at certain points in the intro.

svn-id: r26322
2007-03-29 20:06:39 +00:00
Torbjörn Andersson
86a60b633d Fixed long-standing font bug. We were using the control panel font for LINC
space and terminals, and the LINC font for the control panel. Since these fonts
contain different sets of characters, this would often cause the wrong
character to be displayed, particularly in non-English languages. This also
explains why we had to use the "wrong" font for the control panel recently.

The functions to patch the LINC character set (actually the control character
set) should no longer be needed, and have been removed.

Should fix bug #1669564.

svn-id: r26275
2007-03-22 18:49:42 +00:00
Robert Göffringmann
139608f451 Fixed bug #1678349: BASS: music is off, but drum track plays
svn-id: r26219
2007-03-18 17:58:26 +00:00
Torbjörn Andersson
003dfed001 Fixed control panel sliders.
svn-id: r26209
2007-03-18 14:30:26 +00:00
Robert Göffringmann
3f6745a2f4 Applied eriktorbjorn's patch for bug #1657466:
"BASS: wrong music slider behavior"
and did some cleanup.

svn-id: r26208
2007-03-18 14:08:34 +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
Max Horn
478c0644f1 SKY: Changed Control class to use event manager for mouse coord tracking, and also made it respect the SF_MOUSE_LOCKED flag
svn-id: r26177
2007-03-17 16:31:46 +00:00
Max Horn
59064dbef4 SKY: respect the SF_MOUSE_LOCKED flag upon mouse clicks, too
svn-id: r26176
2007-03-17 16:22:51 +00:00
Torbjörn Andersson
c1f4dbda77 Use the new getButtonState() function to test if the mouse button is still
pressed. This way, it won't matter if we've already missed the "mouse up"
event. Fixes bug #1510038 ("BASS: Possible glitch when examining inventory
items".

svn-id: r26162
2007-03-17 09:37:47 +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
f86ca1803b Fixed bug #1507835 (BASS: Control panel text differences from the original)
svn-id: r26136
2007-03-14 20:18:59 +00:00
Max Horn
93e316bec7 Fix for bug #1656880 (BASS: mouse initialized wrong in control panel)
svn-id: r26130
2007-03-14 12:32:42 +00:00
Max Horn
4e5aa19f74 fix warning
svn-id: r26073
2007-03-10 22:49:19 +00:00
Torbjörn Andersson
8d4e8adef3 Let the mixer worry about converting mono to stereo.
svn-id: r26065
2007-03-10 17:39:27 +00:00
Torbjörn Andersson
2c7bf36af8 Close sky.dnr directly after reading it into memory. No need to keep it open
until the Disk object is deleted.

svn-id: r25889
2007-02-26 23:08:52 +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
ee13273fc4 More header fixes for that warm and fuzzy feeling of consistency.
svn-id: r25749
2007-02-20 17:52:55 +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
16e7a12878 Some very obvious cleanups.
svn-id: r25635
2007-02-16 17:13:29 +00:00
Max Horn
4db72c8762 Unified how we deal with (and how we generate) MIDI sysex messages -- in particular, we now always do so w/o framing the message (documented this with a Doxygen comment in the MidiDriver class)
svn-id: r25630
2007-02-16 13:30:41 +00:00
Max Horn
063e09be02 Patch #1656801 (BASS: various control panel fixes), which fixes bug #1548779 (BASS: Control panel inconsistency for FX/Music button texts)
svn-id: r25473
2007-02-10 18:10:55 +00:00
Max Horn
1421a43969 Patch #1543932: BASS: Missing music volume text in v303 french menu
svn-id: r25413
2007-02-07 19:01:37 +00:00
Max Horn
73c3625f1f Fixing various doxygen warnings
svn-id: r25362
2007-02-03 21:37:52 +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
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
Max Horn
b5cbbd705a Added some more const keywords
svn-id: r24330
2006-10-15 02:15:38 +00:00
Joost Peters
bf6ba21d83 commit "fixed regression in BASS adlib music." from 0-9-0 branch to trunk
svn-id: r24204
2006-10-08 12:31:05 +00:00
Max Horn
125d599acc Improved the BASS detector a bit
svn-id: r24084
2006-10-02 22:26: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
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
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
Joost Peters
998d2fe96a Apply patch #1534805 ("BASS: Linc font too wide in version 303")
svn-id: r23714
2006-08-16 20:01:58 +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
Torbjörn Andersson
c32076e5d0 Use #include "..." instead of #include <...> for pack-start.h and pack-end.h
for consistency with other #includes.

svn-id: r23585
2006-07-23 16:13:26 +00:00
Max Horn
2859b64702 Fix struct packing issues (macros are not resolve in #pragma params, at least for GCC)
svn-id: r23569
2006-07-22 17:28:48 +00:00
Johannes Schickel
cfd9977425 Using FilesystemNode::name instead of FilesystemNode::displayName in all game detectors.
svn-id: r23558
2006-07-22 14:50:50 +00:00
Max Horn
f59cf1fcdc Removing GCC_PACK, we fully rely on START_PACK_STRUCTS / END_PACK_STRUCTS now (hiya eriktorbjorn, this one is for you *ggg*)
svn-id: r23547
2006-07-21 21:25:17 +00:00
Torbjörn Andersson
6358547a43 More whitespace changes.
svn-id: r23496
2006-07-14 13:33:58 +00:00
Max Horn
f35f4a4d1c Use START_PACK_STRUCTS / END_PACK_STRUCTS when available, instead of checking for GCC / not GCC
svn-id: r23458
2006-07-09 13:01:15 +00:00
Max Horn
eaff9344a4 Added OSystem::setFocusRectangle (first part of Nintendo DS patch)
svn-id: r23449
2006-07-09 09:40:44 +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
Torbjörn Andersson
b85ed06d79 Match the original behaviour more closely when examining inventory items. The
text is displayed at least 800 ms. See bug #1181865.

svn-id: r23233
2006-06-21 15:05:12 +00:00
Travis Howell
cf0563fe4d Add eriktorbjorn's patch for bug #1507757 - BASS: Odd press sound at beginning
svn-id: r23219
2006-06-21 11:33:40 +00:00
Torbjörn Andersson
08c2e21901 Initialise the control panel's _mouseX / _mouseY. Fixes a Valgrind warning.
svn-id: r23212
2006-06-21 06:17:36 +00:00
Torbjörn Andersson
ff38faa21d The stopMusic() function (which is publicly accessable from the outside) now
locks the mutex to avoid pulling the proverbial rug out from beneath the timer
callback's proverbial feet. To stop the music when the mutex is already locked,
we use stopMusicInternal(), which is a protected function. This will hopefully
fix the crash on exit which has happened to me every few months.

svn-id: r23159
2006-06-17 15:54:40 +00:00
Torbjörn Andersson
8062eb6ec3 Set and show/hide mouse cursors through a "cursor manager" (analogous to the
recently added (cursor) palette manager) so that the cursor can be properly
restored after returning from the GUI.

If there's any C++ magic that can keep the backend functions from being called
by anything else than these managing classes, that would probably be a good
idea. Also, since the cursor manager keeps a copy of the cursor image, perhaps
there are at least some backends that will no longer need to?

svn-id: r22639
2006-05-25 22:51:42 +00:00
Max Horn
84b2a4f76f It's wrong to assume a given file is located in gameDataPath, so do not use that to print out warnings that pretend otherwise
svn-id: r22272
2006-05-01 22:27:56 +00:00
Max Horn
27307acd7c Moved the AudioCDManager as well as class AudioStream and its (standard) subclasses to namespace Audio
svn-id: r22231
2006-04-29 22:33:31 +00:00
Torbjörn Andersson
ac0ae13bee Fixed bug #1478911 ("BASS regression: garbled text") by making skipBytes uint16
instead of uint8. (It used to be uint32, but anything that can hold 0x03F8
should be large enough.)

svn-id: r22230
2006-04-29 17:50:15 +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
Joost Peters
ac1ce25512 add missing comma for portuguese quit text, remove stray comma after last string.
svn-id: r22187
2006-04-26 22:31:10 +00:00
Max Horn
8fdcfedf19 Do not call static class methods as if they were instance methods
svn-id: r22172
2006-04-26 08:34:01 +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
856b1b0bf4 Do not override the 'directory' param when dumping BASS resources
svn-id: r21936
2006-04-16 12:39:59 +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
2c3e1fe4ea Fixing mismatch between format strings and data on some systems
svn-id: r21828
2006-04-12 14:54:31 +00:00
Jonathan Gray
eb3ae7d726 sizeof(void *) != sizeof(int) for a large number of systems.
Fix a lot of debug/error statements that were using %d/%x
for the result of pointer arithmetic.

As C++ apparently has no format string for ptrdiff_t use
%lu/%lx as appropriate.

svn-id: r21824
2006-04-12 10:01:41 +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
Eugene Sandulenko
8fa9bd6728 Removed extra exclamation marks in warning() calls as well.
svn-id: r21608
2006-04-04 22:21:10 +00:00
Eugene Sandulenko
d292c0ec55 Since our debug() adds an exclamation mark at the message end, remove
it in several calls to avoid duplication!!11!

svn-id: r21607
2006-04-04 22:04:51 +00:00
Max Horn
361572af2c Patch #1432378: BASS: Memory leak, patch included
svn-id: r21523
2006-04-01 11:25:08 +00:00
Max Horn
8cdee5a931 Do not #include endian.h in scummsys.h (cuts down deps on endian.h from ~400 to ~250). Many greetings to eriktorbjorn, and have fun recompiling.
svn-id: r21500
2006-03-29 15:59:37 +00:00
Torbjörn Andersson
d8004bff51 Added support for mouse wheel scrolling in save/restore dialog.
svn-id: r21459
2006-03-26 06:22:41 +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
d9a9fac937 Fixed tons of format string warnings for debug/error calls (including several errors where the format string didn't match the number of arguments to the call)
svn-id: r21141
2006-03-08 11:37:25 +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
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
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
Max Horn
be068cf6f3 The GameDetector is no longer a required parameter for Engine constructors
svn-id: r20590
2006-02-12 01:42:34 +00:00
Max Horn
80cf2fa46f Reduced data duplication in module.mk files; added module.mk files for null and x11 backends; added engines/module.mk
svn-id: r20584
2006-02-12 00:16:31 +00:00
Max Horn
26ee630756 Moved engines to the new engines/ directory
svn-id: r20582
2006-02-11 22:45:04 +00:00