Commit Graph

278 Commits

Author SHA1 Message Date
Willem Jan Palenstijn
5a8b81119b Fix free/delete/delete[] mismatches. Patch by salty-horse
svn-id: r44512
2009-10-01 11:02:23 +00:00
Max Horn
8ba75fc522 Fix code formatting (esp. 'if(' -> 'if (' etc., but also indention and other things)
svn-id: r44495
2009-09-30 16:16:53 +00:00
Filippos Karapetis
b4f1960318 Reverted parts of revisions #44298, #44299 and #44300, to prevent warnings and issues in compilers which don't support NORETURN
svn-id: r44314
2009-09-24 17:52:53 +00:00
Filippos Karapetis
6b79910bcb Fixed some more warnings about unreachable code
svn-id: r44300
2009-09-24 10:15:50 +00:00
Johannes Schickel
c50940bbf4 Got rid of Common::File::addDefaultDirectory, instead implemented the solution proposed in "Case agnostic handling for directories (and files)" on -devel.
svn-id: r44266
2009-09-23 00:15:00 +00:00
Joost Peters
e1ad748f0d SWORD2: Don't show a pop-up if the 'eye' movie is missing - it was omitted in later re-releases.
svn-id: r44187
2009-09-18 16:39:14 +00:00
Max Horn
8e28469f1f Coding best practice: Always use enums instead of #defines to define integer constants (for many good reasons)
svn-id: r43881
2009-09-01 13:02:47 +00:00
Joost Peters
2e72ed0f69 remove double semi-colon -- hopefully this kicks the buildbot back into action =)
svn-id: r43388
2009-08-14 23:20:46 +00:00
Max Horn
e9cd07e582 SWORD1 & SWORD2: Replaced ioFailed by err+eos
svn-id: r42912
2009-07-29 21:39:34 +00:00
Torbjörn Andersson
7a6329a29b Broken Sword 2, unsurprisingly, had the same subtitle drawing glitch for small
cutscenes that Broken Sword 1 had. And a memory leak. This should fix both.

svn-id: r42861
2009-07-28 17:53:59 +00:00
Johannes Schickel
7e71865e91 Move the event recorder to its own class (EventRecoder inside common/EventRecorder.[h/cpp]).
svn-id: r42751
2009-07-25 12:59:46 +00:00
Max Horn
a6b57dc3a9 - Added GCC_PRINTF attribute to several funcs where it makes sense
- change some constants from double to float, to avoid "loss of precision due to implicit conversion" warnings
- removed duplicate prototypes for some funcs
- fixed some "increases required alignment of target type" warnings

svn-id: r42009
2009-07-01 20:51:04 +00:00
Eugene Sandulenko
eb909702af Add GUI options support to Sky, Queen and Sword1&2 engines (which do not use AD)
svn-id: r41274
2009-06-06 17:57:39 +00:00
Torbjörn Andersson
0999534749 The error() and warning() functions add ! and newline automatically. (I didn't
look at debug() and debugC(), since I'm really bored with this now. :-)

svn-id: r41061
2009-05-31 10:02:16 +00:00
Max Horn
fb79b18571 Changed SaveFileManager methods to take Common::String params (instead of char pointers)
svn-id: r41000
2009-05-29 14:38:22 +00:00
Fabio Battaglia
c0d13da750 sword2: base psx demo detection on screens.clu, and let the user decide between full and demo version at the time of adding the game
svn-id: r40937
2009-05-27 09:52:32 +00:00
Johannes Schickel
b3c6751b9b Strip trailing whitespaces in the whole code base.
svn-id: r40867
2009-05-24 15:17:42 +00:00
Filippos Karapetis
b7f8990ba8 Renamed the DXA, SMK and FLIC video decoders to reflect the fact that they're decoders, not players
svn-id: r40759
2009-05-21 13:02:56 +00:00
Filippos Karapetis
6ec870303f - Reverted commit #40730, as it introduced rounding errors
- Properly fixed the FLIC player
- The sound chunk tag of DXA files is now read by the DXADecoder's loadFile() method

svn-id: r40736
2009-05-20 10:43:18 +00:00
Torbjörn Andersson
caf9bf0941 Removed the rest of the hard-coded cutscene information. It was only needed to
get the number of frames of a cutscene (to find the "lead out frame"), but this
information is already provided by both the DXA and the SMK players. (It wasn't
provided by the now obsolete MPEG player.)

svn-id: r40735
2009-05-20 04:29:09 +00:00
Torbjörn Andersson
358b1a7c7e Removed the "seamless" flag. It was something I added to cope with the fade
in/out behaviour of the MPEG cutscene player, and no longer seems to be needed.

svn-id: r40734
2009-05-20 04:07:34 +00:00
Filippos Karapetis
e358b13ef9 Changed calculations based on frame delay to be based on the scale of 1ms, not 1/100. This fixes the FLIC player and also makes the overall code a bit clearer and easier to understand
svn-id: r40730
2009-05-19 19:56:53 +00:00
Max Horn
65b5d31814 COMMON: Removed Stream::ioFailed() and clearIOFailed(), as they are deprecated; however, retained ioFailed in SeekableReadStream and File for now (so for now this mainly affects WriteStream subclasses)
svn-id: r40725
2009-05-19 11:42:14 +00:00
Johannes Schickel
f0182121f7 Fix some variable may be used uninitialized warnings.
svn-id: r40528
2009-05-13 18:12:17 +00:00
Eugene Sandulenko
af4d23f762 Const correctness
svn-id: r40346
2009-05-06 09:12:24 +00:00
Fabio Battaglia
0b2e06e4a4 sword2: add support for BS2 PSX demo
svn-id: r39977
2009-04-18 08:37:22 +00:00
Fabio Battaglia
dc9c538a62 Sword2: PSX version support, and GMM loading/saving
svn-id: r39896
2009-04-07 19:52:46 +00:00
Fabio Battaglia
1f299bb24a sword2: added detection for Broken Sword 2 PSX, and a check to say wether pc or psx version is run
svn-id: r39417
2009-03-15 11:36:16 +00:00
Max Horn
e080a59337 Renamed SMKPlayer -> SmackerDecoder and DXAPlayer -> DXADecoder, as well as some other tweaks
svn-id: r39255
2009-03-09 03:45:23 +00:00
Torbjörn Andersson
c73740f2c0 Added comment about a possible FIXME.
svn-id: r39207
2009-03-07 21:38:34 +00:00
Max Horn
f9ecd95d69 Whitespace cleanup: Convert space followed by tab to just tab
svn-id: r39203
2009-03-07 19:24:31 +00:00
Torbjörn Andersson
041af01f7d Don't show a warning dialog for missing cutscenes in the demo. As noted in bug
#2669360, the demo tries to play cutscenes which really aren't there.

svn-id: r39194
2009-03-07 17:27:18 +00:00
Torbjörn Andersson
c252147a40 Don't crash if a cutscene is missing. (Like they are in the demo, for instance.)
svn-id: r39186
2009-03-07 15:29:52 +00:00
Jordi Vilalta Prat
047f116515 Renamed MetaEngine::getCopyright() to getOriginalCopyright() to better match the meaning of the returned string, as discussed some time ago in scummvm-devel
svn-id: r39132
2009-03-05 12:04:58 +00:00
Max Horn
dd98126423 Engines: Fused several init&go methods into a single run method
svn-id: r39003
2009-03-01 04:42:46 +00:00
Max Horn
3fcbda829a Merged Engine::go() and ::init() into a new run() method (currently implemented by calling the existing init&go methods; to be cleaned up by engine authors
svn-id: r39002
2009-03-01 04:30:55 +00:00
Torbjörn Andersson
6e2848ff98 Rewrote the cutscene player to be more like the one in Broken Sword 1. This fixes
a subtitle colour regression, but mainly it simplifies the code. The "dummy"
player has been removed. There are almost certainly regressions, but I'm hoping
it's stable enough for testing now.

svn-id: r38697
2009-02-21 15:07:05 +00:00
Torbjörn Andersson
ab4f1d69ad Since opening a compressed piece of music should no longer be an expensive
operation, we can probably keep the mutex locked throughout the entire
streamCompMusic() function. I'm not convinced that it was ever safe to unlock
and relock it partway through. In fact, that's my prime suspect for bug #2614306
("BS2: noise in music or speech").

svn-id: r38638
2009-02-20 22:47:05 +00:00
Torbjörn Andersson
478257f624 Instead of reading an entire compressed sound into a memory stream, use a
slightly extended SeekableSubReadStream to stream the sound from a file instead.
This change is experimental, so it should almost certainly not go into 0.13.

svn-id: r38637
2009-02-20 22:43:13 +00:00
Filippos Karapetis
781d7da6b1 Applied my patch for the BS1/2 video player
- Support for the MPEG2 videos in BS1/2 has been dropped. The MPEG2 videos were lossy, and support for them complicated the code a lot.
- Support for the non-existing enhanced MPEG cutscene packs for BS1 has been dropped. As a consequence, the credits player and the splitted audio stream players used for these packs has been removed
- The original Smacker videos for both games are now supported, using our Smacker player (which is based off publically available specs and FFMPEG)
- The animations now use the common video player code. Both the Smacker videos and our DXA video packs are supported

svn-id: r38236
2009-02-15 13:29:48 +00:00
Travis Howell
9f2d6d82ca Make the subtitle settings in Options section of the global main menu optional, and enable only for game engines where subtitles settings are synced.
svn-id: r36237
2009-02-07 06:47:19 +00:00
Torbjörn Andersson
7cab911532 Disable the "press c for credits" hotkey (which wasn't in the original anyway)
because of strange rumors about the credits running spontaneously every few
minutes. I don't know if this is a temporary or permanent measure.

svn-id: r36155
2009-01-31 07:57:41 +00:00
Max Horn
abc06ca18e Moved Graphics::PixelFormat into its own header file; turned RGBToColor etc. into methods, and added an operator==
svn-id: r35993
2009-01-22 04:35:10 +00:00
Eugene Sandulenko
696897b058 Whoa! Removing trailing spaces.
svn-id: r35648
2009-01-01 15:06:43 +00:00
Torbjörn Andersson
a0250fe0b1 Replaced the old stack macros with ScummVM's FixedStack class.
svn-id: r35603
2008-12-29 11:55:09 +00:00
Eugene Sandulenko
829cbc4110 Move all video players to separate directory
svn-id: r35470
2008-12-21 21:08:17 +00:00
Travis Howell
9c20a533bb Enable Smacker support, and switch later HE games to Smacker support (since they aren't supported yet).
svn-id: r35368
2008-12-14 23:41:48 +00:00
Torbjörn Andersson
1edc1789b1 Changed readLine_OLD() to readLine_NEW(). I guess both this and the previous
readLine() change could be more robust, but at least it should be no worse than
it was before.

svn-id: r35226
2008-12-03 21:52:51 +00:00
Torbjörn Andersson
a871e01151 Converted the credits scroller to use readLine_NEW() instead of readLine_OLD().
svn-id: r35224
2008-12-03 21:30:41 +00:00
Johannes Schickel
5a0556f09c Committed my patch #2123680 "SDL: Backend transaction / rollback support".
svn-id: r35062
2008-11-14 22:08:10 +00:00
Torbjörn Andersson
926193c9c3 Only hide the cursor for in-game pausing. Pausing from the outside is assumed to
bring up the GUI, which has its own cursor. (This fixes the cursor disappearing
when pausing on one of the engine's own dialog windows.)

svn-id: r34977
2008-11-09 20:35:06 +00:00
Filippos Karapetis
7d8e4ca59b Added a getMaximumSaveSlot() implementation for sword1 and sword2
svn-id: r34969
2008-11-09 19:30:09 +00:00
Torbjörn Andersson
b7991b6ad8 Removed some code that was added earlier to deal with dimming/undimming the
palette when pausing the game in a mid-fade. The game can only be paused in
mid-fade from the outside, and then the palette isn't dimmed/undimmed.

svn-id: r34958
2008-11-09 14:35:45 +00:00
Torbjörn Andersson
d896c892e5 Allow pausing (from the outside) during credits and palette fades. Refactored the
code to distinguish outside pausing from in-game pausing, to avoid cursor-related
problems. The screen is now only dimmed during in-game pausing.

svn-id: r34957
2008-11-09 14:32:24 +00:00
Torbjörn Andersson
2e9e68fc8e Fixed pausing during credits.
svn-id: r34956
2008-11-09 13:50:41 +00:00
Torbjörn Andersson
db3438f2c9 Allow pausing during cutscene movies. (This will need an update to the mixer's
getSoundElapsedTime() function to work better.)

svn-id: r34954
2008-11-09 13:20:43 +00:00
Torbjörn Andersson
18414f0a0a Moved sound-related settings to syncSoundSettings() for the global options dialog.
svn-id: r34947
2008-11-09 11:52:52 +00:00
Max Horn
40136f2590 Switched various Engine APIs to use Common::Error
svn-id: r34916
2008-11-06 17:05:54 +00:00
Max Horn
edf9f24926 Got rid of OSystem::colorToRGB and RGBToColor; added implementations for OSystem::getOverlayFormat to several ports (pending testing by the porters)
svn-id: r34912
2008-11-06 15:02:50 +00:00
Max Horn
f32be87633 Turned enum PluginError into Common::Error, which in the future is to be used in more places. Help with this is highly welcome
svn-id: r34906
2008-11-05 17:24:56 +00:00
Max Horn
fe2935ad4b Got rid of the unused 'filename' attribute in SaveStateDescriptor
svn-id: r34905
2008-11-05 15:41:12 +00:00
Max Horn
61aadb378d Fixed the EngineFeature vs. MetaEngineFeature mess, clarified some EngineFeature comments
svn-id: r34896
2008-11-04 16:11:40 +00:00
Filippos Karapetis
b7a219ebc6 Renamed engine feature kSupportsDirectLoad to kSupportsLoadingDuringStartup, as discussed in patch #2122869
svn-id: r34854
2008-10-26 16:42:08 +00:00
Torbjörn Andersson
dc75da4348 Use the save file manager's listSavefiles() function to find out if any savegames
exist at all. (The old method was to potentially try and open a hundred files,
though it would stop after finding the first one.)

svn-id: r34790
2008-10-13 04:24:18 +00:00
Max Horn
3248906156 Engine class changed:
- Moved initCommonGFX() && GUIErrorMessage() out of class Engine
- got rid of the _autosavePeriod member (this prevented users from
  changing the autosave period during runtime)
- Got rid of an evil 'using GUI::Dialog' statement
- Clarified some Doxygen comments

svn-id: r34720
2008-10-02 17:48:01 +00:00
Max Horn
c7fde102e3 Renamed FilesystemNode -> FSNode
svn-id: r34716
2008-10-02 16:58:59 +00:00
Max Horn
9b160804ab Renamed Engine::quit to Engine::shouldQuit (previously, it was easily confused with Engine::quitGame); also cleaned up engine.h a bit
svn-id: r34700
2008-09-30 12:27:38 +00:00
Max Horn
655ce26b3f Big patch changing the signature of various Stream methods (some ports may need to be slightly tweaked to fix overloading errors/warnings)
svn-id: r34514
2008-09-13 16:51:46 +00:00
Johannes Schickel
0a35842954 Committed my patch #2105593 "Launcher/MetaEngine: Finnished removeSaveState".
svn-id: r34495
2008-09-11 19:47:45 +00:00
Max Horn
2bc093828f Replaced Engine::_gameDataPath (a String) by Engine::_gameDataDir (an FSNode); adapted code to that (by using getChild() to get subdirs, not string concatenation
svn-id: r34434
2008-09-07 22:10:58 +00:00
Torbjörn Andersson
ba07d1dd0a Use readLine() instead of readLine_OLD().
svn-id: r34336
2008-09-04 21:40:32 +00:00
Max Horn
57e724bfc3 Renamed SeekableReadStream::readLine to SeekableReadStream::readLine_OLD; added a new alternate SeekableReadStream::readLine() instead
svn-id: r34315
2008-09-03 17:53:25 +00:00
Max Horn
d3642080de Moved check for shouldRTL() from engines to scummvm_main
svn-id: r34310
2008-09-03 16:56:40 +00:00
Max Horn
531bcf847c Moved FilesystemNode / FSList to namespace Common; also got rid of some 'typedef Common::String String;' name aliases
svn-id: r34302
2008-09-03 11:22:51 +00:00
Christopher Page
ec8dac5540 Added a MetaEngineFeature for RTL support, the RTL button is disabled in the GMM if the engine doesn't support it
svn-id: r33921
2008-08-16 02:53:16 +00:00
Christopher Page
9d3cdcb2da Defined some MetaEngineFeatures for the engines, the launcher uses these features to allow/disallow loading and deleting saves
svn-id: r33909
2008-08-15 18:15:14 +00:00
Christopher Page
4198ee9623 Merged revisions 33188-33189,33191-33193,33196,33198,33202-33203,33206,33210,33212,33218-33220,33222,33224-33226,33229-33243,33246,33248-33250,33252,33258-33261,33263,33266,33270,33272-33283,33285,33287-33290,33295-33298,33321,33325-33330,33332-33335,33337-33340,33342,33345,33347,33349-33350,33352-33357,33359-33367,33369-33371,33373,33375-33377,33379-33380,33383-33385,33387-33389,33392-33394,33400-33402,33404-33405,33407-33410,33412-33416,33418-33419,33425-33427,33432,33436-33438,33444,33446,33452-33453,33455-33459,33463-33464,33466-33471,33473-33474,33478,33490,33492,33495-33496,33509-33512,33518-33519,33522-33527,33529-33530,33537,33541,33544,33546,33550,33552-33554,33556,33558,33561-33562,33565,33568,33570,33574,33576,33578-33581,33584-33587,33590,33596,33604-33611,33614-33615,33617-33618,33620-33621 via svnmerge from
https://scummvm.svn.sourceforge.net/svnroot/scummvm/scummvm/trunk
 

svn-id: r33624
2008-08-04 22:34:07 +00:00
Max Horn
0be985ce83 Changed class File (and derived classes) to only support read-only access; added a new class DumpFile for writing
svn-id: r33412
2008-07-29 16:09:10 +00:00
Christopher Page
cf97920930 Added --list-saves support for SWORD2
svn-id: r33396
2008-07-29 05:05:04 +00:00
Christopher Page
09f4fd946e Merged revisions 33052-33053,33056-33058,33061-33064,33068,33070,33072,33075,33078-33079,33083,33086-33087,33089,33094-33096,33098-33099,33104,33108-33109,33114-33117,33120,33135-33146,33160,33162,33165,33167-33169 via svnmerge from
https://scummvm.svn.sourceforge.net/svnroot/scummvm/scummvm/trunk

svn-id: r33183
2008-07-21 22:46:39 +00:00
Torbjörn Andersson
702e26965c Don't crash if you try to use music file #2 as music file #1. When the music
wasn't found, it would close the file even if something else was already
playing from it. (Some music is in both files.)

svn-id: r33094
2008-07-18 04:16:00 +00:00
Christopher Page
7f480ac571 Quit and RTL code is more modular now. EVENT_RTL no longer sets _shouldQuit, shouldQuit is only set if there's an EVENT_QUIT. EVENT_RTL and EVENT_QUIT are completely separate from each other. Engine::quit() method now checks both _shouldQuit and _shouldRTL to determine if the engine should exit. There is no longer a need for resetQuit(), so it's removed
svn-id: r33082
2008-07-16 04:22:56 +00:00
Christopher Page
796e606971 SWORD2 works with the new GMM implementation
svn-id: r33044
2008-07-13 22:00:39 +00:00
Christopher Page
d2c0b9d003 Sword2 now uses the new _quit flag
svn-id: r32794
2008-06-26 04:54:29 +00:00
Johannes Schickel
73da6ab51e - Removed -Wconversion from compiler options for g++ 4.3, it's behavior has fundamently changed in g++ 4.3
- Added -Wno-empty-body and -Wno-parentheses as compiler flags for g++ 4.3 for *now* (we should think of removing -Wparentheses though)
- Fixed some warnings for g++ 4.3 (only for the engines I'm using)

svn-id: r32540
2008-06-04 17:20:25 +00:00
Torbjörn Andersson
7833dd87a5 Rewrote dimPalette() so that the dimming is now a "filter" between the Screen
class and the backend, i.e. as far as the game engine is concerned the palette
remains unchanged. (This is similar how to the SCUMM engine handles the "noir"
mode in Sam & Max.)

This is one small step towards allowing the game to be paused anywhere.

svn-id: r32369
2008-05-29 20:32:27 +00:00
Torbjörn Andersson
4b06f42ff3 Initial implementation of pauseEngineIntern(). There are issues, though, since
the engine doesn't always allow the game to be paused, and some things (GUI,
movie cutscenes, credits, ...) are outside the main engine loop.

svn-id: r32232
2008-05-23 17:54:47 +00:00
Johannes Schickel
600ab40bca Changed all delete [] usages to delete[].
svn-id: r31927
2008-05-07 14:31:45 +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
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
Torbjörn Andersson
441ec75a71 I think this is slightly easier to read...
svn-id: r30803
2008-02-05 21:39:29 +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
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
Torbjörn Andersson
323aafcf78 The dummy ("narration only") cutscene player misbehaved a bit if the cutscene
soundtrack was present. It should work better now.

svn-id: r30455
2008-01-12 20:18:41 +00:00
Torbjörn Andersson
bd7bef0fe6 Clear the EXIT_CLICK_ID variable when entering a new room. Otherwise, if an
exit warps back to the same room, clicking on the same exit again is
misinterpreted as a double-click, and that only works if we're already walking
towards that exit. Otherwise, the game will hang. This fixed bug #1851502
("SWORD2: Black-out in Forest").

svn-id: r29876
2007-12-16 09:44:04 +00:00
Torbjörn Andersson
35e8a66518 Workaround for bug #1487382 ("SWORD2: Game freezes"). It appears to be a script
bug.

svn-id: r29866
2007-12-16 00:41:30 +00:00