Age | Commit message (Collapse) | Author |
|
to ~250). Many greetings to eriktorbjorn, and have fun recompiling.
svn-id: r21500
|
|
svn-id: r21499
|
|
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
|
|
svn-id: r21472
|
|
Fixes bug with stopping pegasus music before the animation finished.
svn-id: r21469
|
|
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
|
|
channel's unsigned tempo. Rewrote the function to make this clearer, and
renamed it update_changeChannelTempo().
svn-id: r21448
|
|
unk11 -> durationRandomness
updateCallback12() -> update_setupNoteAndDuration()
updateCallback26() -> update_setupDuration()
updateCallback44() -> update_setDurationRandomness()
svn-id: r21447
|
|
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
|
|
svn-id: r21440
|
|
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
|
|
svn-id: r21394
|
|
svn-id: r21392
|
|
svn-id: r21379
|
|
with a negative value in certain rooms
svn-id: r21378
|
|
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
|
|
svn-id: r21367
|
|
#define conflicts
svn-id: r21366
|
|
- made some function parameters const (to work with new static res code)
svn-id: r21365
|
|
svn-id: r21358
|
|
drinks will be correct. Also fixes a bug where an animation
(Brandon ringing the bells) would play too quickly.
svn-id: r21354
|
|
svn-id: r21348
|
|
svn-id: r21347
|
|
catacombs")
- Fixes some sprite redraw bugs introduced with my last commits
- Fixes wsa drawing bug in the cave too
svn-id: r21346
|
|
flute sound, and probably other regressions as well.)
svn-id: r21345
|
|
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
|
|
Added some comments on the strange but probably harmless things going on in
playSoundEffect()
svn-id: r21340
|
|
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
|
|
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
|
|
callbackOutput() -> setupPrograms()
callbackProcess() -> executePrograms()
updateCallback3() -> update_setupProgram()
_unk4 -> _rhythmSection
updateCallback48() -> update_setupRhythmSection()
updateCallback49() -> update_playRhythmSection()
updateCallback50() -> update_removeRhythmSection()
svn-id: r21336
|
|
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
|
|
svn-id: r21334
|
|
just how similar callbackOutput() and updateCallback3() are.
svn-id: r21333
|
|
correct restored background)
- Fixes brandon width value after loading (removes gfx glitch while talking with the tree)
svn-id: r21332
|
|
- implements cmd_brandonToStoneSequence and cmd_pauseMusicSeconds
svn-id: r21320
|
|
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
|
|
svn-id: r21315
|
|
svn-id: r21314
|
|
automatically, for some reason.
svn-id: r21312
|
|
svn-id: r21311
|
|
svn-id: r21304
|
|
noisy.)
svn-id: r21303
|
|
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
|
|
- Adds support for amiga .pak files (and a filelist)
svn-id: r21299
|
|
svn-id: r21298
|
|
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
|
|
svn-id: r21290
|
|
svn-id: r21287
|
|
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
|
|
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
|