aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra
AgeCommit message (Collapse)Author
2006-03-29Do not #include endian.h in scummsys.h (cuts down deps on endian.h from ~400 ↵Max Horn
to ~250). Many greetings to eriktorbjorn, and have fun recompiling. svn-id: r21500
2006-03-29Alphabetical build orderMax Horn
svn-id: r21499
2006-03-28- Commits heaviliy modifed patch #1459951 ("KYRA: Combining MIDI music with ↵Johannes Schickel
Adlib sfx") (created a wrapper class for two different sound drivers instead of adding a new variable to the KyraEngine class and chaning stuff there) - Prevents to play track 0 for non mt-32 midi devices (got ugly sound output with windows midi) svn-id: r21479
2006-03-28Renamed various container isEmpty() methods to empty() to match STL conventionsMax Horn
svn-id: r21472
2006-03-27Comments out unneeded code in enterNewScene (only used for cd audio version).Johannes Schickel
Fixes bug with stopping pegasus music before the animation finished. svn-id: r21469
2006-03-26Cleaned up update_playRhythmSection(). It's almost possible to understand whatTorbjörn Andersson
it's intended to do now. Renamed _unkOutputByte2 to _vibratoAndAMDepthBits. It's a pretty terrible name, but that's what it is: the two most significant bits of the Adlib BD register. Renamed _rhythmSection to _rhythmSectionBits for consistency: It's the five least significant bits of the Adlib BD register. (The remaining bit is the rhythm on/off bit. I don't think we store that one in any variable.) svn-id: r21463
2006-03-25I believe that the purpose of updateCallback45() is to add a signed value to aTorbjörn Andersson
channel's unsigned tempo. Rewrote the function to make this clearer, and renamed it update_changeChannelTempo(). svn-id: r21448
2006-03-25More renamings:Torbjörn Andersson
unk11 -> durationRandomness updateCallback12() -> update_setupNoteAndDuration() updateCallback26() -> update_setupDuration() updateCallback44() -> update_setDurationRandomness() svn-id: r21447
2006-03-25- Implemented case insensitive file reading. Left old system as a fallbackEugene Sandulenko
in case some engine writer decide to do something unwise - Removed used of ConfMan.getKey("path") in file-related cases, because now File class handles that - Fixed bug in ScummEngine_v80he::o80_getFileSize() where path delimiters weren't translated svn-id: r21443
2006-03-24Fix MSVC warningsAndrew Kurushin
svn-id: r21440
2006-03-21Implemented "sound triggers" so that the music does not stop shortly afterTorbjörn Andersson
entering the castle. I hope this is a fair approximation of how the original worked. Of course, this led to a couple of more renamings: _unk5 -> _soundTrigger updateCallback54() -> update_setSoundTrigger() snd_setUnk5() -> snd_getSoundTrigger() (yes, "get") At the moment, the only known sound triggers are the ones in the castle. If an unknown trigger is set, the debugging messages will be really, really noisy. I don't know if I should consider this a bug or an extremely annoying feature. svn-id: r21396
2006-03-20Implements cmd_shakeScreen.Johannes Schickel
svn-id: r21394
2006-03-20Initialise _haveScrollButtons, since Valgrind complained about it.Torbjörn Andersson
svn-id: r21392
2006-03-19Makes sure Brandon actually dies when he turns to stone in the kyragem roomOystein Eftevaag
svn-id: r21379
2006-03-19Fixes a potential problem in the pathfinder where an array could be accessed ↵Oystein Eftevaag
with a negative value in certain rooms svn-id: r21378
2006-03-19Adds button press animations to the menu, and resets the cursor when the ↵Oystein Eftevaag
Dialog of Death pops up. Also, mouse clicks are now registered on button up instead of button down, as in the original svn-id: r21377
2006-03-18Oops, forgot to change a variable declaration in the last commitOystein Eftevaag
svn-id: r21367
2006-03-18Changed 'amiga' keywords to 'isAmiga' in the resource handling code to avoid ↵Oystein Eftevaag
#define conflicts svn-id: r21366
2006-03-18- started to rework static resource loadingJohannes Schickel
- made some function parameters const (to work with new static res code) svn-id: r21365
2006-03-18Fixes the color of the quitting dialog text after drinking a potionOystein Eftevaag
svn-id: r21358
2006-03-18Extends seq_drinkPotionAnim() so that the color of the flask BrandonOystein Eftevaag
drinks will be correct. Also fixes a bug where an animation (Brandon ringing the bells) would play too quickly. svn-id: r21354
2006-03-17Fixes animations when brandon turns inivisible/visible.Johannes Schickel
svn-id: r21348
2006-03-17Fixes bug #1401337 ("KYRA: Platform with pegasi graphics glitch")Johannes Schickel
svn-id: r21347
2006-03-17- Fixes bug #1401432 ("KYRA: Brandon graphics glitch when exiting castle ↵Johannes Schickel
catacombs") - Fixes some sprite redraw bugs introduced with my last commits - Fixes wsa drawing bug in the cave too svn-id: r21346
2006-03-17Oops, I never meant to remove *that* line! Put it back again. (This fixes theTorbjörn Andersson
flute sound, and probably other regressions as well.) svn-id: r21345
2006-03-17The opcode functions are not allowed to modify their own channel.dataptrTorbjörn Andersson
directly. If they want a new data pointer, they have to use the dataptr parameter. This fixes a subtle bug that would cause the wrong music to play when getting the quill in Kyra 1. svn-id: r21344
2006-03-16More cleanups and renamings: _sfxSecondByteOfSong -> _sfxPriorityTorbjörn Andersson
Added some comments on the strange but probably harmless things going on in playSoundEffect() svn-id: r21340
2006-03-16Went through callbacks 51, 52 and 53, comparing them to LordHoto's annotatedTorbjörn Andersson
disassembly. I think they're correct now, and a bit easier to read. My old comments were wrong, too. I think they are for manipulating the Adlib rhythm section volumes. I'm not sure the Kyra music ever uses the Adlib rhythm section. svn-id: r21339
2006-03-16We have several functions where we need to find the pointer to a program or anTorbjörn Andersson
instrument. These are found using the lookup tables in _soundData on offsets 0 and 500 respectively. Added helper functions for that, which makes the code a lot tidier. Particularly in update_setupRhythmSection(), where it's now much clearer where it's getting all those "unk" values from. Use the checkValue() function (which limits the "total level" to its valid range) for the calculateOpLevel1() and 2() functions as well. Renamed updateCallback16() to update_waitForEndOfProgram(). svn-id: r21337
2006-03-16More renamings:Torbjörn Andersson
callbackOutput() -> setupPrograms() callbackProcess() -> executePrograms() updateCallback3() -> update_setupProgram() _unk4 -> _rhythmSection updateCallback48() -> update_setupRhythmSection() updateCallback49() -> update_playRhythmSection() updateCallback50() -> update_removeRhythmSection() svn-id: r21336
2006-03-16I don't know if it's our bug, or a bug in the original Kyra music driver, butTorbjörn Andersson
updateCallback3() would call unkOutput2(9) in at least one case. This is obviously wrong because it a) reads outside _regOffsets[], and b) writes to invalid Adlib registers. Now unkOutput2() has the same safeguards as noteOff() already had, making callbackOutput() and updateCallback3() even more similar. svn-id: r21335
2006-03-16Oops. removes some unneeded shifts and fixes now the feather bug.Johannes Schickel
svn-id: r21334
2006-03-16Fixed some comments and made a couple of cleanups to make it a bit more clearTorbjörn Andersson
just how similar callbackOutput() and updateCallback3() are. svn-id: r21333
2006-03-16- Fixes some gfx glitches (the falling feather and the falling leaf now have ↵Johannes Schickel
correct restored background) - Fixes brandon width value after loading (removes gfx glitch while talking with the tree) svn-id: r21332
2006-03-15- removes a wrong space in debugC calls in screen.cppJohannes Schickel
- implements cmd_brandonToStoneSequence and cmd_pauseMusicSeconds svn-id: r21320
2006-03-15This is a bit of a hack: Before showing the mouse cursor, take care of anyTorbjörn Andersson
pending events so that the it won't have to do a little dance, catching up, every time you enter a room. svn-id: r21316
2006-03-15On second thought, that comment is probably not necessary.Torbjörn Andersson
svn-id: r21315
2006-03-15Added mouse wheel scrolling to save/restore dialogs.Torbjörn Andersson
svn-id: r21314
2006-03-15Revert previous change. I'm told some backends don't draw the mouse cursorTorbjörn Andersson
automatically, for some reason. svn-id: r21312
2006-03-15The backend handled cursor drawing -- no need to update the screen manually.Torbjörn Andersson
svn-id: r21311
2006-03-14Cleanup.Torbjörn Andersson
svn-id: r21304
2006-03-14Gave the loadBitmap debug message its old debug level back. (I.e. made it lessTorbjörn Andersson
noisy.) svn-id: r21303
2006-03-14Added workaround in FMOPL for the pathological case where a note was turned offTorbjörn Andersson
while still at the very beginning of the "attack" phase. This is the very lowest point on the attack curve, yet it would continue from the beginning of the release curve, i.e. its very highest point. This is what caused Kyra to often play low-frequency notes at the very beginning of a new song. (That, and a truly bizarre function for initialising the channels.) The proper fix would be to locate the correct point on the release curve and continue from there. For now, though, only handle the trivial case. svn-id: r21302
2006-03-14- Deletes wrong spaces in debugC calls in resource.cppJohannes Schickel
- Adds support for amiga .pak files (and a filelist) svn-id: r21299
2006-03-14Fix typo in comment.Torbjörn Andersson
svn-id: r21298
2006-03-14- Fixes a bug in update_primaryEffect (wrong sound from the birds outside ↵Johannes Schickel
brandons home is fixed with this) - Changes _tempo, tempo, position, unk41, unk32, unk18, unk19, _unkValue3 to unsigned (should be correct this time) svn-id: r21293
2006-03-14Fixes wrong sound then showing the death screen.Johannes Schickel
svn-id: r21290
2006-03-14Fixes _unkTables, I made a mistake while extracting those last time it seems.Johannes Schickel
svn-id: r21287
2006-03-14Updated comment with more circumstantial evidence that the low-frequency noteTorbjörn Andersson
bug is a bug in our fmopl.cpp. Ken Silverman's Adlib emulator doesn't seem to exhibit the bug either. (But is apparently less feature complete than MAME's.) svn-id: r21275
2006-03-13Further clarifications to the comment about the "low-frequency notes atTorbjörn Andersson
beginning of music" bugs. As an experiment, I tried hooking up ScummVM with the most recent version of the FMOPL code, and the bug went away. Unfortunately, I believe we are stuck with the ancient version for license (and performance?) reasons. svn-id: r21267