diff options
| author | Max Horn | 2010-06-29 20:50:52 +0000 | 
|---|---|---|
| committer | Max Horn | 2010-06-29 20:50:52 +0000 | 
| commit | b09996cb5cea63482c16faafb55d83bd50c04c90 (patch) | |
| tree | f2d62ffe97f0674beb9a9fe88c3f15ba6cddfaad | |
| parent | 7951e3ddcf1053686882b6fe4881a4607bcbea05 (diff) | |
| download | scummvm-rg350-b09996cb5cea63482c16faafb55d83bd50c04c90.tar.gz scummvm-rg350-b09996cb5cea63482c16faafb55d83bd50c04c90.tar.bz2 scummvm-rg350-b09996cb5cea63482c16faafb55d83bd50c04c90.zip  | |
SCI: Rewrap yet more comments
svn-id: r50505
| -rw-r--r-- | engines/sci/sound/audio.cpp | 16 | ||||
| -rw-r--r-- | engines/sci/sound/music.cpp | 43 | ||||
| -rw-r--r-- | engines/sci/sound/soundcmd.cpp | 60 | 
3 files changed, 69 insertions, 50 deletions
diff --git a/engines/sci/sound/audio.cpp b/engines/sci/sound/audio.cpp index 336218eaec..ed9061ab81 100644 --- a/engines/sci/sound/audio.cpp +++ b/engines/sci/sound/audio.cpp @@ -77,9 +77,10 @@ int AudioPlayer::startAudio(uint16 module, uint32 number) {  }  int AudioPlayer::wPlayAudio(uint16 module, uint32 tuple) { -	// Get the audio sample length and set the wPlay flag so we return 0 on position. -	// SSCI pre-loads the audio here, but it's much easier for us to just get the -	// sample length and return that. wPlayAudio should *not* actually start the sample. +	// Get the audio sample length and set the wPlay flag so we return 0 on +	// position. SSCI pre-loads the audio here, but it's much easier for us to +	// just get the sample length and return that. wPlayAudio should *not* +	// actually start the sample.  	int sampleLen = 0;  	Audio::AudioStream *audioStream = getAudioStream(tuple, module, &sampleLen); @@ -272,8 +273,8 @@ Audio::RewindableAudioStream *AudioPlayer::getAudioStream(uint32 number, uint32  		byte *compressedData = (byte *)malloc(audioRes->size);  		assert(compressedData);  		// We copy over the compressed data in our own buffer. We have to do -		// this, because ResourceManager may free the original data late. -		// All other compression types already decompress completely into an +		// this, because ResourceManager may free the original data late. All +		// other compression types already decompress completely into an  		// additional buffer here. MP3/OGG/FLAC decompression works on-the-fly  		// instead.  		memcpy(compressedData, audioRes->data, audioRes->size); @@ -367,8 +368,9 @@ Audio::RewindableAudioStream *AudioPlayer::getAudioStream(uint32 number, uint32  		*sampleLen = (audioSeekStream->getLength().msecs() * 60) / 1000; // we translate msecs to ticks  		audioStream = audioSeekStream;  	} -	// We have to make sure that we don't depend on resource manager pointers after this point, because the actual -	//  audio resource may get unloaded by resource manager at any time +	// We have to make sure that we don't depend on resource manager pointers +	// after this point, because the actual audio resource may get unloaded by +	// resource manager at any time.  	if (audioStream)  		return audioStream; diff --git a/engines/sci/sound/music.cpp b/engines/sci/sound/music.cpp index ba103ee746..874f0a381e 100644 --- a/engines/sci/sound/music.cpp +++ b/engines/sci/sound/music.cpp @@ -64,11 +64,16 @@ void SciMusic::init() {  	_dwTempo = 0;  	// Default to MIDI in SCI32 games, as many don't have AdLib support. -	// WORKAROUND: Default to MIDI in Amiga SCI1_EGA+ games as we don't support those patches yet. -	// We also don't yet support the 7.pat file of SCI1+ Mac games or SCI0 Mac patches, so we -	// default to MIDI in those games to let them run. +	// WORKAROUND: Default to MIDI in Amiga SCI1_EGA+ games as we don't support +	// those patches yet. We also don't yet support the 7.pat file of SCI1+ Mac +	// games or SCI0 Mac patches, so we default to MIDI in those games to let +	// them run.  	Common::Platform platform = g_sci->getPlatform(); -	uint32 dev =  MidiDriver::detectDevice((getSciVersion() >= SCI_VERSION_2 || platform == Common::kPlatformMacintosh || (platform == Common::kPlatformAmiga && getSciVersion() >= SCI_VERSION_1_EGA)) ? (MDT_PCSPK | MDT_ADLIB | MDT_MIDI | MDT_PREFER_GM) : (MDT_PCSPK | MDT_ADLIB | MDT_MIDI)); +	uint32 dev =  MidiDriver::detectDevice( +						(getSciVersion() >= SCI_VERSION_2 || platform == Common::kPlatformMacintosh || +						 (platform == Common::kPlatformAmiga && getSciVersion() >= SCI_VERSION_1_EGA)) +						? (MDT_PCSPK | MDT_ADLIB | MDT_MIDI | MDT_PREFER_GM) +						: (MDT_PCSPK | MDT_ADLIB | MDT_MIDI));  	switch (MidiDriver::getMusicType(dev)) {  	case MT_ADLIB: @@ -100,7 +105,8 @@ void SciMusic::init() {  	_bMultiMidi = ConfMan.getBool("multi_midi"); -	// Find out what the first possible channel is (used, when doing channel remapping) +	// Find out what the first possible channel is (used, when doing channel +	// remapping).  	_driverFirstChannel = _pMidiDrv->getFirstChannel();  } @@ -128,9 +134,10 @@ void SciMusic::putMidiCommandInQueue(uint32 midi) {  	_queuedCommands.push_back(midi);  } -// This sends the stored commands from queue to driver (is supposed to get called only during onTimer()) -//  at least mt32 emulation doesn't like getting note-on commands from main thread (if we directly send, we would get -//  a crash during piano scene in lsl5) +// This sends the stored commands from queue to driver (is supposed to get +// called only during onTimer()). At least mt32 emulation doesn't like getting +// note-on commands from main thread (if we directly send, we would get a crash +// during piano scene in lsl5).  void SciMusic::sendMidiCommandsFromQueue() {  	uint curCommand = 0;  	uint commandCount = _queuedCommands.size(); @@ -210,10 +217,10 @@ void SciMusic::soundInitSnd(MusicEntry *pSnd) {  	int channelFilterMask = 0;  	SoundResource::Track *track = pSnd->soundRes->getTrackByType(_pMidiDrv->getPlayId()); -	// If MIDI device is selected but there is no digital track in sound resource -	// try to use adlib's digital sample if possible -	// Also, if the track couldn't be found, load the digital track, as some games -	// depend on this (e.g. the Longbow demo) +	// If MIDI device is selected but there is no digital track in sound +	// resource try to use adlib's digital sample if possible. Also, if the +	// track couldn't be found, load the digital track, as some games depend on +	// this (e.g. the Longbow demo).  	if (!track || (_bMultiMidi && track->digitalChannelNr == -1)) {  		SoundResource::Track *digital = pSnd->soundRes->getDigitalTrack();  		if (digital) @@ -260,8 +267,8 @@ void SciMusic::soundInitSnd(MusicEntry *pSnd) {  	}  } -// This one checks, if requested channel is available -> in that case give caller that channel -//  Otherwise look for an unused one +// This one checks, if requested channel is available -> in that case give +// caller that channel. Otherwise look for an unused one  int16 SciMusic::tryToOwnChannel(MusicEntry *caller, int16 bestChannel) {  	// Don't even try this for SCI0  	if (_soundVersion <= SCI_VERSION_0_LATE) @@ -316,7 +323,7 @@ void SciMusic::soundPlay(MusicEntry *pSnd) {  		if ((_soundVersion <= SCI_VERSION_0_LATE) && (alreadyPlaying)) {  			// Music already playing in SCI0?  			if (pSnd->priority > alreadyPlaying->priority) { -				// And new priority higher? pause previous music and play new one immediately +				// And new priority higher? pause previous music and play new one immediately.  				// Example of such case: lsl3, when getting points (jingle is played then)  				soundPause(alreadyPlaying);  				alreadyPlaying->isQueued = true; @@ -339,7 +346,8 @@ void SciMusic::soundPlay(MusicEntry *pSnd) {  			                         pSnd->pLoopStream, -1, pSnd->volume, 0,  			                         DisposeAfterUse::NO);  		} else { -			// Rewind in case we play the same sample multiple times (non-looped) like in pharkas right at the start +			// Rewind in case we play the same sample multiple times +			// (non-looped) like in pharkas right at the start  			pSnd->pStreamAud->rewind();  			_pMixer->playStream(pSnd->soundType, &pSnd->hCurrentAud,  			                         pSnd->pStreamAud, -1, pSnd->volume, 0, @@ -377,7 +385,8 @@ void SciMusic::soundStop(MusicEntry *pSnd) {  	if (pSnd->pMidiParser) {  		_mutex.lock();  		pSnd->pMidiParser->mainThreadBegin(); -		// We shouldn't call stop in case it's paused, otherwise we would send allNotesOff() again +		// We shouldn't call stop in case it's paused, otherwise we would send +		// allNotesOff() again  		if (previousStatus == kSoundPlaying)  			pSnd->pMidiParser->stop();  		freeChannels(pSnd); diff --git a/engines/sci/sound/soundcmd.cpp b/engines/sci/sound/soundcmd.cpp index 5e0f45e166..7cdb3e08bf 100644 --- a/engines/sci/sound/soundcmd.cpp +++ b/engines/sci/sound/soundcmd.cpp @@ -134,7 +134,8 @@ SoundCommandParser::SoundCommandParser(ResourceManager *resMan, SegManager *segM  	_resMan(resMan), _segMan(segMan), _kernel(kernel), _audio(audio), _soundVersion(soundVersion) {  #ifdef USE_OLD_MUSIC_FUNCTIONS -	// The following hack is needed to ease the change from old to new sound code (because the new sound code does not use SfxState) +	// The following hack is needed to ease the change from old to new sound +	// code (because the new sound code does not use SfxState)  	_state = &g_sci->getEngineState()->_sound;	// HACK  #endif @@ -378,22 +379,24 @@ void SoundCommandParser::cmdPlaySound(reg_t obj, int16 value) {  		}  		if (!readSelectorValue(_segMan, obj, SELECTOR(nodePtr)) && obj.segment) { -			// In SCI1.1 games, sound effects are started from here. If we can find -			// a relevant audio resource, play it, otherwise switch to synthesized -			// effects. If the resource exists, play it using map 65535 (sound -			// effects map) +			// In SCI1.1 games, sound effects are started from here. If we can +			// find a relevant audio resource, play it, otherwise switch to +			// synthesized effects. If the resource exists, play it using map +			// 65535 (sound effects map).  			if (_resMan->testResource(ResourceId(kResourceTypeAudio, songNumber)) &&  				getSciVersion() >= SCI_VERSION_1_1) {  				// Found a relevant audio resource, play it  				_audio->stopAudio();  				warning("Initializing audio resource instead of requested sound resource %d", songNumber);  				sampleLen = _audio->startAudio(65535, songNumber); -				// Also create iterator, that will fire SI_FINISHED event, when the sound is done playing +				// Also create iterator, that will fire SI_FINISHED event, when +				// the sound is done playing.  				_state->sfx_add_song(new_timer_iterator(sampleLen), 0, handle, songNumber);  			} else {  				if (!_resMan->testResource(ResourceId(kResourceTypeSound, songNumber))) {  					warning("Could not open song number %d", songNumber); -					// Send a "stop handle" event so that the engine won't wait forever here +					// Send a "stop handle" event so that the engine won't wait +					// forever here.  					_state->sfx_song_set_status(handle, SOUND_STATUS_STOPPED);  					writeSelectorValue(_segMan, obj, SELECTOR(signal), SIGNAL_OFFSET);  					return; @@ -533,12 +536,13 @@ void SoundCommandParser::processStopSound(reg_t obj, int16 value, bool sampleFin  		writeSelectorValue(_segMan, obj, SELECTOR(handle), 0);  	} -	// Set signal selector in sound SCI0 games only, when the sample has finished playing -	//  If we don't set it at all, we get a problem when using vaporizer on the 2 guys -	//  If we set it all the time, we get no music in sq3new and kq1 -	// FIXME: this *may* be wrong, it's impossible to find out in sierra DOS sci, because SCI0 under DOS didn't have -	//         sfx drivers included -	// We need to set signal in sound SCI1+ games all the time +	// Set signal selector in sound SCI0 games only, when the sample has +	// finished playing. If we don't set it at all, we get a problem when using +	// vaporizer on the 2 guys. If we set it all the time, we get no music in +	// sq3new and kq1. +	// FIXME: This *may* be wrong, it's impossible to find out in Sierra DOS +	//        SCI, because SCI0 under DOS didn't have sfx drivers included. +	// We need to set signal in sound SCI1+ games all the time.  	if ((_soundVersion > SCI_VERSION_0_LATE) || sampleFinishedPlaying)  		writeSelectorValue(_segMan, obj, SELECTOR(signal), SIGNAL_OFFSET); @@ -560,8 +564,8 @@ void SoundCommandParser::cmdPauseSound(reg_t obj, int16 value) {  #else  	if (!obj.segment) {		// pause the whole playlist -		// Pausing/Resuming the whole playlist was introduced -		// in the SCI1 late sound scheme +		// Pausing/Resuming the whole playlist was introduced in the SCI1 late +		// sound scheme.  		if (_soundVersion <= SCI_VERSION_1_EARLY)  			return; @@ -685,7 +689,8 @@ void SoundCommandParser::cmdFadeSound(reg_t obj, int16 value) {  	switch (_argc) {  	case 2: // SCI0 -		// SCI0 fades out all the time and when fadeout is done it will also stop the music from playing +		// SCI0 fades out all the time and when fadeout is done it will also +		// stop the music from playing  		musicSlot->fadeTo = 0;  		musicSlot->fadeStep = -5;  		musicSlot->fadeTickerStep = 10 * 16667 / _music->soundGetTempo(); @@ -864,10 +869,12 @@ void SoundCommandParser::cmdUpdateCues(reg_t obj, int16 value) {  				cmdStopSound(obj, 0);  		}  	} else { -		// Slot actually has no data (which would mean that a sound-resource w/ unsupported data is used +		// Slot actually has no data (which would mean that a sound-resource w/ +		// unsupported data is used.  		//  (example lsl5 - sound resource 744 - it's roland exclusive  		writeSelectorValue(_segMan, obj, SELECTOR(signal), SIGNAL_OFFSET); -		// If we don't set signal here, at least the switch to the mud wrestling room in lsl5 will not work +		// If we don't set signal here, at least the switch to the mud wrestling +		// room in lsl5 will not work.  	}  	if (musicSlot->fadeCompleted) { @@ -968,9 +975,9 @@ void SoundCommandParser::cmdSetSoundVolume(reg_t obj, int16 value) {  	MusicEntry *musicSlot = _music->getSlot(obj);  	if (!musicSlot) {  		// Do not throw a warning if the sound can't be found, as in some games -		// this is called before the actual sound is loaded (e.g. SQ4CD, with the -		// drum sounds of the energizer bunny at the beginning), so this is normal -		// behavior +		// this is called before the actual sound is loaded (e.g. SQ4CD, with +		// the drum sounds of the energizer bunny at the beginning), so this is +		// normal behavior.  		//warning("cmdSetSoundVolume: Slot not found (%04x:%04x)", PRINT_REG(obj));  		return;  	} @@ -1036,7 +1043,7 @@ void SoundCommandParser::cmdSetSoundLoop(reg_t obj, int16 value) {  		// before actually initializing the sound and adding it to the playlist  		// with cmdInitSound. Usually, it doesn't matter if the game doesn't  		// request to loop the sound, so in this case, don't throw any warning, -		// otherwise do, because the sound won't be looped +		// otherwise do, because the sound won't be looped.  		if (value == -1) {  			warning("cmdSetSoundLoop: Slot not found (%04x:%04x) and the song was requested to be looped", PRINT_REG(obj));  		} else { @@ -1070,12 +1077,13 @@ void SoundCommandParser::updateSci0Cues() {  	const MusicList::iterator end = _music->getPlayListEnd();  	for (MusicList::iterator i = _music->getPlayListStart(); i != end; ++i) {  		// Is the sound stopped, and the sound object updated too? If yes, skip -		// this sound, as SCI0 only allows one active song +		// this sound, as SCI0 only allows one active song.  		if  ((*i)->isQueued) {  			pWaitingForPlay = (*i); -			// FIXME (?) - in iceman 2 songs are queued when playing the door sound - if we use the first song for resuming -			//              then it's the wrong one. Both songs have same priority. Maybe the new sound function in sci0 -			//              is somehow responsible +			// FIXME(?): In iceman 2 songs are queued when playing the door +			// sound - if we use the first song for resuming then it's the wrong +			// one. Both songs have same priority. Maybe the new sound function +			// in sci0 is somehow responsible.  			continue;  		}  		if ((*i)->signal == 0 && (*i)->status != kSoundPlaying)  | 
