[Scummvm-cvs-logs] CVS: scummvm/queen musicdata.cpp,NONE,1.1 module.mk,1.14,1.15 sound.cpp,1.11,1.12 sound.h,1.4,1.5 xref.txt,1.37,1.38

Joost Peters joostp at users.sourceforge.net
Thu Nov 13 16:46:28 CET 2003


Update of /cvsroot/scummvm/scummvm/queen
In directory sc8-pr-cvs1:/tmp/cvs-serv30283/queen

Modified Files:
	module.mk sound.cpp sound.h xref.txt 
Added Files:
	musicdata.cpp 
Log Message:
Play all sfx now, instead of only amiga ones + some music preparation


--- NEW FILE: musicdata.cpp ---
/* ScummVM - Scumm Interpreter
 * Copyright (C) 2003 The ScummVM project
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.

 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.

 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 *
 * $Header: /cvsroot/scummvm/scummvm/queen/musicdata.cpp,v 1.1 2003/11/14 00:45:44 joostp Exp $
 *
[...1664 lines suppressed...]
	/* 131 - Plane Engine 2 */
	"1029ssss", 

	/* 132 - Boat In */
	"1030ssss", 

	/* 133 - Boat Out */
	"1031ssss", 

	/* 134 - Jaspar Eats */
	"1032ssss", 

	/* 135 - Compy Scream 1 */
	"1033ssss", 

	/* 136 - Compy Scream 2 */
	"1034ssss"
};

} // End of namespace Queen

Index: module.mk
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/module.mk,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- module.mk	9 Nov 2003 20:50:03 -0000	1.14
+++ module.mk	14 Nov 2003 00:45:44 -0000	1.15
@@ -8,6 +8,7 @@
 	queen/graphics.o \
 	queen/input.o \
 	queen/logic.o \
+	queen/musicdata.o \
 	queen/queen.o \
 	queen/resource.o \
 	queen/restables.o \

Index: sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/sound.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- sound.cpp	8 Nov 2003 23:45:45 -0000	1.11
+++ sound.cpp	14 Nov 2003 00:45:44 -0000	1.12
@@ -135,469 +135,10 @@
 }
 
 void Sound::playSong(int16 songNum) {
-	if (songNum == STOP_MUSIC) {
-		//stop the music
-		//_fanfareCount = _fluteCount = 0;
-		//_oldName[0] = 0;
-		return;
-	}
-
-	// Remap some songs because there is less amiga music
-	// and we want lastoverride to work properly
-	switch(songNum) {
-		case 1:
-		case 2:
-			songNum = 39;
-			break;
-
-		case 37:
-		case 52:
-		case 196:
-			songNum = 90;
-			break;
-
-		case 38:
-		case 89:
-			songNum = 3;
-			break;
-
-		case 24:
-		case 158:
-			songNum = 117;
-			break;
-
-		case 71:
-		case 72:
-		case 73:
-		case 75:
-			songNum = 133;
-			break;
-
-		case 203:
-			songNum = 67;
-			break;
-
-		case 145:
-			songNum = 140;
-			break;
-
-		case 53:
-		case 204:
-			songNum = 44;
-			break;
-
-		case 136:
-		case 142:
-		case 179:
-			songNum = 86;
-			break;
-
-		case 101:
-		case 102:
-		case 143:
-			songNum = 188;
-			break;
-
-		case 65:
-		case 62:
-			songNum = 69;
-			break;
-
-		case 118:
-		case 119:
-			songNum = 137;
-			break;
-
-		case 130:
-		case 131:
-			songNum = 59;
-			break;
-
-		case 174:
-		case 175:
-			songNum = 57;
-			break;
-
-		case 171:
-		case 121:
-			songNum = 137;
-			break;
-
-		case 138:
-		case 170:
-		case 149:
-			songNum = 28;
-			break;
-
-		case 122:
-		case 180:
-		case 83:
-		case 98:
-			songNum = 83;
-			break;
-
-		case 20:
-		case 33:
-			songNum = 34;
-			break;
-
-		case 29:
-		case 35:
-			songNum = 36;
-			break;
-
-		case 7:
-		case 9:
-		case 10:
-			songNum = 11;
-			break;
-
-		case 110:
-			songNum = 94;
-			break;
-
-		case 111:
-			songNum = 95;
-			break;
-
-		case 30:
-			songNum = 43;
-			break;
-
-		case 76:
-			songNum = 27;
-			break;
-
-		case 194:
-		case 195:
-			songNum = 32;
-			break;
-	}
-
-	// Sound effects and volume changes exit before setting lastoverride
-	// 04-19-95 01:31pm Fix sfx bug
-	if(_lastOverride != 32 && _lastOverride != 44) {
-		switch(songNum) {
-			// Volume normal
-			case 5:
-				warning("Sound::playSong() -> alter_current_volume() not implemented yet");
-					//alter_current_volume();
-					return;
-	
-			// Volume soft
-			case 15:
-					//volumecontrol(-1,(20*VOLUME)/100);
-					return;
-		
-			// Volume medium
-			case 14:
-					//volumecontrol(-1,(32*VOLUME)/100);
-					return;
-
-			// Open door
-			case 25:
-				sfxPlay("116BSSSS");
-				return;
-
-			// Close door
-			case 26:
-					sfxPlay("105ASSSS");
-				return;
-
-			// Light switch
-			case 56:
-				sfxPlay("27SSSSSS");
-				return;
-
-			// Hydraulic doors open
-			case 57:
-				sfxPlay("96SSSSSS");
-				return;
-
-			// Hydraulic doors close
-			case 58:
-				sfxPlay("97SSSSSS");
-				return;
-
-			// Metallic door slams
-			case 59:
-				sfxPlay("105SSSSS");
-				return;
-
-			// Oracle rezzes in
-			case 63:
-				sfxPlay("132SSSSS");
-				return;
-
-			// Cloth slide 1
-			case 27:
-				sfxPlay("135SSSSS");
-				return;
-	
-			// Splash
-			case 83:
-				sfxPlay("18SSSSSS");
-				return;
-
-			// Agression enhancer
-			case 85:
-				sfxPlay("138BSSSS");
-				return;
-		
-			// Dino Ray
-			case 68:
-				sfxPlay("138SSSSS");
-				return;
-
-			// Dino transformation
-			case 140:
-				sfxPlay("55BSSSSS");
-				return;
-
-			// Experimental laser
-			case 141:
-				sfxPlay("55SSSSSS");
-				return;
-
-			// Plane hatch open
-			case 94:
-				sfxPlay("3SSSSSSS");
-				return;
-
-			// Plane hatch close
-			case 95:
-				sfxPlay("4SSSSSSS");
-				return;
-
-			// Oracle rezzes out
-			case 117:
-				sfxPlay("70SSSSSS");
-				return;
-
-			// Dino horn
-			case 124:
-				sfxPlay("103SSSSS");
-				return;
-
-			// Punch
-			case 127:
-				sfxPlay("128SSSSS");
-				return;
-
-			// Body hits ground
-			case 128:
-				sfxPlay("129SSSSS");
-				return;
-
-			// Explosion
-			case 137:
-				sfxPlay("88SSSSSS");
-				return;
-	
-			// Stone door grind 1
-			case 86:
-				sfxPlay("1001SSSS");
-				return;
-
-			// Stone door grind 2
-			case 188:
-				sfxPlay("1002SSSS");
-				return;
-
-			// Cloth slide 2
-			case 28:
-				sfxPlay("1005SSSS");
-				return;
-
-			// Rattle bars
-			case 151:
-				sfxPlay("115SSSSS");
-				return;
-
-			// Door dissolves
-			case 152:
-				sfxPlay("56SSSSSS");
-				return;
-
-			// Altar slides
-			case 153:
-				sfxPlay("85SSSSSS");
-				return;
-
-			// Pull lever
-			case 166:
-				sfxPlay("1008SSSS");
-				return;
-
-			// Zap Frank
-			case 182:
-				sfxPlay("1023SSSS");
-				return;
-
-			// Splorch
-			case 69:
-				sfxPlay("137ASSSS");
-				return;
-
-			// Robot laser
-			case 70:
-				sfxPlay("61SSSSSS");
-				return;
-
-			// Pick hits stone
-			case 133:
-				sfxPlay("71SSSSSS");
-				return;
-
-			// Press button
-			case 165:
-				sfxPlay("1007SSSS");
-				return;
-		}
-	}
-
-
-	// Exit if trying to play a song that's already playing
-	// and instruments are already loaded i.e. last song wasn't -1
-	if (songNum == _lastOverride /* && oldName[0] != 0 */ )
-
-	// Play songs
-	switch(songNum) {
-		// Hotel
-		case 39:
-			//goSong("hotel",1);
-			break;
-
-		case 19:
-			//goSong("hotel",3);
-			break;
-
-		case 34:
-			//goSong("hotel",2);
-			break;
-
-		case 36:
-			//goSong("hotel",4);
-			//fanfarerestore=lastoverride;
-			//fanfarecount=60;
-			break;
-
-		// Jungle
-		case 40:
-			//goSong("jung",1);
-			//fanfarerestore=lastoverride;
-			//fanfarecount=80;
-			//flutecount=100;
-			break;
-
-		case 3:
-			//goSong("jung",2);
-			//flutecount=100;
-			break;
-
-		// Temple
-		case 54:
-			//goSong("temple",1);
-			break;
-
-		case 12:
-			//goSong("temple",2);
-			break;
-
-		case 11:
-			//goSong("temple",3);
-			break;
-
-		case 31:
-			//goSong("temple",4);
-			//fanfarerestore=lastoverride;
-			//fanfarecount=80;
-			break;
-
-		// Floda
-		case 41:
-			//goSong("floda",4);
-			//fanfarerestore=lastoverride;
-			//fanfarecount=60;
-			break;
-
-		case 13:
-			//goSong("floda",3);
-			break;
-
-		case 16:
-			//goSong("floda",1);
-			break;
-			
-		case 17:
-			//goSong("floda",2);
-			break;
-
-		case 43:
-			//goSong("floda",5);
-			break;
-
-		// Prequel (End credits)
-		case 67:
-			//goSong("title",1);
-			// 05-19-95 03:24pm Removed to fix A500 Bug
-			//fanfarerestore=90;
-			//fanfarecount=550;
-			break;
-
-			// Title (Intro credits)
-		case 88:
-			//goSong("title",1);
-			break;
-
-		// Valley
-		case 90:
-			//goSong("awestruk",1);
-			break;
-
-		// Confrontation
-		case 91:
-			//goSong("'jungle'",1);
-			break;
-
-		// Frank
-		case 46:
-			//goSong("frank",1);
-			break;
-
-		// Trader Bob
-		case 6:
-			//goSong("bob",1);
-			break;
-
-		// Azura
-		case 44:
-			//goSong("azura",1);
-			break;
-
-		// Amazon Fortress
-		case 21:
-			//goSong("fort",1);
-			break;
-
-		// Rocket
-		case 32:
-			//goSong("rocket",1);
-			break;
-
-		// Robot
-		case 92:
-			//goSong("robot",1);
-			break;
-
-		// Song not handled by amiga
-		default:
-			return;
-	}
-
-
-	_lastOverride = _currentSong = songNum;
+	int16 newTune = _song[songNum - 1].tuneList[0];
 
+	if (_tune[newTune - 1].sfx[0] /* && _sfxToggle */ )
+		sfxPlay(_sfxName[_tune[newTune - 1].sfx[0] - 1]);
 }
 
 

Index: sound.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/sound.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- sound.h	7 Nov 2003 02:33:20 -0000	1.4
+++ sound.h	14 Nov 2003 00:45:44 -0000	1.5
@@ -31,6 +31,22 @@
 class Input;
 class Resource;
 
+struct songData { 
+	int16 tuneList[5];
+	int16 volume;
+	int16 tempo;
+	int16 reverb;
+	int16 override;
+	int16 ignore;
+};
+
+struct tuneData { 
+	int16 tuneNum[9];
+	int16 sfx[2];
+	int16 mode;
+	int16 delay;
+};
+
 class Sound {
 public:
 	Sound(SoundMixer *mixer, Input *input, Resource *resource);
@@ -45,8 +61,16 @@
 	Input *_input;
 	Resource *_resource;
 
+	static const songData _song[];
+	static const tuneData _tune[];
+	static const char *_sfxName[];
+	
 	int16 _lastOverride;
+	int16 _lastMerge;
+	int16 _altMrgPri;
 	int16 _currentSong;
+	int16 _previousSong;
+	int16 _previousSongNum;
 	PlayingSoundHandle _sfxHandle;
 };
 

Index: xref.txt
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/xref.txt,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -d -r1.37 -r1.38
--- xref.txt	13 Nov 2003 09:32:31 -0000	1.37
+++ xref.txt	14 Nov 2003 00:45:44 -0000	1.38
@@ -333,8 +333,14 @@
 sfxbusy()					Sound::waitSfxFinished()
 sfxplay()					Sound::sfxPlay()
 -
-CURRSONG
-SFXNAME						Logic::_sfxName
+song[]						Sound::_song[]
+tunelist[]					Sound::_tune[]
+lastmerge					Sound::_lastMerge
+altmrgpri					Sound::_altMrgPri
+oldsn						Sound::_previousSongNum
+LASTSONG					Sound::_previousSong
+CURRSONG					Sound::_currentSong
+SFXNAME						Sound::_sfxName
 tmpbamflag
 VOLUME
 





More information about the Scummvm-git-logs mailing list