[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