Commit Graph

215 Commits

Author SHA1 Message Date
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