719 Commits

Author SHA1 Message Date
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
e080a59337 Renamed SMKPlayer -> SmackerDecoder and DXAPlayer -> DXADecoder, as well as some other tweaks
svn-id: r39255
2009-03-09 03:45:23 +00:00
Filippos Karapetis
0c51a5f393 Added game object data files for dino and FTA2
svn-id: r39237
2009-03-08 16:05:49 +00:00
Filippos Karapetis
9d7111006d - Reworked the different file types a bit
- Some initial work on Dinotopia's intro sequence

svn-id: r39234
2009-03-08 15:39:19 +00:00
Travis Howell
cc89a46a0e Fix compile of SAGA2 game engine.
svn-id: r39208
2009-03-07 22:11:38 +00:00
Filippos Karapetis
e7defa3820 Fixed bug #2665117 - "ITE: Italian Floppy version wrong size"
svn-id: r39205
2009-03-07 20:54: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
Willem Jan Palenstijn
7a88744b74 Patch #2671477: Fix wrong usage of strncat
svn-id: r39184
2009-03-07 13:40:00 +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
Filippos Karapetis
7886aedebb Fixed a nasty regression from the script system rewrite (commit #35670), which will cause crashes under certain conditions, and probably makes SAGA games non-completable.
When a script thread is waiting for another thread, the current instruction offset should not be modified. The thread processing function would incorrectly continue in some special cases, and would incorrectly alter the current instruction offset. This becomes apparent in some special cases only, which made it hard to spot - plus, SAGA games have not been tested for 0.13.0, so there weren't any reports for this.

This change SHOULD go to the 0.13.0 branch, but we've already tagged...

svn-id: r38581
2009-02-20 10:49:43 +00:00
Filippos Karapetis
e504c0d8ab Removed unused code
svn-id: r36210
2009-02-03 17:02:57 +00:00
Max Horn
28cf213605 Moved AdvancedDetector from common/ to engines/
svn-id: r36132
2009-01-29 22:13:01 +00:00
Filippos Karapetis
fa71814c07 Proper fix for accented characters in the Italian version of ITE
svn-id: r36103
2009-01-27 17:39:11 +00:00
Filippos Karapetis
1d04e168ae Fixed bug #2538838 - "Wrong accented char. in italian fan version [Regression]"
svn-id: r36101
2009-01-27 17:27:51 +00:00
Filippos Karapetis
7273d02528 Implemented getDebugger()
svn-id: r35967
2009-01-20 23:40:35 +00:00
Max Horn
6b3d5db09f Disabled use of OSystem::kFeatureAutoComputeDirtyRects in SAGA for now
svn-id: r35915
2009-01-18 20:42:33 +00:00
Filippos Karapetis
56f75b4c41 Fixed bug #2057987 - "IHNM: Music stops in Ellen's chapter"
svn-id: r35884
2009-01-17 21:45:53 +00:00
Filippos Karapetis
ba4b872a20 Silenced MSVC warning
svn-id: r35883
2009-01-17 21:17:58 +00:00
Filippos Karapetis
e399865ee8 IHNM save games no longer contain ITE-related variables
svn-id: r35828
2009-01-11 14:44:29 +00:00
Filippos Karapetis
0b4dd7c459 Committed a modified version of wjp's patch for the video player:
- Split the video player from the video decoders. It's now possible to have one video player for multiple decoders
- Added the palette weight calculation from the BS1 engine into VideoPlayer::setPalette. It's now possible to find the values of the white and black colors via getWhite() and getBlack() (useful for subtitle overlays)
- Adapted FTA2's movie playing code to the new changes to video player
- Fixed a slight bug in the DXA decoder (_videoinfo.startTime was not initialized)

svn-id: r35816
2009-01-11 03:34:50 +00:00
Filippos Karapetis
2772a7aaf1 Further merging of the SMK and DXA players (the FLIC player is not done yet):
- Added a new class, VideoPlayer(), from which both the SMK and the DXA player inherit. This class provides generic functions and public methods for the inherited video classes. Default implementations have been made for these public methods, and the virtual ones can be overriden in inherited classes
- There is now a default implementation of the function that sets the video palette
- A basic video player for inherited classes has been added with method playVideo(). This is able to play a fullscreen non-interactive video, which can be skipped with events set by the caller. Postprocessing methods, which draw upon each frame (e.g. subtitles) can be done by implementing performPostProcessing()
- The FTA2 movie player now uses the new playVideo() method
- The new video player code is compatible with the old one (i.e. no changes to the existing engine code are necessary), but it's now possible to reduce engine code for video playing considerably

svn-id: r35772
2009-01-07 21:19:00 +00:00
Filippos Karapetis
cfec23cf0d Use skip instead of seek
svn-id: r35763
2009-01-06 23:33:01 +00:00
Filippos Karapetis
e6aaa5324a Sound in the old Mac Guild version of ITE is correct again
svn-id: r35762
2009-01-06 23:30:23 +00:00
Filippos Karapetis
c5c4ab97c9 Cleanup, and follow code formatting convention (indentation) for switch statements
svn-id: r35754
2009-01-06 15:47:58 +00:00
Filippos Karapetis
eeaaabc7d4 The Mac version and Mac demo of ITE no longer crash on exit
svn-id: r35750
2009-01-06 10:34:51 +00:00
Filippos Karapetis
e2e536ae18 Fixed regression: the ITE Mac version works correctly again
svn-id: r35749
2009-01-06 10:33:40 +00:00
Filippos Karapetis
80832ffb8f Got rid of explicit game sound info
svn-id: r35727
2009-01-04 15:44:33 +00:00
Filippos Karapetis
203358bcb7 Improved handling of sound resources
svn-id: r35724
2009-01-04 14:38:03 +00:00
Filippos Karapetis
3ee62c226f Typo
svn-id: r35705
2009-01-03 16:03:50 +00:00
Filippos Karapetis
e7cbd2e14f Simplified the Smacker video playing code for FTA2
svn-id: r35704
2009-01-03 16:01:58 +00:00
Filippos Karapetis
40d6a3c1e5 Split the script module into two parts, for SAGA1 and SAGA2 games
svn-id: r35689
2009-01-02 23:16:08 +00:00
Filippos Karapetis
90d762c261 Wrapped more engine-specific code around appropriate ifdefs
svn-id: r35679
2009-01-02 19:10:51 +00:00
Filippos Karapetis
7c629b5f6a Wrapped SAGA 2 game entries around appropriate defines
svn-id: r35678
2009-01-02 18:44:15 +00:00
Eugene Sandulenko
007c39a84d Let compiled subengines be visible in About dialog.
svn-id: r35677
2009-01-02 18:20:15 +00:00
Filippos Karapetis
d5b6996c45 - Split the IHNM script functions into a different file
- Added two new defines, ENABLE_IHNM and ENABLE_SAGA2 (enabled by default), which can be used to remove the parts of the SAGA engine which are specific to IHNM and SAGA 2 games. Hopefully, this will reduce the size of the engine even more for platforms with little memory (e.g. the Nintendo DS)

svn-id: r35672
2009-01-02 16:52:38 +00:00
Filippos Karapetis
32f73fd34c Rewrote the SAGA script system to use an opcode table, like in other engines
svn-id: r35670
2009-01-02 13:59:34 +00:00
Filippos Karapetis
41dce61a30 Simplified sound resource loading
svn-id: r35649
2009-01-01 16:02:43 +00:00
Eugene Sandulenko
696897b058 Whoa! Removing trailing spaces.
svn-id: r35648
2009-01-01 15:06:43 +00:00
Filippos Karapetis
220af87112 Proper fix for non-interactive ITE demos (the previous one was affecting sprites for other games)
svn-id: r35645
2008-12-31 22:11:20 +00:00
Filippos Karapetis
94548ed27c Several fixes and cleanup for sound resource loading. Sound information for sound types that are detected automatically is read from the files themselves
svn-id: r35644
2008-12-31 22:10:09 +00:00
Filippos Karapetis
cae6bdac08 Preliminary Shorten audio support for SAGA 2 games. It's still very wrong and needs further work, but it's a start
svn-id: r35626
2008-12-31 11:46:21 +00:00
Filippos Karapetis
14434659bc - Removed game sound information for sound types that it can be determined automatically. The game sound information left is now used as override info for certain sound types (e.g. PCM)
- Added stubs for Shorten audio type, used in SAGA2 games

svn-id: r35616
2008-12-29 18:35:18 +00:00
Filippos Karapetis
9a5f45a40c - IHNM Mac loads correctly again
- Removed isBigEndian from GameSoundInfo
- Removed GF_BIG_ENDIAN_DATA
- Stopped loading the options panel for non-interactive ITE demos (it doesn't exist)
- Fixed crash when exiting from non-interactive ITE demos

svn-id: r35615
2008-12-29 17:30:29 +00:00
Filippos Karapetis
3e06872001 Silenced MSVC warning
svn-id: r35610
2008-12-29 15:04:46 +00:00
Johannes Schickel
a621158cee Added const keyword to static data.
svn-id: r35563
2008-12-26 14:38:45 +00:00
Filippos Karapetis
dec4f1d084 The verb<->textId assignment is needed only for ITE
svn-id: r35562
2008-12-26 13:50:12 +00:00
Max Horn
6837416556 Made Engine::_timer protected
svn-id: r35543
2008-12-25 20:53:59 +00:00
Max Horn
df20d264fd Pushing down some header deps (on common/system.h, mostly)
svn-id: r35542
2008-12-25 20:40:00 +00:00