Commit Graph

759 Commits

Author SHA1 Message Date
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
Max Horn
f4fc0a9176 Fixed warning
svn-id: r35541
2008-12-25 20:36:58 +00:00
Filippos Karapetis
4d249cde76 Slight cleanup
svn-id: r35540
2008-12-25 18:10:21 +00:00
Filippos Karapetis
dd7ea11ac4 SAGA2 HRS resources should be loaded correctly now
svn-id: r35539
2008-12-25 15:19:33 +00:00
Filippos Karapetis
52f464534c Cleanup
svn-id: r35538
2008-12-25 15:16:53 +00:00
Filippos Karapetis
a9a91de3cd Oops
svn-id: r35537
2008-12-25 12:11:38 +00:00
Filippos Karapetis
c8ca4d59bc - Implemented the SAGA2 resource loader
- Some cleanup

svn-id: r35536
2008-12-25 12:09:24 +00:00
Filippos Karapetis
c2c439b53d Slight cleanup
svn-id: r35523
2008-12-24 09:59:18 +00:00
Johannes Schickel
a150aea638 Fixed warning.
svn-id: r35511
2008-12-23 22:01:47 +00:00
Filippos Karapetis
e27c463595 Some initial code for HRS resource loading
svn-id: r35497
2008-12-23 16:29:26 +00:00
Filippos Karapetis
350943f291 Enumerated the different actor directions and fixed spelling
svn-id: r35496
2008-12-23 15:26:55 +00:00
Filippos Karapetis
4d7a43734e Fixed bug #1970191 - "IHNM: Psychic Profile problem"
svn-id: r35495
2008-12-23 11:18:01 +00:00
Filippos Karapetis
9a57f42399 logicalWidth -> width
logicalHeight -> height

svn-id: r35488
2008-12-22 14:36:58 +00:00
Torbjörn Andersson
3e0b81a99e Fixed GCC warning.
svn-id: r35487
2008-12-22 14:34:32 +00:00
Filippos Karapetis
38f7fa6f4a Added game ID checks for the ITE puzzle in some places that I've missed
svn-id: r35486
2008-12-22 14:30:00 +00:00
Filippos Karapetis
437384a838 - Split the SAGA resource manager in 3 different ones, depending on the resource type (RSC for ITE, RES for IHNM and HRS for DINO/FTA2). The SAGA 2 HRS resource manager is still a stub
- Added detection for the voice file of FTA2

svn-id: r35484
2008-12-22 14:13:15 +00:00
Travis Howell
1f669687a3 Correct comment.
svn-id: r35483
2008-12-22 11:49:49 +00:00
Filippos Karapetis
c3bbc4b279 Added Smacker support for the introduction and ending videos of FTA2
svn-id: r35482
2008-12-22 11:26:29 +00:00
Filippos Karapetis
f3db2bf1c3 Added some more stubs for FTA2
svn-id: r35475
2008-12-21 23:43:12 +00:00
Filippos Karapetis
2257db88d3 - Added some stubs for the SAGA2 games dino and fta2
- Stopped loading the isomap and puzzle game modules for IHNM, as they are not used for that game (this saves some memory for IHNM)
- Removed getDisplayWidth() and getDisplayHeight()

svn-id: r35473
2008-12-21 22:52:44 +00:00
Filippos Karapetis
d0f4f97ea9 Cleaned up the mess with game IDs and game types: removed game types, reduced the game IDs and added game features where necessary
svn-id: r35467
2008-12-21 15:59:05 +00:00
Filippos Karapetis
3c01f4f0e1 Partial fix for bug #2453189 - "ITE: mass adding results in incorrect targets" (the Italian multiplatform fan translated version is still missing)
svn-id: r35449
2008-12-20 12:05:35 +00:00
Filippos Karapetis
d28478e545 Fixed bug #2453183 - "IHNM: mass adding results in incorrect targets"
svn-id: r35448
2008-12-20 10:59:29 +00:00
Filippos Karapetis
6baa803dff Removed defaults which are set in base/commandLine.cpp
svn-id: r35444
2008-12-19 19:12:29 +00:00
Filippos Karapetis
0410d6dfae Removed the hasKey() hackery of my previous commit and used ConfMan.registerDefault() instead. Changed sound_volume back to sfx_volume, which got changed with the GSoC merge and was the actual cause that the sound effects were off by default
svn-id: r35437
2008-12-19 12:03:22 +00:00
Filippos Karapetis
2911aa04c1 Fixed bug #2424530 - "IHNM: SFX are no longer played", by assigning correct default values for missing config manager settings
svn-id: r35436
2008-12-19 10:54:05 +00:00
Filippos Karapetis
c6947285d2 Fixed a regression of commit #34458. Sound data for compressed sounds was read incorrectly. Fixes bugs #2422371 - "ITE: Talk animation takes longer than speaking" and #2111496 - "IHNM: Speech is garbled"
svn-id: r35320
2008-12-12 22:56:56 +00:00
Filippos Karapetis
dcca0c9f66 Fixed a regression in my last commit where some sprites were not clipped correctly
svn-id: r35318
2008-12-12 20:10:00 +00:00
Filippos Karapetis
cfa939d151 - Stop passing the scene clip rectangle around for no reason
- More changes for dirty rectangle handling
- Stop adding dirty rectangles that cover the whole screen for no reason
- Dirty rectangle handling is still very buggy, so it's still disabled

svn-id: r35314
2008-12-12 14:23:02 +00:00
Torbjörn Andersson
e26f1391fa Fixed detection of voice files.
svn-id: r35305
2008-12-11 18:09:45 +00:00
Filippos Karapetis
39871b84de Some more dirty rectangle fixes, only 2 known glitches are left
svn-id: r35296
2008-12-10 19:39:26 +00:00
Filippos Karapetis
5f4518a2ad Some more dirty rectangle fixes (some glitches still remain)
svn-id: r35294
2008-12-09 21:09:45 +00:00
Filippos Karapetis
e27c494371 Some more dirty rectangle changes (still incomplete)
svn-id: r35288
2008-12-08 22:07:14 +00:00
Filippos Karapetis
4c62b50921 More dirty rectangle related changes
svn-id: r35285
2008-12-08 17:48:39 +00:00
Filippos Karapetis
0ffb1081fa Set full screen refresh when an animation frame or the psychic profile is shown
svn-id: r35283
2008-12-07 19:15:57 +00:00
Filippos Karapetis
78fd335a42 More dirty rectangle related changes (dirty rectangle handling is still broken)
svn-id: r35281
2008-12-07 18:49:35 +00:00
Filippos Karapetis
15dad27d79 Fixed typo
svn-id: r35279
2008-12-07 17:17:37 +00:00
Filippos Karapetis
5d1e3fd03e Some dirty rectangle related code
svn-id: r35267
2008-12-07 00:27:39 +00:00
Filippos Karapetis
c69cacfe2d Disable unused code
svn-id: r35266
2008-12-07 00:19:50 +00:00
Filippos Karapetis
4946e6584e Disabled more debug code
svn-id: r35265
2008-12-07 00:13:55 +00:00
Filippos Karapetis
065694dbb1 - Prevented direct reference to the back buffer in many cases (apart from a few, where it's modified directly)
- Added skeleton code for dirty rectangle handling (still unfinished and non-working)
- Added wrapper functions to access the back buffer, which add the appropriate dirty rectangles automatically

svn-id: r35264
2008-12-06 18:23:34 +00:00
Filippos Karapetis
5f2cd3c4a7 Cleanup
svn-id: r35263
2008-12-06 14:44:09 +00:00
Filippos Karapetis
d148d481f9 Fixed compilation when SAGA_DEBUG is defined
svn-id: r35262
2008-12-06 14:38:04 +00:00
Filippos Karapetis
668eaea68c Also remove explicit surface passing to IsoMap::draw()
svn-id: r35261
2008-12-06 14:37:09 +00:00
Filippos Karapetis
9c04b0c229 All the screen drawing functions draw to the back buffer, so there is no point in passing it everywhere
svn-id: r35260
2008-12-06 14:24:40 +00:00
Filippos Karapetis
f3a60a8c96 Cleanup
svn-id: r35259
2008-12-06 13:35:27 +00:00
Filippos Karapetis
a4923c5ba4 Removed unused variable
svn-id: r35251
2008-12-05 22:01:22 +00:00
Filippos Karapetis
72ba213b36 Removed more unneeded test code
svn-id: r35250
2008-12-05 18:56:52 +00:00
Filippos Karapetis
beb18533c3 Cleanup
svn-id: r35246
2008-12-04 21:25:44 +00:00
Filippos Karapetis
c2d095b426 Do not redraw the whole scene if an overlay is drawn above it
svn-id: r35245
2008-12-04 21:09:24 +00:00
Filippos Karapetis
12f4c3b9b9 Removed more test code and performed some cleanup
svn-id: r35241
2008-12-04 19:12:58 +00:00
Filippos Karapetis
b4cc40166e Disabled all the test functions in SAGA. They can be enabled again by defining SAGA_DEBUG to 1 in saga.h. This cuts down on the engine size a bit, for devices with little memory (e.g. the DS)
svn-id: r35238
2008-12-04 18:38:02 +00:00
Max Horn
c290bb977c Fix compiler warning
svn-id: r35215
2008-12-03 11:05:07 +00:00
Robin Watts
8f3b2e9b4d Remove warnings from NDS build.
svn-id: r35172
2008-11-29 18:01:16 +00:00
Filippos Karapetis
78eeb313fe Corrected wrong extended characters provided in the translated hardcoded strings for ITE. Fixes bug #2045157 - "ITE: wrong accented characters in italian fan version"
svn-id: r35158
2008-11-23 15:03:54 +00:00
Filippos Karapetis
df694b3de1 Cleanup
svn-id: r35114
2008-11-18 17:37:01 +00:00
Johannes Schickel
2ef8a32a01 Fixed various g++ warnings ("format not a string literal and no format arguments").
svn-id: r35096
2008-11-16 20:20:31 +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
Filippos Karapetis
4294185c59 Some corrections, based on observations from bug report #2284298 - "SAGA: Compiler warnings; possibly an engine bug"
svn-id: r35058
2008-11-14 17:51:48 +00:00
Torbjörn Andersson
591d01b77f Reverted change I accidentally made to the SAGA engine when committing the SCUMM
charset changes. It may be a correct change, but it's not yet ready.

svn-id: r35057
2008-11-14 14:12:18 +00:00
Torbjörn Andersson
5e5eebf24f Committed my own patch #2278665 ("SCUMM: Font data in old SCUMM games") to get
rid of a few kilobytes of hard-coded font data. (The font data is still there,
but now we only store how the French, German, Italian and Spanish fonts differ
from the English one.)

svn-id: r35056
2008-11-14 14:03:08 +00:00