aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine
AgeCommit message (Collapse)Author
2010-01-04Fallback detector:Filippos Karapetis
- Added detection for SCI2 games (GK1, PQ4, QFG4) - Rewrote the way demos are detected - Games are no longer distinguished from the existence of certain files svn-id: r46970
2010-01-03Renamed SCI_VERSION_AUTODETECT to SCI_VERSION_NONE to signify its actual purposeFilippos Karapetis
svn-id: r46959
2010-01-03sane_nodep() and sane_listp() should not be dummy functions when ↵Filippos Karapetis
DISABLE_VALIDATIONS is set, so that the engine doesn't try and refer to null pointer objects (and subsequently crash) svn-id: r46956
2010-01-03Fixed compilation with DISABLE_VALIDATIONS, and fixed a bug in kPrevNodeFilippos Karapetis
svn-id: r46949
2010-01-03SCI: Support pointer arithmetics in +ag, +agi, etc. tooLars Skovlund
svn-id: r46935
2010-01-03The "room" command can now set the current room number, too (more ↵Filippos Karapetis
straightforward than changing global var 13) svn-id: r46925
2010-01-03Implement kInPolygon for SCI32. GK1 now responds when you click on things.Matthew Hoops
svn-id: r46918
2010-01-02SCI: implemented new console command "listsaves"Martin Kiewitz
svn-id: r46883
2010-01-02Fix the GK1 CD intro sequence (regression from r46839, which fixed a ↵Matthew Hoops
regression from r46656). kPlatform with no arguments is different in SCI32. svn-id: r46874
2010-01-01SCI: Fix segfault in dual-language KQ5.Walter van Niftrik
svn-id: r46864
2010-01-01SCI: kDoAudio now also clips volume and adjusts to mixer volumeMartin Kiewitz
svn-id: r46852
2010-01-01SCI/newmusic: now clips volume against MUSIC_VOLUME_MAX (127) instead of the ↵Martin Kiewitz
mixer max volume (which would be wrong of course), adjusts volume when setting sample channel volume svn-id: r46850
2010-01-01SCI: volume for sci0 now set to 127, now using constant instead of valueMartin Kiewitz
svn-id: r46849
2010-01-01SCI: Added TODO within kDoAudioMartin Kiewitz
svn-id: r46847
2010-01-01SCI: fixing bad sorting of saved games due MMDDYYYY date savingMartin Kiewitz
svn-id: r46846
2010-01-01SCI/new music code: The MIDI driver is now reset whenever the game's VM ↵Filippos Karapetis
respawns, like what the old music code does. Fixes the MIDI music in KQ5CD, Lonbgow and perhaps others svn-id: r46843
2010-01-01Fixed KQ5CD (regression from rev. 46656)Filippos Karapetis
svn-id: r46839
2010-01-01Fixed broken savegames when saving with the new music codeFilippos Karapetis
svn-id: r46837
2010-01-01Added a comment for the reason updateSci0Cues() is called within kAnimate()Filippos Karapetis
svn-id: r46833
2010-01-01SCI: fixing saved game compatibilityMartin Kiewitz
svn-id: r46827
2010-01-01SCI: implement kFOpen (OPEN_OR_CREATE), makes it possible to save character ↵Martin Kiewitz
data at the end of qfg1ega svn-id: r46814
2010-01-01SCI/new music code:Filippos Karapetis
- Resolved a deadlock with the mixer, and added appropriate mutexes (a result of the fact that SCI mixes MIDI and digital audio in the same list) - Fixed sound playing when loading games, by properly resetting the MIDI driver - Reverted savegame version to 14 - the changes in versions 15 and 16 don't have any effect on the currently enabled old music code, and the new music code is disabled by default, and is still prone to changes - Now saving/loading signal, loop and hold for each sound, as well as reverb - Added stub code for setting reverb and channel hold - The signal, loop and hold values of each song are cached, like in SSCI and like what happens in Greg's SCI implementation. This allows a clear separation of the engine code from the rest of the engine. Reverted commits 46792 and 46797 - Removed duplicate song list accessing code - Song cues are now updated in kAnimate for SCI0, like the old music code does, to compensate for the fact that SCI0 didn't poll for music changes via cmdUpdateCues, like what SCI01 and newer do - Cleanup svn-id: r46812
2009-12-31SCI: kFileIO findFirst/findNext returns only game-specific prefixed filesMartin Kiewitz
svn-id: r46811
2009-12-31SCI: keyboard change cleanup, fixed Ctrl and Alt related keys on foreign ↵Martin Kiewitz
keyboards as well svn-id: r46803
2009-12-31Changed kValidPath() to always return true, regardless of the value of ↵Filippos Karapetis
savePath (so that it works with both SCI11 and SCI32 games) svn-id: r46800
2009-12-31SCI/new music code: The loop selector for each music score is no longer ↵Filippos Karapetis
cached, but read directly from the sound object svn-id: r46792
2009-12-31kLocalToGlobal has a 'Plane' variant in SCI32 like its kGlobalToLocal ↵Matthew Hoops
sibling. The restore menu is now slightly navigatable. svn-id: r46790
2009-12-31Overload the = operator for SciArray which fixes the setType errors in GK1. ↵Matthew Hoops
Some other cleanup too. GK1 can now access the restore menu and get a bit further in the game (until a segfault in the Decompressor code). svn-id: r46789
2009-12-30Rename Common::Stream::readLine_NEW to readLineMax Horn
svn-id: r46779
2009-12-30SCI32: Added sanity checks to kAddScreenItem and kUpdateScreenItem, so that ↵Filippos Karapetis
they don't try and draw cels outside the screen svn-id: r46767
2009-12-30SCI32:Matthew Hoops
- Set signature for Array/String - Add the kernel table differences for the GK2 demo - Implement kMessage changes in SCI32 - Use an empty string as the default path for all games now (and modify kValidPath to accept that only as valid) - Add dereferencing for Arrays svn-id: r46756
2009-12-30Formatting.Johannes Schickel
svn-id: r46755
2009-12-30Fixed warningsFilippos Karapetis
svn-id: r46747
2009-12-30Initial implementation of the SCI21 kList kernel function (which calls all ↵Filippos Karapetis
the other list-related functions), thanks to the help of waltervn svn-id: r46744
2009-12-30SCI32: Moved all the list related kernel functions inside klists.cpp, and ↵Filippos Karapetis
implemented kListAllTrue with the help of waltervn svn-id: r46742
2009-12-30Implemented ListFirstTrue(), thanks to the help of waltervn. Now, buttons ↵Filippos Karapetis
can be highlighted and clicked when the control panel is shown in GK1, and the options dialog pops up when the options button is selected svn-id: r46741
2009-12-30SCI32: added handling of variable selectors in kListEachElementDo() and ↵Filippos Karapetis
silenced some annoying warnings svn-id: r46740
2009-12-30SCI32: added some of clone2727's changes to kArray and kString, and ↵Filippos Karapetis
implemented kListIndexOf svn-id: r46739
2009-12-30The wrapper for the VMD decoder is only used in the SCI engine for SCI32 ↵Filippos Karapetis
games, so moved it inside the engine, instead of common code. Added support for VMD video playing from the "play_video" console command svn-id: r46737
2009-12-29SCI: returning back raw == 0, when script trying to access invalid memoryMartin Kiewitz
svn-id: r46720
2009-12-29SCI: dont crash when scripts are trying to access invalid memory (fixes ↵Martin Kiewitz
intro of lb2cd) svn-id: r46718
2009-12-29Removed leftover debug outputFilippos Karapetis
svn-id: r46698
2009-12-28SCI: Start objectifying MusicEntryMax Horn
svn-id: r46687
2009-12-28SCI/new sound code:Filippos Karapetis
- Made the SciMusic class private, and added wrapper functions for invoking specific methods of SciMusic from outside the SoundCommandParser class - Many SCI games keep creating and destroying sound effects constantly (i.e. many times per second). Therefore, another scheme has been devised, which replaces the mutex that was in place. Whenever a sound command is run which operates on a specific object in the play list, we disallow onTimer() from kicking in. This isn't ideal, but it does stop random deadlocks because of locked mutexes without any noticeable side effects svn-id: r46681
2009-12-28Moved the OLD_PATHFINDING define inside sci.h, together with the othersFilippos Karapetis
svn-id: r46679
2009-12-28Added a workaround for an off-by-one invalid species access bug in the LSL2 ↵Filippos Karapetis
demo svn-id: r46673
2009-12-27SCI/new music code:Filippos Karapetis
- Switched to Common::StackLock for mutexes - Renamed Music::stopAll() -> Music::clearPlayList() - Implemented a better Music::stopAll method, which stops all sounds with proper signals, instead of destroying them - Renamed the SCI0 command cmdGetPlayNext -> cmdStopAllSounds and implemented it svn-id: r46665
2009-12-27Implement kPlatform subfunctions 0 and 2, and stub 1 and 3 (CD speed and CD ↵Matthew Hoops
check). This fixes the DOS version of GK1 CD to play the SEQ's instead of the AVI's. svn-id: r46656
2009-12-27SCI/new music code:Filippos Karapetis
- Implemented sound muting - Now saving/loading the master music volume svn-id: r46643
2009-12-27Renamed gameName -> gameId, to keep the same vocabulary everywhereFilippos Karapetis
svn-id: r46635