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