Commit Graph
4076 Commits
Author SHA1 Message Date
Filippos Karapetis 781dd3b183 Fixed compilation with DISABLE_VALIDATIONS, and fixed a bug in kPrevNode
svn-id: r46949
2010-01-03 21:12:44 +00:00
Lars Skovlund 6cc4dacf5e SCI: Support pointer arithmetics in +ag, +agi, etc. too
svn-id: r46935
2010-01-03 17:40:17 +00:00
Filippos Karapetis 2f23eb99ee The "room" command can now set the current room number, too (more straightforward than changing global var 13)
svn-id: r46925
2010-01-03 15:08:26 +00:00
Matthew Hoops 986a75b7ee Implement kInPolygon for SCI32. GK1 now responds when you click on things.
svn-id: r46918
2010-01-03 05:29:30 +00:00
Martin Kiewitz d4738631d5 SCI: implemented new console command "listsaves"
svn-id: r46883
2010-01-02 14:08:26 +00:00
Matthew Hoops 1f2c92076b Fix the GK1 CD intro sequence (regression from r46839, which fixed a regression from r46656). kPlatform with no arguments is different in SCI32.
svn-id: r46874
2010-01-02 03:44:40 +00:00
Walter van Niftrik 205f7437ea SCI: Fix segfault in dual-language KQ5.
svn-id: r46864
2010-01-01 23:48:22 +00:00
Martin Kiewitz 44dc3f9bfb SCI: kDoAudio now also clips volume and adjusts to mixer volume
svn-id: r46852
2010-01-01 21:26:46 +00:00
Martin Kiewitz 379ae6df30 SCI/newmusic: now clips volume against MUSIC_VOLUME_MAX (127) instead of the mixer max volume (which would be wrong of course), adjusts volume when setting sample channel volume
svn-id: r46850
2010-01-01 21:04:20 +00:00
Martin Kiewitz 967853c03f SCI: volume for sci0 now set to 127, now using constant instead of value
svn-id: r46849
2010-01-01 20:49:56 +00:00
Martin Kiewitz 2a9e835695 SCI: Added TODO within kDoAudio
svn-id: r46847
2010-01-01 20:26:18 +00:00
Martin Kiewitz 7b0c1f262f SCI: fixing bad sorting of saved games due MMDDYYYY date saving
svn-id: r46846
2010-01-01 19:52:50 +00:00
Filippos Karapetis 98194bfe13 SCI/new music code: The MIDI driver is now reset whenever the game's VM respawns, like what the old music code does. Fixes the MIDI music in KQ5CD, Lonbgow and perhaps others
svn-id: r46843
2010-01-01 19:23:23 +00:00
Filippos Karapetis 763c59bd46 Fixed KQ5CD (regression from rev. 46656)
svn-id: r46839
2010-01-01 17:16:12 +00:00
Filippos Karapetis 54d9bf4c57 Fixed broken savegames when saving with the new music code
svn-id: r46837
2010-01-01 16:42:35 +00:00
Filippos Karapetis 74ae4ecc48 Added a comment for the reason updateSci0Cues() is called within kAnimate()
svn-id: r46833
2010-01-01 15:35:27 +00:00
Martin Kiewitz 385c462352 SCI: fixing saved game compatibility
svn-id: r46827
2010-01-01 14:22:07 +00:00
Martin Kiewitz b1b6555cb5 SCI: implement kFOpen (OPEN_OR_CREATE), makes it possible to save character data at the end of qfg1ega
svn-id: r46814
2010-01-01 10:08:14 +00:00
Filippos Karapetis afc4bc1295 SCI/new music code:
- 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
2010-01-01 06:41:52 +00:00
Martin Kiewitz ac7c92c67f SCI: kFileIO findFirst/findNext returns only game-specific prefixed files
svn-id: r46811
2009-12-31 23:59:28 +00:00
Martin Kiewitz e56dedec3f SCI: keyboard change cleanup, fixed Ctrl and Alt related keys on foreign keyboards as well
svn-id: r46803
2009-12-31 17:43:54 +00:00
Filippos Karapetis cb6b1e8aff Changed kValidPath() to always return true, regardless of the value of savePath (so that it works with both SCI11 and SCI32 games)
svn-id: r46800
2009-12-31 14:59:30 +00:00
Filippos Karapetis 54245f712d SCI/new music code: The loop selector for each music score is no longer cached, but read directly from the sound object
svn-id: r46792
2009-12-31 08:30:30 +00:00
Matthew Hoops 92a8d1360a kLocalToGlobal has a 'Plane' variant in SCI32 like its kGlobalToLocal sibling. The restore menu is now slightly navigatable.
svn-id: r46790
2009-12-31 05:30:25 +00:00
Matthew Hoops 7d131627fe Overload the = operator for SciArray which fixes the setType errors in GK1. 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-31 05:11:58 +00:00
Max Horn d083e02215 Rename Common::Stream::readLine_NEW to readLine
svn-id: r46779
2009-12-30 23:00:55 +00:00
Filippos Karapetis d4556f5a26 SCI32: Added sanity checks to kAddScreenItem and kUpdateScreenItem, so that they don't try and draw cels outside the screen
svn-id: r46767
2009-12-30 18:33:03 +00:00
Matthew Hoops 5382aa1ab0 SCI32:
- 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-30 16:00:56 +00:00
Johannes Schickel fd2d0fc718 Formatting.
svn-id: r46755
2009-12-30 15:48:43 +00:00
Filippos Karapetis 6305dde687 Fixed warnings
svn-id: r46747
2009-12-30 15:01:54 +00:00
Filippos Karapetis 17454ee80f Initial implementation of the SCI21 kList kernel function (which calls all the other list-related functions), thanks to the help of waltervn
svn-id: r46744
2009-12-30 14:31:00 +00:00
Filippos Karapetis d8b67ed7c6 SCI32: Moved all the list related kernel functions inside klists.cpp, and implemented kListAllTrue with the help of waltervn
svn-id: r46742
2009-12-30 14:00:30 +00:00
Filippos Karapetis bbc52c13ab Implemented ListFirstTrue(), thanks to the help of waltervn. Now, buttons 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-30 13:43:17 +00:00
Filippos Karapetis 5430de7931 SCI32: added handling of variable selectors in kListEachElementDo() and silenced some annoying warnings
svn-id: r46740
2009-12-30 13:19:52 +00:00
Filippos Karapetis 0e63912970 SCI32: added some of clone2727's changes to kArray and kString, and implemented kListIndexOf
svn-id: r46739
2009-12-30 12:55:24 +00:00
Filippos Karapetis bcc33871c1 The wrapper for the VMD decoder is only used in the SCI engine for SCI32 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-30 10:09:48 +00:00
Martin Kiewitz c992cd018c SCI: returning back raw == 0, when script trying to access invalid memory
svn-id: r46720
2009-12-29 22:26:09 +00:00
Martin Kiewitz 3e5d8280fa SCI: dont crash when scripts are trying to access invalid memory (fixes intro of lb2cd)
svn-id: r46718
2009-12-29 21:37:26 +00:00
Filippos Karapetis 53068b9e42 Removed leftover debug output
svn-id: r46698
2009-12-29 01:24:02 +00:00
Max Horn 81a1d45821 SCI: Start objectifying MusicEntry
svn-id: r46687
2009-12-28 21:03:13 +00:00
Filippos Karapetis 5cb5fe22ea SCI/new sound code:
- 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-28 20:10:15 +00:00
Filippos Karapetis 871d5c534d Moved the OLD_PATHFINDING define inside sci.h, together with the others
svn-id: r46679
2009-12-28 17:17:22 +00:00
Filippos Karapetis 2973862488 Added a workaround for an off-by-one invalid species access bug in the LSL2 demo
svn-id: r46673
2009-12-28 14:22:11 +00:00
Filippos Karapetis 5adb6277eb SCI/new music code:
- 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-27 23:46:11 +00:00
Matthew Hoops 264bec306a Implement kPlatform subfunctions 0 and 2, and stub 1 and 3 (CD speed and CD check). This fixes the DOS version of GK1 CD to play the SEQ's instead of the AVI's.
svn-id: r46656
2009-12-27 19:16:06 +00:00
Filippos Karapetis 9f37be314d SCI/new music code:
- Implemented sound muting
- Now saving/loading the master music volume

svn-id: r46643
2009-12-27 14:11:26 +00:00
Filippos Karapetis fabe51c129 Renamed gameName -> gameId, to keep the same vocabulary everywhere
svn-id: r46635
2009-12-27 12:54:03 +00:00
Filippos Karapetis 6af32b5b3a Really fixed compilation
svn-id: r46630
2009-12-27 12:21:12 +00:00
Filippos Karapetis 19cb4ad6e0 Hopefully fixed compilation
svn-id: r46628
2009-12-27 12:12:14 +00:00
Filippos Karapetis 0a771e14c1 SCI/new music code:
- Removed a lot of accessors to the music list, and protected the 2 which are used now with mutexes
- Rewrote the music list save/load code to be methods of the SciMusic class

svn-id: r46623
2009-12-27 11:43:34 +00:00