Commit Graph

330 Commits

Author SHA1 Message Date
Johannes Schickel
a725b490e8 Fix shadow member of this warnings of gcc.
svn-id: r48355
2010-03-21 12:36:57 +00:00
Paul Gilbert
05922881cb Added framework for displaying game dialogs
svn-id: r48353
2010-03-21 10:51:11 +00:00
Paul Gilbert
b2b7a08cc2 Beginnings of hooking up the new logic for current action display
svn-id: r48298
2010-03-19 09:19:23 +00:00
Max Horn
c934642bdb COMMON: Move typedef StringList from str.h to new header str-array.h
This removes the dependency on array.h from str.h.
Also, begun migration from the confusing type name "StringList" to
the more appropriate StringArray.

svn-id: r48282
2010-03-18 15:09:24 +00:00
Max Horn
d78dba3bca COMMON: Move Common::RandomSource to common/random.*
svn-id: r48279
2010-03-18 15:07:11 +00:00
Paul Gilbert
730405f975 Further code implemented for the current action display
svn-id: r48266
2010-03-16 08:26:08 +00:00
Paul Gilbert
404088f58b Further separation of MADS and M4 scene logic
svn-id: r48257
2010-03-14 05:47:33 +00:00
Paul Gilbert
77c821249e Further work on separating M4 specific scene code into the m4_scene.cpp file
svn-id: r48256
2010-03-14 05:39:47 +00:00
Paul Gilbert
ca64698408 Split up the SceneResources class into a generic common set, with specific versions each for M4 and Mads, and merged the MadsSceneInfo data into it
svn-id: r48223
2010-03-10 11:43:48 +00:00
Torbjörn Andersson
65585f6433 Silenced some harmless cppcheck warnings about unreachable code after a return.
In this case, it was always a break after a return in a switch case. There are
similar cases which cppcheck didn't detect, and a couple of cases where we have
a break after a continue in a switch case (where the continue refers to an
outer loop), but I didn't touch those. Not yet, at least.

svn-id: r48218
2010-03-10 06:39:23 +00:00
Paul Gilbert
7f57001e17 Split up the scene.cpp file into separate files for M4 and MADS specific scene code and support classes. Also have started adding code for textual display and proper current action display
svn-id: r48172
2010-03-07 05:06:58 +00:00
Johannes Schickel
576f0b9a66 Fix gcc warning.
svn-id: r48151
2010-02-28 01:35:34 +00:00
Paul Gilbert
2881a8c057 Implemented loading of the Rex Nebular walkable areas
svn-id: r48150
2010-02-28 01:07:25 +00:00
Paul Gilbert
75a0022dff Beginnings of code for scene info loading
svn-id: r48143
2010-02-27 05:30:53 +00:00
Yotam Barnoy
ef330ed9b4 Patch for bug 2943361 by littleboy, adding full kb modifier support to all engines + GUI and proper keypad handling
svn-id: r48101
2010-02-21 04:04:13 +00:00
Paul Gilbert
6969b5ebe6 Implemented some of the sprite animations loading logic for the first scene (no display yet)
svn-id: r48099
2010-02-21 01:18:03 +00:00
Paul Gilbert
bf82639c04 Implemented player sprite loading portion of scene enter code
svn-id: r48076
2010-02-17 11:37:17 +00:00
Paul Gilbert
52c2abba96 Added the beginnings of scene set-up logic
svn-id: r48039
2010-02-13 11:49:18 +00:00
Paul Gilbert
1b877ceb5b Added command variation for dumping quotes and vocab
svn-id: r48038
2010-02-13 11:45:54 +00:00
Willem Jan Palenstijn
005cdeb830 Fix warning
svn-id: r48031
2010-02-10 12:36:46 +00:00
Paul Gilbert
3415cae9ad Separated scene info console method between M4 and MADS classes, and cleaned up the message method
svn-id: r48030
2010-02-10 11:11:31 +00:00
Paul Gilbert
a435237a38 Bugfix for crash when view gets focus based on a key event
svn-id: r48029
2010-02-10 11:03:04 +00:00
Paul Gilbert
9c178c2d3a Formatting corrections to conform to ScummVM formatting guidelines
svn-id: r47733
2010-01-31 00:47:29 +00:00
Paul Gilbert
dc8ff8c9d4 Further work on separating the scene logic for MADS and M4
svn-id: r47732
2010-01-31 00:42:47 +00:00
Paul Gilbert
3d1a43bc54 Worked on separating scene logic into separate classes for M4 and MADS
svn-id: r47728
2010-01-30 23:03:07 +00:00
Johannes Schickel
a505d32eff Replace use of Audio::makeRawMemoryStream by Audio::makeRawStream.
svn-id: r47716
2010-01-30 15:26:54 +00:00
Paul Gilbert
3285a4ba4d Beginnings of a separation of the MADS and M4 engines into separate classes. This will be cleaner then having checks everywhere for whether the game mode is MADS or M4.
svn-id: r47705
2010-01-30 09:21:07 +00:00
Max Horn
1565f14bc1 Moved audio stream implementations (for MP3, FLAC, etc.) to new dir sound/decoders/
svn-id: r47579
2010-01-26 22:48:45 +00:00
Johannes Schickel
aed02365ec Strip trailing spaces/tabs.
svn-id: r47541
2010-01-25 01:39:44 +00:00
Max Horn
4b996e7de7 Reorder params to Audio::makeRawMemoryStream
svn-id: r47492
2010-01-23 23:55:35 +00:00
Torbjörn Andersson
4818467908 Silenced some more cppcheck warnings. Some of these may seem silly, but the way
I figure it the changes are harmless at worst, and making them will make it
easier to find real errors in the (still quite long) list of warnings.

svn-id: r47443
2010-01-22 19:05:02 +00:00
Max Horn
cebaa0b0d3 Started to get rid of Audio::FLAG_LOOP
svn-id: r47397
2010-01-19 23:50:33 +00:00
Max Horn
dc5e08e623 Move raw audio flags from sound/mixer.h to sound/raw.h
svn-id: r47395
2010-01-19 22:30:33 +00:00
Torbjörn Andersson
428f8d6955 Fixed some cppcheck warnings.
svn-id: r47393
2010-01-19 20:41:51 +00:00
Max Horn
b227c660c6 Remove loop start/end params from Mixer::playRaw; convert some code from Mixer::playRaw to Mixer::playInputStream
svn-id: r47375
2010-01-19 11:20:58 +00:00
Max Horn
557bb394de Get rid of Mixer::FLAG_AUTOFREE.
Also fix several recently introduced new/delete vs. malloc/free mismatches.

svn-id: r47369
2010-01-19 00:56:29 +00:00
Max Horn
b8f2a3a342 cleanup
svn-id: r47333
2010-01-16 21:34:36 +00:00
Johannes Schickel
0d995c5920 Rename all "Adlib" uses to "AdLib" to match the real name of the sound card / company.
Check this for reference:
http://en.wikipedia.org/wiki/Ad_Lib,_Inc.
http://www.crossfire-designs.de/images/articles/soundcards/adlib.jpg (note the upper left of the card)

This commit does not touch "adlib" and "ADLIB" uses!

Also it does not update all the SCUMM detection entries, which still use "Adlib".

svn-id: r47279
2010-01-12 21:07:56 +00:00
Max Horn
0cf53b025d Move DisposeAfterUse::Flag from Common to global namespace, and into a new header common/types.h
svn-id: r47180
2010-01-08 22:07:35 +00:00
Torbjörn Andersson
72eb9ec9ea Fixed a bunch of cppcheck warnings. Mostly about checking if a pointer is null
before freeing it, which isn't necessary.

svn-id: r46941
2010-01-03 19:37:43 +00:00
Paul Gilbert
5c732e00ee Started implementation of the original game's cheat mode
svn-id: r46425
2009-12-20 07:10:32 +00:00
Paul Gilbert
b729218bb6 Changed the M4 event handler to encode the keyboard flags into KEVENT_KEY events
svn-id: r46424
2009-12-20 07:09:40 +00:00
Paul Gilbert
63350a0ecc Further implementation of dialog/message script language
svn-id: r46418
2009-12-19 05:47:31 +00:00
Paul Gilbert
ae50fdca72 Added an extra assert
svn-id: r46417
2009-12-19 05:46:26 +00:00
Paul Gilbert
575308cea7 Implemented basic message parsing
svn-id: r46402
2009-12-17 07:55:08 +00:00
Paul Gilbert
d10bb1036e Implemented the rendering section of dialog display
svn-id: r46338
2009-12-12 11:59:38 +00:00
Torbjörn Andersson
22ca0c1e92 Renamed line() to drawLine() to silence warning about function parameters in
dialogs.cpp shadowing it. Actually, the function doesn't seem to be used
anywhere at the moment, but perhaps someone has future plans for it?

svn-id: r46331
2009-12-11 17:14:55 +00:00
Paul Gilbert
724d698a05 Beginnings of a dialog display class
svn-id: r46330
2009-12-11 09:41:27 +00:00
Max Horn
c8873d8492 Changed MidiDriver::createMidi to take a MidiDriverType instead of an int
svn-id: r46316
2009-12-09 18:12:51 +00:00
Max Horn
d34cdae9ce M4: Move 'determine transparent color' hack into a new M4Sprite method
svn-id: r46281
2009-12-07 18:23:28 +00:00
Max Horn
f8126d9da6 M4: Make M4Surface member w, h, pixels protected; some cleanup
svn-id: r46280
2009-12-07 18:22:18 +00:00
Max Horn
6d1e4dd034 M4: Rename M4Surface::getData() to getBasePtr() for consistency
svn-id: r46279
2009-12-07 18:20:20 +00:00
Paul Gilbert
f21810242e Hooked up the actions list and object-specific actions to change the status text
svn-id: r46268
2009-12-05 11:32:19 +00:00
Paul Gilbert
0841063a32 Added a new variation to the 'object' command to add an object to the player's inventory
svn-id: r46267
2009-12-05 07:47:01 +00:00
Paul Gilbert
0e85be8405 Implemented support for the inventory list scrollbar and directly selecting an object
svn-id: r46266
2009-12-05 07:46:41 +00:00
Torbjörn Andersson
cb90685831 Silenced warning.
svn-id: r46265
2009-12-05 06:14:04 +00:00
Paul Gilbert
60fa351d32 Expanded the actions view into a full user interface view, and added support for highlighting of user interface elements
svn-id: r46262
2009-12-05 05:44:46 +00:00
Paul Gilbert
9bc2aa2afa Corrected the palette colours for the interface elements
svn-id: r46230
2009-12-01 10:47:39 +00:00
Max Horn
e98f789a02 Fix warning
svn-id: r46156
2009-11-26 16:10:59 +00:00
Paul Gilbert
f3b15df8e3 Changed the game list in the doxygen comment to list all the games the engine will hopefully eventually support
svn-id: r46154
2009-11-26 12:07:01 +00:00
Paul Gilbert
3f1093c162 Added some comments on the status of the engine
svn-id: r46153
2009-11-26 12:00:37 +00:00
Paul Gilbert
5afc0e5ed7 Added the basics of a action list display
svn-id: r46152
2009-11-26 11:48:43 +00:00
Max Horn
df651bf20f Added Doxygen comments for the various engine namespaces (currently mostly without details; help filling these out is welcome)
svn-id: r46128
2009-11-24 22:10:14 +00:00
Paul Gilbert
67442c230c Added display of the rotating inventory objects
svn-id: r45912
2009-11-15 08:22:57 +00:00
Paul Gilbert
6bb2b8aa9a Added support for needed MADS game configuration options
svn-id: r45911
2009-11-15 08:22:14 +00:00
Paul Gilbert
94f5c0a2f8 Added a staticres file with the MADS articles list, and added an article field to the MADSObject class
svn-id: r45856
2009-11-12 10:07:44 +00:00
Johannes Schickel
2c95e82e26 Comment out unused variable.
svn-id: r45833
2009-11-11 14:27:45 +00:00
Paul Gilbert
feab5f63ff Beginnings of support for AA file animations. The mads_anim.cpp commit is part of this, not the previous commit
svn-id: r45828
2009-11-11 09:56:29 +00:00
Paul Gilbert
faaec05e65 Removed all the '- 1' from calls to get vocabs, centralising it in the getVocab method. This is correct, as the first element in the game vocab list is '1', not '0'.
svn-id: r45827
2009-11-11 09:55:05 +00:00
Lars Persson
e4e9080187 Missing template argument for MIN (added <uint>)
svn-id: r45803
2009-11-10 09:31:47 +00:00
Paul Gilbert
a6f1280fcc Added support for loading the game's object list
svn-id: r45651
2009-11-04 08:38:32 +00:00
Max Horn
51933629d1 Changed foo(void) to foo() in almost all non-backend source files
svn-id: r45616
2009-11-02 21:54:57 +00:00
Max Horn
2bbf708dea Introduced new type Common::DisposeAfterUse::Flag
svn-id: r45233
2009-10-18 19:41:59 +00:00
Paul Gilbert
aba45bfd5f Reworked of code line in changeExtension that was giving a cppcheck warning
svn-id: r44517
2009-10-01 12:12:07 +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
Travis Howell
eb0b61976d Fix compile of M4 game engine.
svn-id: r44028
2009-09-11 09:31:57 +00:00
Max Horn
7cf23a2c4d M4: Seems that s1_cos and s1_sin are either misnamed, or buggy ?
svn-id: r44026
2009-09-11 08:43:32 +00:00
Max Horn
c6d2441db3 Don't abuse FORCEINLINE
svn-id: r44025
2009-09-11 08:39:09 +00:00
Matthew Hoops
05035fd8c3 Fix a new/free mismatch when creating a MemoryReadStream from a MemoryWriteStreamDynamic by changing MemoryWriteStreamDynamic to use malloc/free instead of new/delete[]. This could have affected ScummEngine_v4::prepareSavegame().
svn-id: r43918
2009-09-03 16:15:10 +00:00
Johannes Schickel
40aac5fbf7 Add comment why the syntax for ScriptDataCache::load was changed.
svn-id: r43694
2009-08-24 12:27:25 +00:00
Johannes Schickel
ea08733873 Small syntax change in the hope to make the motoezx target happy.
svn-id: r43692
2009-08-24 11:36:00 +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
Eugene Sandulenko
1bd6f6c99f Added game GUI options to advancedDetector and updated all engines
svn-id: r41272
2009-06-06 17:56:41 +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
Paul Gilbert
e930f4c792 Added missing parenthesis in M4Engine::delay
svn-id: r39733
2009-03-29 11:22:49 +00:00
Max Horn
ed292fb498 silenced some warnings
svn-id: r39566
2009-03-20 13:30:10 +00:00
Max Horn
5181546c63 Rewrote Common::List iterator code to ensure const correctness is preserved.
We tried to implement the list iterators in a clever way, to reduce code
duplication. But this is essentially impossible to do properly, sadly --
this is one of the places where the ugly drawbacks of C++ really show.
As a consequence, our implementation had a bug which allowed one to
convert any const_iterator to an iterator, thus allowing modifying
elements of const lists.

This rewrite reintroduces code duplication but at least ensures that no
const list is written to accidentally.

Also fix some places which incorrectly used iterator instead of const_iterator
or (in the kyra code) accidentally wrote into a const list.

svn-id: r39279
2009-03-09 22:26:02 +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
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
Paul Gilbert
c0e132a826 Added MD5 for Orion Burger Russian version
svn-id: r38769
2009-02-21 23:44:17 +00:00
Max Horn
7cb437b56f Renamed SpecialDebugLevel to DebugChannel
svn-id: r36142
2009-01-30 05:10:24 +00:00
Max Horn
28cf213605 Moved AdvancedDetector from common/ to engines/
svn-id: r36132
2009-01-29 22:13:01 +00:00
Max Horn
ac59693be2 A ton of code formatting fixes; also fixed warnings about single line loops like 'while(cond);' by inserting newlines
svn-id: r36127
2009-01-29 05:26:12 +00:00
Eugene Sandulenko
696897b058 Whoa! Removing trailing spaces.
svn-id: r35648
2009-01-01 15:06:43 +00:00
Travis Howell
61085e279e Fix warnings.
svn-id: r35463
2008-12-21 12:21:29 +00:00
Filippos Karapetis
c20292c0f1 Simplify line reading with the simpler readLine(), instead of readLine_NEW
svn-id: r35217
2008-12-03 11:51:51 +00:00
Filippos Karapetis
318f716737 readLine_OLD -> readLine_NEW
svn-id: r35212
2008-12-03 08:27:08 +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
Max Horn
40136f2590 Switched various Engine APIs to use Common::Error
svn-id: r34916
2008-11-06 17:05:54 +00:00
Max Horn
19b6289688 Don't call Common::List::size() if you don't have to (it's an expensive operation, which has to iterate the whole List, while empty() works in constant time)
svn-id: r34786
2008-10-12 22:06:31 +00:00
Filippos Karapetis
17a51a235f Merged loadHotSpotsMads() and loadHotSpotsM4()
svn-id: r34726
2008-10-02 22:04:34 +00:00
Willem Jan Palenstijn
c8eeae8d4d Big patch changing semantics of ReadStream::eos():
eos() now only returns true _after_ trying to read past the end of the stream.

This has a large potential for regressions. Please test!

svn-id: r34549
2008-09-14 22:28:53 +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
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
Max Horn
d48a57723a added two FIXMEs to M4 -- somehow, adding two subdirs of CWD named 'goodstuf' and 'resource' to the list of default dirs doesn't sound very sensible to me ;)
svn-id: r34426
2008-09-07 21:43:36 +00:00
Max Horn
6bfa3e274a Got rid of File::eof()
svn-id: r34396
2008-09-06 21:23:08 +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
Eugene Sandulenko
8093dbaf49 One more MSVC warning
svn-id: r32964
2008-07-08 11:48:16 +00:00
Eugene Sandulenko
03b36a3a54 Shut couple of MSVC warnings
svn-id: r32961
2008-07-08 11:18:44 +00:00
Filippos Karapetis
741214b656 Some fixes for warnings under GCC 2.95
svn-id: r32948
2008-07-07 19:40:43 +00:00
Max Horn
bd296a45fa Fixed unitialized variables
svn-id: r32865
2008-07-01 10:33:25 +00:00
Max Horn
07bcb5179c Renamed M4Surface::empty() to clear() (two reason: empty is not a verb, and in class String it is used for a bool property)
svn-id: r32733
2008-06-18 21:02:52 +00:00
Torbjörn Andersson
339874f6c0 Fixed warnings. (Mainly, GCC 4.3 doesn't want you to use "char" as an array
index. Probably because it's undefined whether or not it's signed.)

svn-id: r32637
2008-06-09 17:50:52 +00:00
Johannes Schickel
e92fccfdd9 Formatting.
svn-id: r32285
2008-05-26 12:05:55 +00:00
Filippos Karapetis
ba6f9ab9a8 Possible fix for bug #1949230: "M4: compilation error"
svn-id: r32277
2008-05-26 07:18:06 +00:00
Filippos Karapetis
e8763e2ac2 Fixed menu background loading in Riddle of Master Lu
svn-id: r32122
2008-05-14 19:42:02 +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
Travis Howell
fb76c3eeed Add detection of Orion Burger demos.
svn-id: r31643
2008-04-21 14:00:39 +00:00
Jordi Vilalta Prat
2279d428c2 Added information about spanish riddle
svn-id: r31630
2008-04-20 20:11:09 +00:00
Johannes Schickel
bd1cee2104 Cleanup.
svn-id: r31626
2008-04-20 19:16:34 +00:00
Lars Persson
67cd04e9a0 Implicit casts are causing problems for CodeWarrior compilers, added C casts.
svn-id: r31623
2008-04-20 17:32:32 +00:00
Lars Persson
65e608f304 unlink function name causing conflicts. Renaming to unlinkItem.
svn-id: r31622
2008-04-20 17:29:37 +00:00
Filippos Karapetis
e06918c29f More compilation fixes by lordhoto
svn-id: r31621
2008-04-20 17:26:48 +00:00
Torbjörn Andersson
378bce31ce Removed unused variables.
svn-id: r31608
2008-04-20 15:19:27 +00:00
Filippos Karapetis
7ca439f410 Initial import of the work in progress M4 engine
svn-id: r31600
2008-04-20 14:47:37 +00:00