Age | Commit message (Collapse) | Author |
|
malcolm and kallak.
Also corrects callback50() which seem to improve the sound a bit in the kallak writing scene.
svn-id: r21238
|
|
timer inaccuracies can cause that kind of problems, or we'd have noticed it in
the other game engines as well", guess what? The other game engines do not
necessary use a timer for their Adlib music. So now Kyra doesn't either.
Fortunately for my dignity, the music is still a bit uneven at times, but the
situation does seem to have improved a bit, and the sound effects sound better
to me now.
svn-id: r21237
|
|
svn-id: r21236
|
|
Cleaned up the sound code a bit (removed some unneeded functions).
svn-id: r21234
|
|
svn-id: r21233
|
|
update1() -> setupDuration()
updateAndOutput1() -> setupNote()
setInstrument() -> setupInstrument() (just for the symmetry)
updateAndOutput3() -> noteOn()
That made the following two renamings seem natural:
updateCallback10() -> update_playRest()
updateCallback27() -> update_playNote()
I decided to number the secondary effects, even though there's only one:
update_setupSecondaryEffect() -> update_setupSecondaryEffect1()
update_removeSecondaryEffect() -> update_removeSecondaryEffect1()
And finally, I renamed the effects callbacks:
stateCallback1_1() -> primaryEffect1()
stateCallback1_2() -> primaryEffect2()
stateCallback2_1() -> secondaryEffect1()
svn-id: r21232
|
|
svn-id: r21231
|
|
of use in tracking down the tempo bugs.
svn-id: r21230
|
|
svn-id: r21229
|
|
checked by water
svn-id: r21228
|
|
svn-id: r21227
|
|
svn-id: r21222
|
|
svn-id: r21220
|
|
svn-id: r21219
|
|
updateCallback18() -> update_setupPrimaryEffect1()
updateCallback19() -> update_removePrimaryEffect1()
updateCallback21() -> update_setupPrimaryEffect2()
updateCallback40() -> update_removePrimaryEffect2()
updateCallback14() -> update_setupSecondaryEffect()
updateCallback30() -> update_removeSecondaryEffect()
updateCallback37() -> update_changeExtraLevel1()
updateCallback34() -> update_changeExtraLevel2()
svn-id: r21217
|
|
svn-id: r21216
|
|
svn-id: r21214
|
|
svn-id: r21213
|
|
svn-id: r21212
|
|
svn-id: r21211
|
|
svn-id: r21209
|
|
svn-id: r21208
|
|
variables in OutputState.
svn-id: r21207
|
|
callbackOutput() and updateCallback3() functions won't change the channel data
pointer unless the new sound has a higher unk2 and the current one.
Since it's set to 0 when the data pointer is nulled, I've changed the priority
to be unsigned.
The updateCallback22() function is now update_setPriority().
svn-id: r21206
|
|
svn-id: r21205
|
|
_curTable channel, but it probably does so whenever both of them are used
together.
svn-id: r21204
|
|
variables, and cleaned it up slightly. (Some of its variables are now signed.)
svn-id: r21203
|
|
variables.
svn-id: r21202
|
|
svn-id: r21201
|
|
and variables.
svn-id: r21200
|
|
level", which I believe is the individual channel volume. (The functions also
return the "scaling level" bits, but they are preserved, not calculated.) I
have renamed these functions calculateOpLevel1() and 2().
The unk25 and unk26 variables have been renamed opLevel1 and opLevel2. These
are called oplvl_1 and oplvl_2 in our MidiDriver_ADLIB class.
The unk26, unk27 and unk28 variables are potentially added to both operator
levels, and have been renamed opExtraLevel1, opExtralevel2 and opExtraLevel3.
The updateCallback25() function has been remamed update_setExtraLevel1().
The updateCallback33() function has been renamed update_setExtraLevel2().
The updateCallback32() function has been renamed update_setExtraLevel3().
Note that these callbacks aren't quite as similar as their names would seem to
indicate: They differ in whether or not the volume is updated and/or how the
parameters are passed.
svn-id: r21199
|
|
class, where the corresponding variable is called _twochan.
svn-id: r21198
|
|
stuff, it pretty much has to be our "set instrument" function. Also, while I'm
not entirely sure of the implications, "unk23" is the Algorithm bit for the
Feedback / Algorithm register, so I've renamed it "algorithm".
svn-id: r21197
|
|
svn-id: r21196
|
|
exist in HE games. Fixes glitch when time machine is used in putttime.
svn-id: r21195
|
|
svn-id: r21191
|
|
svn-id: r21190
|
|
svn-id: r21189
|
|
svn-id: r21186
|
|
- Adds sound fading support to the adlib player
- Adds support for stopping running tracks
- Changes baseFreq type back to uint8
- corrects octave handling in updateAndOutput1
(Thanks to eriktorbjorn for doing that)
svn-id: r21185
|
|
all: it adjusts the frequency even when state.unk16 is zero. Fixed that, and
added some comments to hopefully explain the differences between the cleaned up
code and the original disassembly.
svn-id: r21184
|
|
* Rewrote updateCallback41() in terms of updateAndOutput1(), since they were
almost identical to begin with.
* Rewrote updateAndOutput1() for better readability.
* Made unk10 signed, and renamed it baseOctave.
* Made unk14 signed, and renamed it baseNote.
* Made unk15 signed, and renamed it baseFreq.
* Renamed unk17 regAx. It appears to be a cache for that register.
* Renamed unkOutputValue1 regBx. It appears to be a cache for that register.
* Renamed updateCallback8() update_setBaseOctave().
* Renamed updateCallback13() update_setBaseNote().
* Renamed updateCallback20() update_setBaseFreq().
Which still leaves the mystery of unk16 and _unkTables[]. Perhaps *this* is the
pitch bend?
svn-id: r21183
|
|
svn-id: r21181
|
|
svn-id: r21180
|
|
svn-id: r21179
|
|
svn-id: r21176
|
|
TODO in the saveload code now)
svn-id: r21171
|
|
svn-id: r21169
|
|
variable; added (commented out) entries for the german and french lure
svn-id: r21168
|
|
svn-id: r21167
|