- 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
_unkTable[]. Investigating the latter further might help unravelling several of
the "unk" variables. (Right now, I'm suspecting that unk15 is the pitch bend.)
svn-id: r21164
the octave bits.
The unkOuput1() function always turns off the note, so I've renamed it
noteOff(). I've added some comments to unkOuput2() as well, but I'm still not
quite sure what its purpose is. It seems unlikely that it's simply a "note on"
function, given the many things it will clear for the channel. It does end by
turning the note on, though. Strange.
svn-id: r21162
- Added new GameDescriptor struct (similar to PlainGameDescriptor but with
Common::String members instead of const char * ones)
- Changed DetectedGame to subclass GameDescriptor
- Removed toGameSettings() in favor of new (template) constructors in
DetectedGame and GameDescriptor
- Fixed a bug in the obsolete gameid handling in the SCUMM & SIMON engines
svn-id: r21150
and speech modes (text only, speech only, speech & text) can now be
configured. Toggling music and sound in general is not enabled yet.
Also formatted the static menu resources a bit differently, made
sure some vars in the menu code always got initalized, and
fixed a slight formatting error :).
svn-id: r21145
have renamed it getRandomNr(). The _unk6 variable has been renamed _rnd. (Our
MidiDriver_ADLIB class also has its own random number generator, so it's not
such a far-fetched guess as it may seem.)
svn-id: r21102
update_writeAdlib(). (The "update_" prefix will probably be changed later, but
for now I want it to remain obvious that the functions belong to the other
updateCallback*() functions.)
svn-id: r20990
forward and backward. This seems to fix the looping of the Black forest music
(and probably others as well), and might fix the invalid pointer crashes and
wrong music that would sometimes play after a song had finished. Changed the
names of the jump opcode functions, and added "update_" prefixes to the
previously cleaned-up opcode functions.
svn-id: r20986
Implemented stateCallback1_1.
Fix some small bugs here and there (can't say what the fixed but it should be correct now)
Also set's the correct timer call value (with the other the music was too fast)
svn-id: r20973
evaluation when there are multiple side-effects on the same variable (in this
case the internal state modified by va_arg()) in the same expression. So let's
just humor me and do the va_arg() calls one at a time.
svn-id: r20970
- renamed Engine_XXX_gameList to Engine_XXX_gameList for consistency
- added new Engine_XXX_findGameID / PLUGIN_findGameID function
- updated plugins code to take advantage of the new plugin API, to support
obsolete gameids w/o showing them to the user
svn-id: r20752
their debugC calls now with the new introduced debugC calls.
(A mail how to use it will follow shortly on -devel)
Also now these special engine debug flags can be specified from the commandline.
Also made the -c & --config parameter check more secure.
svn-id: r20695