Commit Graph

528 Commits

Author SHA1 Message Date
Filippos Karapetis
137862b00b Add support for compressed digital music in ITE
svn-id: r27734
2007-06-26 23:40:22 +00:00
Filippos Karapetis
9263d7cd6c Remove some unneeded includes
svn-id: r27733
2007-06-26 23:38:21 +00:00
Filippos Karapetis
bf24bff17e Move to the correct file offset when using compressed sounds in ITE
svn-id: r27729
2007-06-26 13:38:24 +00:00
Filippos Karapetis
2c3cbf444a Improvements to the SAGA compressed sound support
svn-id: r27717
2007-06-25 20:20:59 +00:00
Filippos Karapetis
78addd0d66 Put a comment in its correct location
svn-id: r27716
2007-06-25 19:10:50 +00:00
Filippos Karapetis
23c8240048 Add support for compressed sound effects, digital music and speech to the SAGA engine
svn-id: r27713
2007-06-25 18:23:01 +00:00
Filippos Karapetis
057d26e2f3 Added entries for ITE compressed files to the detector. IHNM is not added yet, as it needs more testing
svn-id: r27712
2007-06-25 18:21:40 +00:00
David Corrales
cacd7a28fd Merged the FSNode branch with trunk r27031:27680
svn-id: r27681
2007-06-23 18:51:33 +00:00
Filippos Karapetis
b85320fa69 Fix MSVC8 warning
svn-id: r27633
2007-06-22 22:14:35 +00:00
Torbjörn Andersson
b61738b270 Use KEYCODE constants. (Except for '~' which doesn't seem to have one.)
svn-id: r27595
2007-06-21 19:55:22 +00:00
Filippos Karapetis
5624ba23d0 Added a workaround in IHNM for the compact disk in Ellen's chapter
svn-id: r27557
2007-06-20 16:36:29 +00:00
Filippos Karapetis
6689a6607b Fix crashes with some savegames in IHNM
svn-id: r27553
2007-06-20 01:45:38 +00:00
Filippos Karapetis
aeb9668d66 When loading a game from the same chapter as the current chapter in IHNM, the game will now be loaded correctly
svn-id: r27546
2007-06-19 11:41:06 +00:00
Filippos Karapetis
4ffd38a199 When saving the game in IHNM after a chapter point change, the chapter point change music will no longer be incorrectly saved, and the normal chapter music will be saved instead
svn-id: r27545
2007-06-19 11:23:20 +00:00
Filippos Karapetis
e654381717 IHNM: In chained cutaways, clear the previous cutaway immediately
svn-id: r27543
2007-06-19 10:13:41 +00:00
Filippos Karapetis
8bc226b0e5 The correct music track is now played when loading a game in IHNM. The save/load mechanism in IHNM seems to be working correctly now (although it needs testing), however there are still some graphical glitches with the save/load dialogs. Also, moved some unfinished code for returning to the chapter selection screen to a more appropriate place
svn-id: r27542
2007-06-19 02:42:59 +00:00
Filippos Karapetis
3c424d98cd Removed obsolete comment
svn-id: r27541
2007-06-19 01:41:10 +00:00
Filippos Karapetis
153f325004 More updates for the save/load system in IHNM
svn-id: r27540
2007-06-19 01:37:48 +00:00
Filippos Karapetis
3f5202ea38 Change some regular integers to short integers
svn-id: r27538
2007-06-18 19:56:36 +00:00
Eugene Sandulenko
e477ca37b3 Normalize event names.
svn-id: r27513
2007-06-17 16:21:05 +00:00
Filippos Karapetis
6dc0a1b234 Some more updates for saving/loading in IHNM
svn-id: r27512
2007-06-17 15:45:09 +00:00
Filippos Karapetis
65a39ab0d0 Some updates on the save/load system in IHNM. It still needs work, though
svn-id: r27505
2007-06-17 02:59:56 +00:00
Filippos Karapetis
3c24b118b4 Fixed the remaining glitch with fading after a cutaway is shown
svn-id: r27504
2007-06-17 01:50:49 +00:00
Eugene Sandulenko
f7b28b95ad More efforts to implement proper fade after cutaway. One little glitch is left.
svn-id: r27502
2007-06-17 01:00:06 +00:00
Filippos Karapetis
e080f49397 Options button is now working in the character selection screen in IHNM
svn-id: r27480
2007-06-16 19:11:55 +00:00
Eugene Sandulenko
d9abc85fbd An attempt to fix restoring from cutaway. Still not perfect.
svn-id: r27465
2007-06-16 14:06:17 +00:00
Filippos Karapetis
332a2e23d8 IHNM: Implemented cutaway fadeout
svn-id: r27445
2007-06-16 08:53:46 +00:00
Filippos Karapetis
fb1a6fcbc2 Enable the options panel during chapter selection in IHNM. The icon is not yet functional during chapter selection, but the keyboard shortcuts work
svn-id: r27443
2007-06-16 08:27:53 +00:00
Filippos Karapetis
ce8a015c1c Rewrote the cutaway initialization part
svn-id: r27440
2007-06-16 02:38:17 +00:00
Filippos Karapetis
edce894414 Fixed chained cutaways in IHNM. Ben's chapter is completable now
svn-id: r27439
2007-06-16 01:59:04 +00:00
Filippos Karapetis
b37161bafd IHNM: Added a temporary workaround for the nightfall scene in Ben's chapter
svn-id: r27438
2007-06-16 01:58:03 +00:00
Filippos Karapetis
5e587fde8e Clear the forced text flag if it's set when a speech with forced text finishes. Now, ScummVM won't wait forever when talking to an actor after using the computer screen in the elder's screen at Ben's chapter in IHNM
svn-id: r27428
2007-06-15 18:28:44 +00:00
Filippos Karapetis
e6fe560ad1 IHNM no longer crashes during character selection if the mouse cursor is over a character before AM finishes his speech
svn-id: r27418
2007-06-15 16:26:14 +00:00
Filippos Karapetis
4f8f854ee6 Forced text is now handled correctly. It's now possible to interact with the video screen in the elder's cave
svn-id: r27410
2007-06-15 03:58:21 +00:00
Filippos Karapetis
3b78d79ec0 The frame count should be updated when the background frame is shown in a cutaway
svn-id: r27409
2007-06-15 03:16:06 +00:00
Filippos Karapetis
cb15724147 It's normal for cutaways to only have 1 frame
svn-id: r27408
2007-06-15 02:29:08 +00:00
Filippos Karapetis
708e006059 Added another console command for IHNM
svn-id: r27405
2007-06-14 23:42:39 +00:00
Filippos Karapetis
16a6dc45c0 Added several console commands for SAGA. Also, fixed a regression in the IHNM introduction caused by commit #27357. Finally, animation IDs are checked for validity now, so ScummVM won't try to play invalid animations
svn-id: r27404
2007-06-14 23:28:30 +00:00
Filippos Karapetis
585e0781dd SAGA: Added sanity checks for speech box coordinates, like the original. Now, there won't be missing subtitles in certain scenes
svn-id: r27397
2007-06-14 04:22:23 +00:00
Filippos Karapetis
99c65ce24d IHNM: Button texts are read from the game data files, instead of the hardcoded ITE strings. The IHNM-specific strings have been removed from the ITE hardcoded strings. Also did some cleanup
svn-id: r27396
2007-06-13 22:23:12 +00:00
Filippos Karapetis
5b395c7397 Moved a check for game type after engine initialization
svn-id: r27390
2007-06-13 20:13:06 +00:00
Filippos Karapetis
0d4a3c28d9 IHNM: Button textures are loaded correctly now for buttons in the option and quit panel. Also, implemented the voices/subtitles toggle functionality and fixed widget placement a bit
svn-id: r27388
2007-06-13 19:41:27 +00:00
Filippos Karapetis
7af7e3f192 Fix the quit panel in IHNM
svn-id: r27387
2007-06-13 15:31:45 +00:00
Filippos Karapetis
8565809552 IHNM: Fixed sfSetSpeechBox, now the dialog of Nimdok and Mengele will show up correctly. Also, done some preliminary work on sfScriptGotoScene and changeScene to return to the character selection screen, but it's not right yet
svn-id: r27385
2007-06-13 13:00:25 +00:00
Filippos Karapetis
ee78a7427b Fixed several colors and fonts in IHNM
svn-id: r27382
2007-06-12 22:47:12 +00:00
Filippos Karapetis
5db4ab48bc Corrected actor walk speed when exiting from zones in IHNM
svn-id: r27379
2007-06-12 20:36:08 +00:00
Filippos Karapetis
110db592c0 Make keys 5-9 work during dialogs in IHNM
svn-id: r27378
2007-06-12 19:45:39 +00:00
Eugene Sandulenko
6e5b70f5e9 Patch #1733764: "Fallback detection patch". GSoC student.
svn-id: r27375
2007-06-12 12:22:25 +00:00
Filippos Karapetis
9c07235a93 Auto-use no-walk hitzones in IHNM, like the original. This fixes the pathfinding problems in Benny's chapter
svn-id: r27370
2007-06-12 01:30:15 +00:00
Filippos Karapetis
5e49fb7bc7 Make sure the waiting thread stops waiting after an animation in IHNM. Ellen's path is completable now
svn-id: r27358
2007-06-11 12:39:44 +00:00
Filippos Karapetis
daff536420 The waiting thread will no longer wait forever for some videos to finish in IHNM
svn-id: r27357
2007-06-11 12:14:06 +00:00
Filippos Karapetis
2084bd4610 When using some items in IHNM, it was possible that the verb would incorrectly change from "use" to "use with" (e.g. the jukebox in the honky-tonk). This has been fixed
svn-id: r27356
2007-06-11 12:12:59 +00:00
Filippos Karapetis
7ab15fa3c9 Implemented Scene::RestoreScene and fixed some animation bugs. Animations and videos in IHNM should display correctly now
svn-id: r27338
2007-06-11 02:30:04 +00:00
Filippos Karapetis
7522d4ea51 Fix for stacked objects in IHNM. It is now possible to interact with the chalk in Ted's chapter
svn-id: r27337
2007-06-11 01:22:45 +00:00
Filippos Karapetis
0da6062bb2 Remove obsolete testing code
svn-id: r27306
2007-06-10 11:51:33 +00:00
Filippos Karapetis
a121e4ce05 Fixed an incorrect check in Script::finishDialog
svn-id: r27274
2007-06-10 03:21:16 +00:00
Filippos Karapetis
3fd5347421 Fixed conversations in IHNM. Now, when a dialog option is selected, the protagonist will say it out properly before we hear the other character's reply. Also, added some more code for sfScriptFade and made it a stub for now, as it still needs work
svn-id: r27264
2007-06-10 00:36:01 +00:00
Andrew Kurushin
86f6aaf206 fix IHNM protagonist state loading routine. now Ellen's animations are showing well
svn-id: r27263
2007-06-09 22:45:03 +00:00
Filippos Karapetis
4ae78ea22d Silence some unneeded warnings, remove some unneeded test code from Actor::getActorFrameRange, as the function is the same in both ITE and IHNM
svn-id: r27226
2007-06-09 01:33:58 +00:00
Andrew Kurushin
78cf024351 fix IHNM pathfinding engine. now TED(Chapter 5) interacts with the books properly
svn-id: r27225
2007-06-08 23:33:35 +00:00
Filippos Karapetis
1255681d0d IHNM never sets scriptModuleNumber to 0 in Script::doVerb(). Now, all items will have the correct script assigned to them (e.g. the fruit at the fruit tree screen in Benny's chapter, the icon in the chapel in Ted's chapter etc)
svn-id: r27203
2007-06-08 14:45:25 +00:00
Filippos Karapetis
a9b81750cf Also include this file for the last commit
svn-id: r27180
2007-06-07 23:39:31 +00:00
Filippos Karapetis
90d840de45 Implement more Actor::calcScreenPosition differences for IHNM
svn-id: r27179
2007-06-07 23:37:32 +00:00
Filippos Karapetis
d52cb6c62b Fixed video display and removed a hack for it
svn-id: r27173
2007-06-07 15:49:12 +00:00
Filippos Karapetis
ed8bd9494a Fixed regression: panel mode should be set to video at the beginning of IHNM
svn-id: r27172
2007-06-07 15:47:47 +00:00
Filippos Karapetis
7e29cf35de Limited frame count hack to apply to videos only
svn-id: r27167
2007-06-07 12:39:38 +00:00
Filippos Karapetis
7bd240ea8f Implemented video playing for IHNM (still needs work). Also, updated a comment regarding the intro
svn-id: r27166
2007-06-07 12:11:33 +00:00
Filippos Karapetis
9b14f5faed Implemented the sfGetMouseClicks and sfResetMouseClicks opcodes and created the skeleton for sfScriptStartVideo, sfScriptReturnFromVideo and sfScriptEndVideo opcodes
svn-id: r27145
2007-06-06 19:46:10 +00:00
Filippos Karapetis
5d46606bb0 Fixed the parameter order in sfScriptFade
svn-id: r27143
2007-06-06 18:09:52 +00:00
Filippos Karapetis
00dac8c10f Implemented the sfScriptFade opcode
svn-id: r27142
2007-06-06 18:04:25 +00:00
Filippos Karapetis
a6c476b292 Added palette fading in playCutaway()
svn-id: r27141
2007-06-06 18:02:33 +00:00
Filippos Karapetis
a265844351 Added sanity checks for hitzones in SAGA, after discussing with h00ligan and sev. Removed a hack for IHNM which is not needed anymore and removed a redundant check for zero object types
svn-id: r27140
2007-06-06 16:37:10 +00:00
Filippos Karapetis
735530bdc8 Implemented differences in Actor::calcScreenPosition for IHNM. Now the stitching on the second floor of the zeppelin and the whiskey in the honky-tonk are shown correctly
svn-id: r27124
2007-06-06 00:56:29 +00:00
Filippos Karapetis
b82e88638b Properly implemented the converse panel in IHNM (though the colors are still wrong)
svn-id: r27123
2007-06-06 00:52:46 +00:00
Filippos Karapetis
55607e9c99 Fix regression caused by commit #27108
svn-id: r27122
2007-06-06 00:51:07 +00:00
Travis Howell
248d527a56 Avoid compiler warnings.
svn-id: r27118
2007-06-05 22:38:43 +00:00
Filippos Karapetis
ab6fb8e9c3 Filtering specific verbs is used in ITE, but not in IHNM. It's now possible to use the jukebox in the honky-tonk in IHNM
svn-id: r27110
2007-06-05 16:31:58 +00:00
Filippos Karapetis
158193fe51 Add the hack for the staircase in the zeppelin in IHNM once more, apparently the cause for it is different than what I thought
svn-id: r27109
2007-06-05 16:29:15 +00:00
Filippos Karapetis
2f033e7a4c Check if a zone type is NULL for both ITE and IHNM, as it's done in the original. This fixes the crash in IHNM when entering the second floor of the zeppelin and the crash in ITE when interacting with the bowl in the tunnel, outside the prison. Removed the two relevant hacks
svn-id: r27108
2007-06-05 15:04:25 +00:00
Filippos Karapetis
95821c97ee Inventory and conversation arrows are working correctly now in IHNM
svn-id: r27107
2007-06-05 13:19:47 +00:00
Filippos Karapetis
2b593f30a1 IHNM: Add a temporary hack for the crash that occurs when climbing the staircase to the second floor of the zeppelin in chapter 1
svn-id: r27094
2007-06-04 23:10:59 +00:00
Filippos Karapetis
abc879f2d8 Fixed incorrect placing of converse information for IHNM. Dialog options should work in IHNM now, although they're still not placed properly
svn-id: r27084
2007-06-04 19:29:28 +00:00
Filippos Karapetis
1fe7b427dd Properly define max text width in IHNM
svn-id: r27082
2007-06-04 18:08:44 +00:00
Filippos Karapetis
f6b8c98c13 SAGA: When trying to access a wrong hitzone, adjust it to a valid one and continue with a warning instead of exiting with an error . We don't normally get invalid hitzones in ITE, but we do in IHNM, so this is used for now to bypass the places where IHNM crashes. It's now possible to climb the steps to the second floor of the zeppelin with Gorrister
svn-id: r27072
2007-06-03 22:00:18 +00:00
Filippos Karapetis
7201437206 The animation frame counter is updated correctly now, so all animations in IHNM where the engine is waiting are displayed fully. Big thanks to sev, once again :)
svn-id: r27070
2007-06-03 19:15:59 +00:00
Filippos Karapetis
66f9032d01 Simplified check for scene height in IHNM
svn-id: r27067
2007-06-03 16:14:57 +00:00
Filippos Karapetis
89b80a3f8b Opcode 11 is sfLockUser. Also updated Scene::getHeight() for this change. Now, the interface is locked when the scripts lock it. This prevents erroneous actor movement when skipping speech by left clicking, and other incorrect behavior. Special thanks to h00ligan for all his help
svn-id: r27064
2007-06-03 15:50:25 +00:00
Filippos Karapetis
3ba184b21f Moved the updating of framecount to a more appropriate place
svn-id: r27060
2007-06-03 02:39:44 +00:00
Filippos Karapetis
f4299e81c1 Implemented the sfWaitFrames script function for IHNM. Many animations should display more correctly now (e.g. actor "zapping" animations, Ben falling off the stairs). They're still not correct, as frameCount is not updated properly
svn-id: r27055
2007-06-02 15:26:05 +00:00
Filippos Karapetis
9896ce253e Moved a sanity check before some relevant asserts
svn-id: r27054
2007-06-02 15:21:42 +00:00
David Corrales
0cab5b7791 Merged the fs branch with trunk. r26949:27031
svn-id: r27032
2007-05-31 23:44:43 +00:00
Max Horn
218e132e37 Updated legal headers in source files, based on what Pidgin (the IM client formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots
svn-id: r27024
2007-05-30 21:56:52 +00:00
Filippos Karapetis
c739b43bc7 Color 0 should always be black in IHNM. The panel backgrounds don't erroneously change color now when moving between rooms
svn-id: r27004
2007-05-29 16:21:09 +00:00
Filippos Karapetis
438ba78387 Corrected actor walk speed in IHNM
svn-id: r27003
2007-05-29 12:55:17 +00:00
Eugene Sandulenko
baea10979c Partial fix for walking speed in IHNM.
svn-id: r26999
2007-05-28 16:36:18 +00:00
Filippos Karapetis
572a4b3191 Changed the frameOffset sanity check in Script::sfPlaceActor to throw a warning instead of an error. In IHNM, it's now possible to use the knife with the rats when playing with Garrister
svn-id: r26985
2007-05-28 00:36:11 +00:00
Filippos Karapetis
233971ed31 Made verbs "push" and "swallow" work in IHNM. It's now possible to choose a monitor with Ted
svn-id: r26983
2007-05-27 23:30:21 +00:00
Filippos Karapetis
13541d3e96 Verb actions are working correctly now in IHNM. Some verbs are still non-functional
svn-id: r26970
2007-05-27 11:49:08 +00:00
Filippos Karapetis
ff7d48f582 Changed the check for the status bar in IHNM to match the original, removed a relevant hack
svn-id: r26802
2007-05-11 13:10:13 +00:00
Filippos Karapetis
1880c8739b Disable the status text in IHNM when the main panel is not shown. Fixes a crash when hovering over a character in the character selection screen
svn-id: r26801
2007-05-11 10:35:12 +00:00
Torbjörn Andersson
a6095b93d9 Removed unused variable.
svn-id: r26797
2007-05-10 03:02:00 +00:00
Andrew Kurushin
85082dc8a0 speedup SAGA::Actor::pathLine & SAGA::Actor::scanPathLine calculation
svn-id: r26791
2007-05-09 13:25:14 +00:00
Filippos Karapetis
a8ab2c7cff Moved functions getDoorState, setDoorState, getBGMaskType and validBGMaskPoint to scene.h and disabled some sanity checks to improve the speed of the pathfinding algorithm, after discussing with h00ligan
svn-id: r26789
2007-05-08 17:32:31 +00:00
Andrew Kurushin
21412b821c small pathfind speedup: validate coords only with debug definition
svn-id: r26788
2007-05-08 16:09:47 +00:00
Eugene Sandulenko
22e022cdcb Simplify cursor events management.
svn-id: r26772
2007-05-07 06:18:08 +00:00
Filippos Karapetis
c4c9ff5533 The cursor in IHNM changes to an hourglass now while loading scenes, like in the original interpreter
svn-id: r26768
2007-05-06 22:18:31 +00:00
Filippos Karapetis
b9cdca27ee Added (non-functional) save and load buttons in the options panel of IHNM
svn-id: r26767
2007-05-06 17:18:11 +00:00
Filippos Karapetis
463c5fcec8 More IHNM options panel improvements: added text and working widgets for read speed, music and sound, matched the font and the coordinates of the options panel and the widgets with the ones of the original interpreter
svn-id: r26738
2007-05-02 23:27:25 +00:00
Filippos Karapetis
7e16ca13c6 SAGA: Modified a workaround made for ITE to work in ITE only
svn-id: r26737
2007-05-02 21:39:56 +00:00
Filippos Karapetis
74f839d6c8 IHNM: Added the options dialog and quit dialog with very basic functionality (continue and exit game).
The buttons are still wrong and not all the options are implemented yet, but at least the game doesn't freeze when the user tries to open the options dialog and it's now possible to exit normally

svn-id: r26735
2007-05-02 17:12:30 +00:00
Filippos Karapetis
6ca558f0ff Fix for verbs in IHNM
svn-id: r26732
2007-05-01 21:48:18 +00:00
Filippos Karapetis
d08eeff700 Renamed decodeILBM to decodePBM, removed a TODO
svn-id: r26731
2007-05-01 21:40:56 +00:00
Nicola Mettifogo
008042ac25 Implemented a IFF (Interchange File Format) parser and added subclasses to parse graphics (ILBM, PBM) and audio (8SVX), thus replacing old decoding routines. SAGA and Parallaction have been adjusted to work with the new code.
svn-id: r26719
2007-05-01 15:39:40 +00:00
Max Horn
60aec5b9f1 SAGA: Moved displayinfo stuff into its own header file
svn-id: r26635
2007-04-27 23:11:12 +00:00
Max Horn
030cd2c02a Some tweaks to saga/detection_tables.h
svn-id: r26633
2007-04-27 22:39:31 +00:00
Max Horn
3924a2587f Renamed sagagame.cpp -> detection_tables.h; merged sagagame.h into saga.h
svn-id: r26632
2007-04-27 22:35:05 +00:00
Max Horn
fbc2f89b08 Renamed some game.cpp files to detection.cpp
svn-id: r26623
2007-04-27 20:26:54 +00:00
Eugene Sandulenko
28e721836a Slighty modified patch #1704979: "Fix for #1690045: ITE: Item description missing"
svn-id: r26558
2007-04-21 21:29:52 +00:00
Eugene Sandulenko
b1e79b9253 More meaningful error message
svn-id: r26557
2007-04-21 21:23:26 +00:00
Max Horn
624b57db3a oops, openStreamFile of course uses milliseconds, not frames, for the playback offsets/durations
svn-id: r26475
2007-04-14 18:44:15 +00:00
Max Horn
22f325af94 Removed some leftovers
svn-id: r26474
2007-04-14 17:42:51 +00:00
Max Horn
943656ab63 Replaced the use of DigitalTrackInfo objects (which were being leaked, BTW) with a call to openStreamFile (code completely *untested*, so it might not work properly yet). Note the new FIXME comment regarding the playback duration
svn-id: r26473
2007-04-14 17:35:28 +00:00
Gregory Montoir
5aca9dce8c added the instance of EventManager returned by OSystem::getEventManager as a member of the Engine base class. This allows to simply the code a bit and should more efficient too (ie. less virtual function chain calls, obj->getA()->getB()). Also updated several engines to make use of it.
svn-id: r26357
2007-04-01 17:36:13 +00:00
Max Horn
94739cdbca SAGA: Make use of EventManager::getMousePos
svn-id: r26223
2007-03-18 18:45:36 +00:00
Max Horn
ed54ea9155 Moved Event/EventType/keyboard enum from common/system.h (part of class OSystem) to common/events.h (part of namespace Common). Porters may have to make minor changes to their backends to get them to compile again
svn-id: r26180
2007-03-17 19:02:05 +00:00
Torbjörn Andersson
53624376b4 Applied my re-revised patch #1487149 ("Simplified keyboard repeat"), with
Fingolfin's blessings. Keyboard repeat is now handled by the event manager,
rather than by individual engines.

Since this can cause problems with some engines (see the AGI engine), the extra
"key down" events are marked as "synthetic", so that they can be ignored if
necessary.

svn-id: r26170
2007-03-17 15:44:26 +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
Eugene Sandulenko
11aafd1685 Fix looping for enchanced soundtracks.
svn-id: r25855
2007-02-25 14:34:21 +00:00
Max Horn
65b30d84a8 Added numLoops parameter to DigitalTrackInfo::play
svn-id: r25836
2007-02-24 23:19:53 +00:00
Torbjörn Andersson
09ad4f1a87 Renamed SAGA_xxx_H_ to SAGA_xxx_H for consistency.
svn-id: r25726
2007-02-19 17:30:43 +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
Max Horn
7572d2b4f2 Changed detectBestMatchingGame to return a pointer to a ADGameDescription (or a subclass of it); added a (currently fake) fallback callback entry in ADParams
svn-id: r25574
2007-02-13 23:37:44 +00:00
Max Horn
4968e912ce AdvancedDetector changes:
* Renamed genGameList to gameIDList to make it match the corresponding
  plugin API function name
* removed the detectFunc param from detectGameForEngineCreation,
  as it *always* pointed to a straight wrapper around AdvancedDetector::detectAllGames
* as a consequence, removed the various GAME_detectGames functions from the
  engines, and removed the detectFunc param from ADVANCED_DETECTOR_DEFINE_PLUGIN

svn-id: r25547
2007-02-13 14:55:11 +00:00
Eugene Sandulenko
da7d8c9f35 Rename Common::GF_XXX to Common::ADGF_XXX
svn-id: r25545
2007-02-13 13:42:28 +00:00
Max Horn
2afe07992f Renamed kADFlagComplexID to kADFlagAugmentPreferredTarget, document it, and add it for AGOS, too
svn-id: r25543
2007-02-13 13:17:46 +00:00
Max Horn
55adc889e7 (re)added flags field to ADGameDescription, with currently only one value (GF_DEMO) -- this flag value is not yet used by anything (also, GF_DEMO hasn't been correctly set for AGI games yet)
svn-id: r25539
2007-02-13 01:28:18 +00:00
Eugene Sandulenko
7b6bdd231d AdvancedDetector now has built-in fallback detection based on file lists.
Currently only gob engine benefits from it.

svn-id: r25374
2007-02-04 03:10:27 +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
Gregory Montoir
7e5a0b05b5 warnings
svn-id: r25284
2007-01-30 20:20:05 +00:00
Eugene Sandulenko
adcfd2cc5f Now AdvancedDetector could use single ID per engine. Also it can suggest
more complex game IDs with platform and language specified.

AGI engine benefits most from that.
Also turned Cine, Parallaction and SAGA to single ID, autoupgrading old ID.

svn-id: r25269
2007-01-29 23:25:51 +00:00
Eugene Sandulenko
93687d376b Add more paramteres to AdvancedDetector. Not used yet.
svn-id: r25241
2007-01-28 07:31:26 +00:00
Max Horn
d70c83bd4b Lots of cleanup in the AdvancedDetector
svn-id: r25194
2007-01-25 21:16:57 +00:00
Eugene Sandulenko
bb3cc79bc6 Reduce #include dependencies
svn-id: r25178
2007-01-25 01:05:25 +00:00
Eugene Sandulenko
6eb9f41e68 Use file sizes in detection too.
svn-id: r25172
2007-01-25 00:37:12 +00:00
Eugene Sandulenko
3d8e290f3c Sync with last AdvancedDetector changes
svn-id: r25167
2007-01-24 23:13:00 +00:00
Eugene Sandulenko
318210ad96 Add optional size parameter to ADGameFileDescription. Not used now.
svn-id: r25164
2007-01-24 22:42:44 +00:00
Eugene Sandulenko
d3b0ff8ade Reduce dependency from common/advancedDetector.h
svn-id: r25156
2007-01-21 20:24:38 +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
Eugene Sandulenko
c01839bbe9 Make ADGameFileDescription is built in directly into ADGameDescription.
svn-id: r24947
2006-12-29 00:03:03 +00:00
Max Horn
559f2b62eb Renamed real_ADVANCED_DETECTOR_DETECT_GAMES_FUNCTION to ADVANCED_DETECTOR_DETECT_GAMES_FUNCTION, and real_ADVANCED_DETECTOR_DETECT_INIT_GAME to ADVANCED_DETECTOR_DETECT_INIT_GAME
svn-id: r24896
2006-12-19 23:57:04 +00:00
Max Horn
d8d32812c8 Merged SagaEngine::postInitGame() into SagaEngine::initGame()
svn-id: r24887
2006-12-19 13:50:34 +00:00
Eugene Sandulenko
457ebfea3c Get rif od ARRAYSIZE in ADGameDescription
svn-id: r24882
2006-12-19 04:35:08 +00:00
Eugene Sandulenko
18ce381060 Got rid of ARRAYSIZE in advanceDetector calls
svn-id: r24881
2006-12-19 03:52:04 +00:00
Gregory Montoir
fcef47947e Got rid of an 'unused variable' warning
svn-id: r24792
2006-11-27 00:49:59 +00:00
Max Horn
1f26cb8965 Reworked code in the advanced game detector (getting rid of much of the evil #define hell it consisted of previously)
svn-id: r24685
2006-11-12 03:23:29 +00:00
Eugene Sandulenko
a977988058 Next step in AdvancedDetector unification. Moved all common functions to
macroses. Now typical usage is just list of macros with parameters and 
array of game details.

svn-id: r24670
2006-11-10 22:43:10 +00:00
Eugene Sandulenko
9b28b7473c Workaround for bug #1259608: "ITE: Riff ignores command in Ferret merchant
center"

svn-id: r24664
2006-11-09 13:19:23 +00:00
Gregory Montoir
f9cf368a67 got rid of two memory leaks
svn-id: r24589
2006-11-03 21:01:49 +00:00
Max Horn
7889783cac const correctness
svn-id: r24488
2006-10-24 09:44:20 +00:00
Max Horn
07f7761479 Backend modularization: Create timer manager, savefile manager and audio mixer in the backends for increased flexibility
svn-id: r24443
2006-10-22 15:42:29 +00:00
Max Horn
9edf1e6a1a cleanup
svn-id: r24407
2006-10-21 12:44:10 +00:00
Eugene Sandulenko
1e0f2f6d1b Remove unneeded #includes.
svn-id: r24311
2006-10-14 13:22:47 +00:00
Eugene Sandulenko
9142322cb0 More const madness.
svn-id: r24191
2006-10-08 07:48:19 +00:00
Eugene Sandulenko
107a9f3bef Moved unrelated fields out of ADGameDescription structure.
svn-id: r24090
2006-10-02 23:31:14 +00:00
Eugene Sandulenko
988ddf2b36 Unify SAGA/AGOS detection code so other engines could also reuse it
without further code duplication.

svn-id: r24083
2006-10-02 22:21: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
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
Max Horn
a2dc897fe5 Reduce code duplication
svn-id: r23888
2006-09-16 15:01:14 +00:00
Travis Howell
4de0c30ad1 Fix bug #1544801 - ITE: Engine creates launcher entry when failing to launch
svn-id: r23751
2006-08-26 11:33:15 +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
Max Horn
53f73eac85 Added explicit string equals/hash functors to a new header common/hash-str.h; removed Hash functor specialization for String and char pointers; changed all code using hashmaps with string keys to explicitly specify whether they honor or ignore case
svn-id: r23634
2006-07-30 12:21:54 +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
Torbjörn Andersson
6050989bd8 Changed SAGA_ACTOR_H__ to SAGA_ACTOR_H etc for consistency.
svn-id: r23583
2006-07-23 15:16:50 +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
4ae5cef491 - let md5_file accept a FilesystemNode too
- changes some engine detectors to use it

svn-id: r23559
2006-07-22 14:59:44 +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
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
ecfedb1e81 Cleanup. It seems unnecessary to have a "break" right after an unconditional
return in a switch case.

svn-id: r23198
2006-06-20 18:55:25 +00:00
Eugene Sandulenko
f1831b8b5d Fix gcc warning.
svn-id: r23149
2006-06-16 19:34:16 +00:00
Andrew Kurushin
9e21960e93 fix bug id 1507216 "ITE: 15 second freeze in Prince's bedroom"
svn-id: r23148
2006-06-16 18:41:24 +00:00
Eugene Sandulenko
de95d463a8 Support of new subtitles code. Patch from salty-horse.
svn-id: r23031
2006-06-11 20:30:43 +00:00
Eugene Sandulenko
423cbd8a2e Fix bug #1502021: "ITE: January 2006 Release menu problem"
svn-id: r22977
2006-06-07 09:31:52 +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
Travis Howell
f840b356c6 Add newline to end of file
svn-id: r22434
2006-05-13 10:39:35 +00:00
Andrew Kurushin
64c3407500 extract GameDescriptions to separate files (this will help compress_saga tool to detect sound resource)
svn-id: r22433
2006-05-13 10:30:38 +00:00
Torbjörn Andersson
e2656a276a Changed abs() to ABS()
svn-id: r22389
2006-05-08 13:34:21 +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
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
Eugene Sandulenko
35098dbd9f Introduce and use Engine_Empty() and Engine::GUIErrorMessage()
svn-id: r22165
2006-04-26 00:59:13 +00:00
Eugene Sandulenko
d53348797f Show GUI message when game data is not found.
svn-id: r22164
2006-04-25 23:31:11 +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
6c076f80d7 Reduced dependencies on base/plugins.h
svn-id: r21940
2006-04-16 13:12:23 +00:00
Max Horn
ba1b25305e Removed the directory parameter from md5_file
svn-id: r21937
2006-04-16 12:50:39 +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
1470dadb1d Changed File::open to take a Common::String as file name parameter
svn-id: r21867
2006-04-14 01:48:51 +00:00
Johannes Schickel
e9034e274f Fixes save/load.
svn-id: r21842
2006-04-13 13:55:10 +00:00
Eugene Sandulenko
5a2ad04a9e Introduced language EN_ANY used for general English game entries. EN_USA and
EN_GRB should be used for games which have both variants. Currently it is
MM NES and BASS. All other are switched to EN_ANY.

svn-id: r21702
2006-04-08 23:12:56 +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
Max Horn
dc77d02c7e Removed common/map.h with the Common::Map template class (it was a very bad implementation, and our HashMap is simply better).
svn-id: r21688
2006-04-08 11:38:41 +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
f5c4634ecd Fix md5 for German IHNM
svn-id: r21606
2006-04-04 22:00:16 +00:00
Max Horn
49d63590ab Removing superfluous addDefaultDirectory call
svn-id: r21531
2006-04-01 21:30:06 +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
Max Horn
9f93e5bb81 Renamed various container isEmpty() methods to empty() to match STL conventions
svn-id: r21472
2006-03-28 09:42:54 +00:00
Max Horn
950c3451a2 Removing bogus leftovers
svn-id: r21471
2006-03-28 09:37:50 +00:00
Andrew Kurushin
7191d474a4 improve game detection:
- start process speedup (remove already scanned files)
- merge md5 & game files list

svn-id: r21468
2006-03-27 16:56:08 +00:00
Andrew Kurushin
9586f11bdf fix ITE SUNSPOT music loop
svn-id: r21439
2006-03-24 18:15:57 +00:00
Max Horn
ab1694aef9 Compute the full game title when detecting games & creating engine instances, and also use that for savegames (all for debugging)
svn-id: r21285
2006-03-14 13:28:28 +00:00
Max Horn
6db0289f30 Moved SAGA plugin interface code from saga.cpp to game.cpp
svn-id: r21181
2006-03-09 14:33:07 +00:00
Max Horn
aad520026c Modified SAGA engine to use DetectedGame::updateDesc (note: there is a new TODO in the saveload code now)
svn-id: r21171
2006-03-09 13:22:30 +00:00
Max Horn
783264fe28 Made sure the generic ITE description matches the 'special' ones in game.cpp
svn-id: r21169
2006-03-09 13:03:23 +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
d2f78184af - added new toDetectedGame() template function (analog to toGameSettings)
- made use of the new DetectedGame constructor from my last commit
- some related cleanup

svn-id: r21149
2006-03-09 01:42:56 +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
140f6fce26 Hiding the implementation of ADPCMInputStream from the public, in favor of a factory function (just like with the other AudioStream subclasses)
svn-id: r21043
2006-03-03 15:51:33 +00:00
Max Horn
907bd7128d Fix for bug #1438822 (Targets are case sensitive)
svn-id: r21017
2006-03-02 22:29:01 +00:00
Andrew Kurushin
55898dfe61 apply CYX mem-leak fix patch
svn-id: r21013
2006-03-02 18:25:56 +00:00
Max Horn
1f987027f8 Removed last two uses of MKID
svn-id: r20872
2006-02-25 11:12:44 +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
Eugene Sandulenko
e0b7feeaed Move addDefaultDirectory() calls out of init() method to constructor.
svn-id: r20679
2006-02-14 01:59:32 +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