[Scummvm-cvs-logs] SF.net SVN: scummvm:[53763] scummvm/trunk/engines/scumm

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Sun Oct 24 15:05:03 CEST 2010


Revision: 53763
          http://scummvm.svn.sourceforge.net/scummvm/?rev=53763&view=rev
Author:   fingolfin
Date:     2010-10-24 13:05:03 +0000 (Sun, 24 Oct 2010)

Log Message:
-----------
SCUMM: Turn global g_cmsEmu into a member var of Player_V2CMS

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/player_v2.h
    scummvm/trunk/engines/scumm/player_v2cms.cpp

Modified: scummvm/trunk/engines/scumm/player_v2.h
===================================================================
--- scummvm/trunk/engines/scumm/player_v2.h	2010-10-24 13:04:33 UTC (rev 53762)
+++ scummvm/trunk/engines/scumm/player_v2.h	2010-10-24 13:05:03 UTC (rev 53763)
@@ -32,6 +32,8 @@
 #include "sound/audiostream.h"
 #include "sound/mixer.h"
 
+class CMSEmulator;
+
 namespace Scumm {
 
 class ScummEngine;
@@ -285,6 +287,8 @@
 	Audio::SoundHandle _soundHandle;
 	ScummEngine *_vm;
 
+	CMSEmulator *_cmsEmu;
+
 	int _header_len;
 
 	uint32 _sampleRate;

Modified: scummvm/trunk/engines/scumm/player_v2cms.cpp
===================================================================
--- scummvm/trunk/engines/scumm/player_v2cms.cpp	2010-10-24 13:04:33 UTC (rev 53762)
+++ scummvm/trunk/engines/scumm/player_v2cms.cpp	2010-10-24 13:05:03 UTC (rev 53763)
@@ -426,8 +426,6 @@
 	0x33, 0x44, 0x55, 0x66, 0x88, 0xAA, 0xCC, 0xFF
 };
 
-static CMSEmulator *g_cmsEmu = 0;
-
 Player_V2CMS::Player_V2CMS(ScummEngine *scumm, Audio::Mixer *mixer) {
 	int i;
 
@@ -495,7 +493,7 @@
 	_cmsVoices[7].octaveOutput = &(_cmsChips[1].octave[1]);
 
 	// inits the CMS Emulator like in the original
-	g_cmsEmu = new CMSEmulator(_sampleRate);
+	_cmsEmu = new CMSEmulator(_sampleRate);
 	static const byte cmsInitData[13*2] = {
 		0x1C, 0x02,
 		0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00,
@@ -505,8 +503,8 @@
 	i = 0;
 	for (int cmsPort = 0x220; i < 2; cmsPort += 2, ++i) {
 		for (int off = 0; off < 13; ++off) {
-			g_cmsEmu->portWrite(cmsPort+1, cmsInitData[off*2]);
-			g_cmsEmu->portWrite(cmsPort, cmsInitData[off*2+1]);
+			_cmsEmu->portWrite(cmsPort+1, cmsInitData[off*2]);
+			_cmsEmu->portWrite(cmsPort, cmsInitData[off*2+1]);
 		}
 	}
 
@@ -517,7 +515,7 @@
 	Common::StackLock lock(_mutex);
 
 	_mixer->stopHandle(_soundHandle);
-	delete g_cmsEmu;
+	delete _cmsEmu;
 }
 
 void Player_V2CMS::setMusicVolume(int vol) {
@@ -1061,7 +1059,7 @@
 		step = len;
 		if (step > (_next_tick >> FIXP_SHIFT))
 			step = (_next_tick >> FIXP_SHIFT);
-		g_cmsEmu->readBuffer(buffer, step);
+		_cmsEmu->readBuffer(buffer, step);
 		buffer += 2 * step;
 		_next_tick -= step << FIXP_SHIFT;
 	} while (len -= step);
@@ -1207,8 +1205,8 @@
 
 	for (int cmsPort = 0x220, i = 0; i < 2; cmsPort += 2, ++i) {
 		for (int off = 0; off < 10; ++off) {
-			g_cmsEmu->portWrite(cmsPort+1, cmsOffData[off*2]);
-			g_cmsEmu->portWrite(cmsPort, cmsOffData[off*2+1]);
+			_cmsEmu->portWrite(cmsPort+1, cmsOffData[off*2]);
+			_cmsEmu->portWrite(cmsPort, cmsOffData[off*2+1]);
 		}
 	}*/
 }
@@ -1397,32 +1395,32 @@
 	// with the high nibble of the volumeReg value
 	// the right channels amplitude is set
 	// with the low value the left channels amplitude
-	g_cmsEmu->portWrite(0x221, 0);
-	g_cmsEmu->portWrite(0x220, volumeReg[0]);
-	g_cmsEmu->portWrite(0x221, 1);
-	g_cmsEmu->portWrite(0x220, volumeReg[1]);
-	g_cmsEmu->portWrite(0x221, 2);
-	g_cmsEmu->portWrite(0x220, volumeReg[2]);
-	g_cmsEmu->portWrite(0x221, 3);
-	g_cmsEmu->portWrite(0x220, volumeReg[3]);
-	g_cmsEmu->portWrite(0x221, 8);
-	g_cmsEmu->portWrite(0x220, freqReg[0]);
-	g_cmsEmu->portWrite(0x221, 9);
-	g_cmsEmu->portWrite(0x220, freqReg[1]);
-	g_cmsEmu->portWrite(0x221, 10);
-	g_cmsEmu->portWrite(0x220, freqReg[2]);
-	g_cmsEmu->portWrite(0x221, 11);
-	g_cmsEmu->portWrite(0x220, freqReg[3]);
-	g_cmsEmu->portWrite(0x221, 0x10);
-	g_cmsEmu->portWrite(0x220, octaveReg[0]);
-	g_cmsEmu->portWrite(0x221, 0x11);
-	g_cmsEmu->portWrite(0x220, octaveReg[1]);
-	g_cmsEmu->portWrite(0x221, 0x14);
-	g_cmsEmu->portWrite(0x220, freqEnable);
-	g_cmsEmu->portWrite(0x221, 0x15);
-	g_cmsEmu->portWrite(0x220, noiseEnable);
-	g_cmsEmu->portWrite(0x221, 0x16);
-	g_cmsEmu->portWrite(0x220, noiseGen);
+	_cmsEmu->portWrite(0x221, 0);
+	_cmsEmu->portWrite(0x220, volumeReg[0]);
+	_cmsEmu->portWrite(0x221, 1);
+	_cmsEmu->portWrite(0x220, volumeReg[1]);
+	_cmsEmu->portWrite(0x221, 2);
+	_cmsEmu->portWrite(0x220, volumeReg[2]);
+	_cmsEmu->portWrite(0x221, 3);
+	_cmsEmu->portWrite(0x220, volumeReg[3]);
+	_cmsEmu->portWrite(0x221, 8);
+	_cmsEmu->portWrite(0x220, freqReg[0]);
+	_cmsEmu->portWrite(0x221, 9);
+	_cmsEmu->portWrite(0x220, freqReg[1]);
+	_cmsEmu->portWrite(0x221, 10);
+	_cmsEmu->portWrite(0x220, freqReg[2]);
+	_cmsEmu->portWrite(0x221, 11);
+	_cmsEmu->portWrite(0x220, freqReg[3]);
+	_cmsEmu->portWrite(0x221, 0x10);
+	_cmsEmu->portWrite(0x220, octaveReg[0]);
+	_cmsEmu->portWrite(0x221, 0x11);
+	_cmsEmu->portWrite(0x220, octaveReg[1]);
+	_cmsEmu->portWrite(0x221, 0x14);
+	_cmsEmu->portWrite(0x220, freqEnable);
+	_cmsEmu->portWrite(0x221, 0x15);
+	_cmsEmu->portWrite(0x220, noiseEnable);
+	_cmsEmu->portWrite(0x221, 0x16);
+	_cmsEmu->portWrite(0x220, noiseGen);
 }
 
 void Player_V2CMS::playMusicChips(const MusicChip *table) {
@@ -1430,30 +1428,30 @@
 
 	do {
 		cmsPort += 2;
-		g_cmsEmu->portWrite(cmsPort+1, 0);
-		g_cmsEmu->portWrite(cmsPort, table->ampl[0]);
-		g_cmsEmu->portWrite(cmsPort+1, 1);
-		g_cmsEmu->portWrite(cmsPort, table->ampl[1]);
-		g_cmsEmu->portWrite(cmsPort+1, 2);
-		g_cmsEmu->portWrite(cmsPort, table->ampl[2]);
-		g_cmsEmu->portWrite(cmsPort+1, 3);
-		g_cmsEmu->portWrite(cmsPort, table->ampl[3]);
-		g_cmsEmu->portWrite(cmsPort+1, 8);
-		g_cmsEmu->portWrite(cmsPort, table->freq[0]);
-		g_cmsEmu->portWrite(cmsPort+1, 9);
-		g_cmsEmu->portWrite(cmsPort, table->freq[1]);
-		g_cmsEmu->portWrite(cmsPort+1, 10);
-		g_cmsEmu->portWrite(cmsPort, table->freq[2]);
-		g_cmsEmu->portWrite(cmsPort+1, 11);
-		g_cmsEmu->portWrite(cmsPort, table->freq[3]);
-		g_cmsEmu->portWrite(cmsPort+1, 0x10);
-		g_cmsEmu->portWrite(cmsPort, table->octave[0]);
-		g_cmsEmu->portWrite(cmsPort+1, 0x11);
-		g_cmsEmu->portWrite(cmsPort, table->octave[1]);
-		g_cmsEmu->portWrite(cmsPort+1, 0x14);
-		g_cmsEmu->portWrite(cmsPort, 0x3F);
-		g_cmsEmu->portWrite(cmsPort+1, 0x15);
-		g_cmsEmu->portWrite(cmsPort, 0x00);
+		_cmsEmu->portWrite(cmsPort+1, 0);
+		_cmsEmu->portWrite(cmsPort, table->ampl[0]);
+		_cmsEmu->portWrite(cmsPort+1, 1);
+		_cmsEmu->portWrite(cmsPort, table->ampl[1]);
+		_cmsEmu->portWrite(cmsPort+1, 2);
+		_cmsEmu->portWrite(cmsPort, table->ampl[2]);
+		_cmsEmu->portWrite(cmsPort+1, 3);
+		_cmsEmu->portWrite(cmsPort, table->ampl[3]);
+		_cmsEmu->portWrite(cmsPort+1, 8);
+		_cmsEmu->portWrite(cmsPort, table->freq[0]);
+		_cmsEmu->portWrite(cmsPort+1, 9);
+		_cmsEmu->portWrite(cmsPort, table->freq[1]);
+		_cmsEmu->portWrite(cmsPort+1, 10);
+		_cmsEmu->portWrite(cmsPort, table->freq[2]);
+		_cmsEmu->portWrite(cmsPort+1, 11);
+		_cmsEmu->portWrite(cmsPort, table->freq[3]);
+		_cmsEmu->portWrite(cmsPort+1, 0x10);
+		_cmsEmu->portWrite(cmsPort, table->octave[0]);
+		_cmsEmu->portWrite(cmsPort+1, 0x11);
+		_cmsEmu->portWrite(cmsPort, table->octave[1]);
+		_cmsEmu->portWrite(cmsPort+1, 0x14);
+		_cmsEmu->portWrite(cmsPort, 0x3F);
+		_cmsEmu->portWrite(cmsPort+1, 0x15);
+		_cmsEmu->portWrite(cmsPort, 0x00);
 		++table;
 	} while ((cmsPort & 2) == 0);
 }


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list