[Scummvm-cvs-logs] scummvm master -> 38deee5a88ceedeb0979a9b53e7b4e35a7a03f0f

Strangerke Strangerke at scummvm.org
Sat Sep 17 11:17:18 CEST 2011


This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
f5eca79658 CGE: Move 4 global to CGEEngine
4778ff720c CGE: Move some more globals to CGEEngine
38deee5a88 CGE: some more cleanup


Commit: f5eca796580f5e16a2389d980b8330b2ab6b0980
    https://github.com/scummvm/scummvm/commit/f5eca796580f5e16a2389d980b8330b2ab6b0980
Author: Strangerke (strangerke at scummvm.org)
Date: 2011-09-17T01:08:52-07:00

Commit Message:
CGE: Move 4 global to CGEEngine

Changed paths:
    engines/cge/cge.h
    engines/cge/cge_main.cpp
    engines/cge/cge_main.h
    engines/cge/events.cpp
    engines/cge/snail.cpp
    engines/cge/walk.cpp



diff --git a/engines/cge/cge.h b/engines/cge/cge.h
index ace5d66..6628535 100644
--- a/engines/cge/cge.h
+++ b/engines/cge/cge.h
@@ -42,6 +42,9 @@ class Console;
 class Sprite;
 class Cluster;
 class Vga;
+class System;
+class Keyboard;
+class Mouse;
 
 #define kSavegameVersion 2
 #define kSavegameStrSize 11
@@ -157,6 +160,10 @@ public:
 	Bar _barriers[kSceneMax + 1];
 	Font *_font;
 	Vga *_vga;
+	System *_sys;
+	Sprite *_pocLight;
+	Keyboard *_keyboard;
+	Mouse *_mouse;
 
 	Common::RandomSource _randomSource;
 	MusicPlayer _midiPlayer;
diff --git a/engines/cge/cge_main.cpp b/engines/cge/cge_main.cpp
index 2311aa5..f8fa836 100644
--- a/engines/cge/cge_main.cpp
+++ b/engines/cge/cge_main.cpp
@@ -52,11 +52,7 @@ namespace CGE {
 
 uint16  _stklen = (kStackSize * 2);
 
-System *_sys;
-Sprite *_pocLight;
 EventManager *_eventManager;
-Keyboard *_keyboard;
-Mouse *_mouse;
 Sprite *_pocket[kPocketNX];
 Sprite *_sprite;
 Sprite *_miniScene;
@@ -784,7 +780,7 @@ void System::touch(uint16 mask, int x, int y) {
 		}
 		switch (x) {
 		case 'X':
-			if (_keyboard->_key[kKeyAlt])
+			if (_vm->_keyboard->_key[kKeyAlt])
 				_vm->quit();
 			break;
 		case '0':
@@ -792,7 +788,7 @@ void System::touch(uint16 mask, int x, int y) {
 		case '2':
 		case '3':
 		case '4':
-			if (_keyboard->_key[kKeyAlt]) {
+			if (_vm->_keyboard->_key[kKeyAlt]) {
 				_snail->addCom(kSnLevel, -1, x - '0', NULL);
 				break;
 			}
@@ -945,7 +941,7 @@ void CGEEngine::optionTouch(int opt, uint16 mask) {
 
 #pragma argsused
 void Sprite::touch(uint16 mask, int x, int y) {
-	_sys->funTouch();
+	_vm->_sys->funTouch();
 
 	if ((mask & kEventAttn) != 0)
 		return;
@@ -970,7 +966,7 @@ void Sprite::touch(uint16 mask, int x, int y) {
 		}
 
 	if ((mask & kMouseRightUp) && _snail->idle()) {
-		Sprite *ps = (_pocLight->_seqPtr) ? _pocket[_vm->_pocPtr] : NULL;
+		Sprite *ps = (_vm->_pocLight->_seqPtr) ? _pocket[_vm->_pocPtr] : NULL;
 		if (ps) {
 			if (_flags._kept || _hero->distance(this) < kDistMax) {
 				if (works(ps)) {
diff --git a/engines/cge/cge_main.h b/engines/cge/cge_main.h
index ba9d9a6..32fe801 100644
--- a/engines/cge/cge_main.h
+++ b/engines/cge/cge_main.h
@@ -109,10 +109,6 @@ private:
 	CGEEngine *_vm;
 };
 
-extern System *_sys;
-extern Sprite *_pocLight;
-extern Keyboard *_keyboard;
-extern Mouse *_mouse;
 extern EventManager *_eventManager;
 extern Sprite *_pocket[];
 extern Sprite *_sprite;
diff --git a/engines/cge/events.cpp b/engines/cge/events.cpp
index 2f0a5ab..259451d 100644
--- a/engines/cge/events.cpp
+++ b/engines/cge/events.cpp
@@ -289,7 +289,7 @@ void EventManager::poll() {
 		case Common::EVENT_KEYDOWN:
 		case Common::EVENT_KEYUP:
 			// Handle keyboard events
-			_keyboard->newKeyboard(_event);
+			_vm->_keyboard->newKeyboard(_event);
 			handleEvents();
 			break;
 		case Common::EVENT_MOUSEMOVE:
@@ -298,7 +298,7 @@ void EventManager::poll() {
 		case Common::EVENT_RBUTTONDOWN:
 		case Common::EVENT_RBUTTONUP:
 			// Handle mouse events
-			_mouse->newMouse(_event);
+			_vm->_mouse->newMouse(_event);
 			handleEvents();
 			break;
 		default:
@@ -311,12 +311,12 @@ void EventManager::handleEvents() {
 	while (_eventQueueTail != _eventQueueHead) {
 		CGEEvent e = _eventQueue[_eventQueueTail];
 		if (e._mask) {
-			if (_mouse->_hold && e._spritePtr != _mouse->_hold)
-				_mouse->_hold->touch(e._mask | kEventAttn, e._x - _mouse->_hold->_x, e._y - _mouse->_hold->_y);
+			if (_vm->_mouse->_hold && e._spritePtr != _vm->_mouse->_hold)
+				_vm->_mouse->_hold->touch(e._mask | kEventAttn, e._x - _vm->_mouse->_hold->_x, e._y - _vm->_mouse->_hold->_y);
 
 			// update mouse cursor position
 			if (e._mask & kMouseRoll)
-				_mouse->gotoxy(e._x, e._y);
+				_vm->_mouse->gotoxy(e._x, e._y);
 
 			// activate current touched SPRITE
 			if (e._spritePtr) {
@@ -324,25 +324,25 @@ void EventManager::handleEvents() {
 					e._spritePtr->touch(e._mask, e._x, e._y);
 				else
 					e._spritePtr->touch(e._mask, e._x - e._spritePtr->_x, e._y - e._spritePtr->_y);
-			} else if (_sys)
-					_sys->touch(e._mask, e._x, e._y);
+			} else if (_vm->_sys)
+					_vm->_sys->touch(e._mask, e._x, e._y);
 
 			if (e._mask & kMouseLeftDown) {
-				_mouse->_hold = e._spritePtr;
-				if (_mouse->_hold) {
-					_mouse->_hold->_flags._hold = true;
+				_vm->_mouse->_hold = e._spritePtr;
+				if (_vm->_mouse->_hold) {
+					_vm->_mouse->_hold->_flags._hold = true;
 
-					if (_mouse->_hold->_flags._drag) {
-						_mouse->_hx = e._x - _mouse->_hold->_x;
-						_mouse->_hy = e._y - _mouse->_hold->_y;
+					if (_vm->_mouse->_hold->_flags._drag) {
+						_vm->_mouse->_hx = e._x - _vm->_mouse->_hold->_x;
+						_vm->_mouse->_hy = e._y - _vm->_mouse->_hold->_y;
 					}
 				}
 			}
 
 			if (e._mask & kMouseLeftUp) {
-				if (_mouse->_hold) {
-					_mouse->_hold->_flags._hold = false;
-					_mouse->_hold = NULL;
+				if (_vm->_mouse->_hold) {
+					_vm->_mouse->_hold->_flags._hold = false;
+					_vm->_mouse->_hold = NULL;
 				}
 			}
 			///Touched = e.Ptr;
@@ -353,9 +353,9 @@ void EventManager::handleEvents() {
 		}
 		_eventQueueTail = (_eventQueueTail + 1) % kEventMax;
 	}
-	if (_mouse->_hold) {
-		if (_mouse->_hold->_flags._drag)
-			_mouse->_hold->gotoxy(_mouse->_x - _mouse->_hx, _mouse->_y - _mouse->_hy);
+	if (_vm->_mouse->_hold) {
+		if (_vm->_mouse->_hold->_flags._drag)
+			_vm->_mouse->_hold->gotoxy(_vm->_mouse->_x - _vm->_mouse->_hx, _vm->_mouse->_y - _vm->_mouse->_hy);
 	}
 }
 
diff --git a/engines/cge/snail.cpp b/engines/cge/snail.cpp
index b542006..8a71000 100644
--- a/engines/cge/snail.cpp
+++ b/engines/cge/snail.cpp
@@ -995,13 +995,13 @@ void Snail::runCom() {
 				if (spr == _hero && spr->seqTest(-1))
 					spr->step(kSeqHTalk);
 				_text->say(_text->getText(snc->_val), spr);
-				_sys->_funDel = kHeroFun0;
+				_vm->_sys->_funDel = kHeroFun0;
 			}
 			break;
 		case kSnInf:
 			if (_talkEnable) {
 				_vm->inf(_text->getText(snc->_val));
-				_sys->_funDel = kHeroFun0;
+				_vm->_sys->_funDel = kHeroFun0;
 			}
 			break;
 		case kSnTime:
diff --git a/engines/cge/walk.cpp b/engines/cge/walk.cpp
index e824709..a3b819a 100644
--- a/engines/cge/walk.cpp
+++ b/engines/cge/walk.cpp
@@ -58,7 +58,7 @@ void Walk::tick() {
 	_here = _vm->XZ(_x + _w / 2, _y + _h);
 
 	if (_dir != kDirNone) {
-		_sys->funTouch();
+		_vm->_sys->funTouch();
 		for (Sprite *spr = _vm->_vga->_showQ->first(); spr; spr = spr->_next) {
 			if (distance(spr) < 2) {
 				if (!spr->_flags._near) {


Commit: 4778ff720c3e7c6527dde90c9eba7ccab7646cbb
    https://github.com/scummvm/scummvm/commit/4778ff720c3e7c6527dde90c9eba7ccab7646cbb
Author: Strangerke (strangerke at scummvm.org)
Date: 2011-09-17T01:54:50-07:00

Commit Message:
CGE: Move some more globals to CGEEngine

Changed paths:
    engines/cge/bitmap.cpp
    engines/cge/cge.cpp
    engines/cge/cge.h
    engines/cge/cge_main.cpp
    engines/cge/cge_main.h
    engines/cge/events.cpp
    engines/cge/fileio.cpp
    engines/cge/fileio.h
    engines/cge/snail.cpp
    engines/cge/sound.cpp
    engines/cge/sound.h
    engines/cge/talk.cpp
    engines/cge/text.cpp
    engines/cge/vga13h.cpp
    engines/cge/vmenu.cpp
    engines/cge/walk.cpp



diff --git a/engines/cge/bitmap.cpp b/engines/cge/bitmap.cpp
index 2acc65c..27ab577 100644
--- a/engines/cge/bitmap.cpp
+++ b/engines/cge/bitmap.cpp
@@ -49,8 +49,8 @@ Bitmap::Bitmap(CGEEngine *vm, const char *fname) : _m(NULL), _v(NULL), _map(0),
 	char pat[kMaxPath];
 	forceExt(pat, fname, ".VBM");
 
-	if (_resman->exist(pat)) {
-		EncryptedStream file(pat);
+	if (_vm->_resman->exist(pat)) {
+		EncryptedStream file(_vm, pat);
 		if (file.err())
 			error("Unable to find VBM [%s]", fname);
 		if (!loadVBM(&file))
diff --git a/engines/cge/cge.cpp b/engines/cge/cge.cpp
index 349bf3f..68b07c8 100644
--- a/engines/cge/cge.cpp
+++ b/engines/cge/cge.cpp
@@ -102,11 +102,11 @@ void CGEEngine::init() {
 	_debugLine = new InfoLine(this, kScrWidth);
 	_snail = new Snail(this, false);
 	_snail_ = new Snail(this, true);
-
+	_midiPlayer = new MusicPlayer(this);
 	_mouse = new Mouse(this);
 	_keyboard = new Keyboard(this);
 	_eventManager = new EventManager(this);
-	_fx = new Fx(16);   // must precede SOUND!!
+	_fx = new Fx(this, 16);   // must precede SOUND!!
 	_sound = new Sound(this);
 
 	_offUseCount = atoi(_text->getText(kOffUseCount));
@@ -148,7 +148,7 @@ void CGEEngine::deinit() {
 	DebugMan.clearAllDebugChannels();
 
 	delete _console;
-	_midiPlayer.killMidi();
+	_midiPlayer->killMidi();
 
 	// Delete engine objects
 	delete _vga;
diff --git a/engines/cge/cge.h b/engines/cge/cge.h
index 6628535..8c9a468 100644
--- a/engines/cge/cge.h
+++ b/engines/cge/cge.h
@@ -45,6 +45,13 @@ class Vga;
 class System;
 class Keyboard;
 class Mouse;
+class HorizLine;
+class InfoLine;
+class SceneLight;
+class Snail;
+class Snail;
+class EventManager;
+class ResourceManager;
 
 #define kSavegameVersion 2
 #define kSavegameStrSize 11
@@ -164,9 +171,22 @@ public:
 	Sprite *_pocLight;
 	Keyboard *_keyboard;
 	Mouse *_mouse;
+	Sprite *_sprite;
+	Sprite *_miniScene;
+	Sprite *_shadow;
+	HorizLine *_horzLine;
+	InfoLine *_infoLine;
+	InfoLine *_debugLine;
+	SceneLight *_sceneLight;
+	Snail *_snail;
+	Snail *_snail_;
+	EventManager *_eventManager;
+	Fx *_fx;
+	Sound *_sound;
+	ResourceManager *_resman;
 
 	Common::RandomSource _randomSource;
-	MusicPlayer _midiPlayer;
+	MusicPlayer *_midiPlayer;
 	BitmapPtr *_miniShp;
 	BitmapPtr *_miniShpList;
 	int        _startGameSlot;
diff --git a/engines/cge/cge_main.cpp b/engines/cge/cge_main.cpp
index f8fa836..cc04eeb 100644
--- a/engines/cge/cge_main.cpp
+++ b/engines/cge/cge_main.cpp
@@ -52,22 +52,7 @@ namespace CGE {
 
 uint16  _stklen = (kStackSize * 2);
 
-EventManager *_eventManager;
 Sprite *_pocket[kPocketNX];
-Sprite *_sprite;
-Sprite *_miniScene;
-Sprite *_shadow;
-HorizLine *_horzLine;
-InfoLine *_infoLine;
-SceneLight *_sceneLight;
-InfoLine *_debugLine;
-
-Snail *_snail;
-Snail *_snail_;
-
-Fx *_fx;
-Sound *_sound;
-ResourceManager *_resman;
 
 const char *savegameStr = "SCUMMVM_CGE";
 
@@ -219,7 +204,7 @@ bool CGEEngine::loadGame(int slotNumber, SavegameHeader *header, bool tiny) {
 
 	if (slotNumber == -1) {
 		// Loading the data for the initial game state
-		kSavegame0File file = kSavegame0File(kSavegame0Name);
+		kSavegame0File file = kSavegame0File(this, kSavegame0Name);
 		int size = file.size();
 		byte *dataBuffer = (byte *)malloc(size);
 		file.read(dataBuffer, size);
@@ -490,7 +475,7 @@ void CGEEngine::tooFar() {
 void CGEEngine::loadHeroXY() {
 	debugC(1, kCGEDebugEngine, "CGEEngine::loadHeroXY()");
 
-	EncryptedStream cf("CGE.HXY");
+	EncryptedStream cf(this, "CGE.HXY");
 	uint16 x, y;
 
 	memset(_heroXY, 0, sizeof(_heroXY));
@@ -509,7 +494,7 @@ void CGEEngine::loadMapping() {
 	debugC(1, kCGEDebugEngine, "CGEEngine::loadMapping()");
 
 	if (_now <= kSceneMax) {
-		EncryptedStream cf("CGE.TAB");
+		EncryptedStream cf(this, "CGE.TAB");
 		if (!cf.err()) {
 			// Move to the data for the given room
 			cf.seek((_now - 1) * kMapArrSize);
@@ -536,7 +521,7 @@ void Square::touch(uint16 mask, int x, int y) {
 	Sprite::touch(mask, x, y);
 	if (mask & kMouseLeftUp) {
 		_vm->XZ(_x + x, _y + y).cell() = 0;
-		_snail_->addCom(kSnKill, -1, 0, this);
+		_vm->_snail_->addCom(kSnKill, -1, 0, this);
 	}
 }
 
@@ -629,7 +614,7 @@ void CGEEngine::sceneUp() {
 
 	const int BakRef = 1000 * _now;
 	if (_music)
-		_midiPlayer.loadMidi(_now);
+		_midiPlayer->loadMidi(_now);
 
 	showBak(BakRef);
 	loadMapping();
@@ -775,7 +760,7 @@ void System::touch(uint16 mask, int x, int y) {
 		_vm->keyClick();
 		_vm->killText();
 		if (_vm->_startupMode == 1) {
-			_snail->addCom(kSnClear, -1, 0, NULL);
+			_vm->_snail->addCom(kSnClear, -1, 0, NULL);
 			return;
 		}
 		switch (x) {
@@ -789,7 +774,7 @@ void System::touch(uint16 mask, int x, int y) {
 		case '3':
 		case '4':
 			if (_vm->_keyboard->_key[kKeyAlt]) {
-				_snail->addCom(kSnLevel, -1, x - '0', NULL);
+				_vm->_snail->addCom(kSnLevel, -1, x - '0', NULL);
 				break;
 			}
 			break;
@@ -798,7 +783,7 @@ void System::touch(uint16 mask, int x, int y) {
 		if (_vm->_startupMode)
 			return;
 		int selectedScene = 0;
-		_infoLine->update(NULL);
+		_vm->_infoLine->update(NULL);
 		if (y >= kWorldHeight ) {
 			if (x < kButtonX) {                           // select scene?
 				if (y >= kSceneY && y < kSceneY + kSceneNy * kSceneDy &&
@@ -821,10 +806,10 @@ void System::touch(uint16 mask, int x, int y) {
 		_vm->postMiniStep(selectedScene - 1);
 
 		if (mask & kMouseLeftUp) {
-			if (selectedScene && _snail->idle() && _hero->_tracePtr < 0)
+			if (selectedScene && _vm->_snail->idle() && _hero->_tracePtr < 0)
 				_vm->switchScene(selectedScene);
 
-			if (_horzLine && !_horzLine->_flags._hide) {
+			if (_vm->_horzLine && !_vm->_horzLine->_flags._hide) {
 				if (y >= kMapTop && y < kMapTop + kMapHig) {
 					Cluster tmpCluster = _vm->XZ(x, y);
 					int16 x1 = tmpCluster._pt.x;
@@ -833,7 +818,7 @@ void System::touch(uint16 mask, int x, int y) {
 					_vm->setMapBrick(x1, z1);
 				}
 			} else {
-				if (!_talk && _snail->idle() && _hero
+				if (!_talk && _vm->_snail->idle() && _hero
 				        && y >= kMapTop && y < kMapTop + kMapHig && !_vm->_game) {
 					_hero->findWay(_vm->XZ(x, y));
 				}
@@ -846,7 +831,7 @@ void System::tick() {
 	if (!_vm->_startupMode)
 		if (--_funDel == 0) {
 			_vm->killText();
-			if (_snail->idle()) {
+			if (_vm->_snail->idle()) {
 				if (_vm->_flag[0]) // Pain flag
 					_vm->heroCover(9);
 				else { // CHECKME: Before, was: if (Startup::_core >= CORE_MID) {
@@ -881,9 +866,9 @@ void CGEEngine::switchMusic() {
 	keyClick();
 
 	if (_music)
-		_midiPlayer.loadMidi(_now);
+		_midiPlayer->loadMidi(_now);
 	else
-		_midiPlayer.killMidi();
+		_midiPlayer->killMidi();
 }
 
 void CGEEngine::startCountDown() {
@@ -946,10 +931,10 @@ void Sprite::touch(uint16 mask, int x, int y) {
 	if ((mask & kEventAttn) != 0)
 		return;
 
-	_infoLine->update(name());
+	_vm->_infoLine->update(name());
 
 	if (mask & (kMouseRightDown | kMouseLeftDown))
-		_sprite = this;
+		_vm->_sprite = this;
 
 	if (_ref / 10 == 12) {
 		_vm->optionTouch(_ref % 10, mask);
@@ -965,7 +950,7 @@ void Sprite::touch(uint16 mask, int x, int y) {
 			mask |= kMouseRightUp;
 		}
 
-	if ((mask & kMouseRightUp) && _snail->idle()) {
+	if ((mask & kMouseRightUp) && _vm->_snail->idle()) {
 		Sprite *ps = (_vm->_pocLight->_seqPtr) ? _pocket[_vm->_pocPtr] : NULL;
 		if (ps) {
 			if (_flags._kept || _hero->distance(this) < kDistMax) {
@@ -985,8 +970,8 @@ void Sprite::touch(uint16 mask, int x, int y) {
 						if (_vm->findPocket(NULL) < 0) {
 							_vm->pocFul();
 						} else {
-							_snail->addCom(kSnReach, -1, -1, this);
-							_snail->addCom(kSnKeep, -1, -1, this);
+							_vm->_snail->addCom(kSnReach, -1, -1, this);
+							_vm->_snail->addCom(kSnKeep, -1, -1, this);
 							_flags._port = false;
 						}
 					} else {
@@ -1006,7 +991,7 @@ void Sprite::touch(uint16 mask, int x, int y) {
 		}
 	}
 
-	if ((mask & kMouseLeftUp) && _snail->idle()) {
+	if ((mask & kMouseLeftUp) && _vm->_snail->idle()) {
 		if (_flags._kept) {
 			for (int n = 0; n < kPocketNX; n++) {
 				if (_pocket[n] == this) {
@@ -1015,7 +1000,7 @@ void Sprite::touch(uint16 mask, int x, int y) {
 				}
 			}
 		} else {
-			_snail->addCom(kSnWalk, -1, -1, this); // Hero->FindWay(this);
+			_vm->_snail->addCom(kSnWalk, -1, -1, this); // Hero->FindWay(this);
 		}
 	}
 }
@@ -1043,7 +1028,7 @@ void CGEEngine::loadSprite(const char *fname, int ref, int scene, int col = 0, i
 	mergeExt(tmpStr, fname, kSprExt);
 
 	if (_resman->exist(tmpStr)) {      // sprite description file exist
-		EncryptedStream sprf(tmpStr);
+		EncryptedStream sprf(this, tmpStr);
 		if (sprf.err())
 			error("Bad SPR [%s]", tmpStr);
 
@@ -1148,7 +1133,7 @@ void CGEEngine::loadSprite(const char *fname, int ref, int scene, int col = 0, i
 }
 
 void CGEEngine::loadScript(const char *fname) {
-	EncryptedStream scrf(fname);
+	EncryptedStream scrf(this, fname);
 
 	if (scrf.err())
 		return;
@@ -1356,7 +1341,7 @@ void CGEEngine::runGame() {
 		_sprite->step(_music);
 	_snail_->addCom(kSnSeq, -1, _music, _sprite);
 	if (!_music)
-		_midiPlayer.killMidi();
+		_midiPlayer->killMidi();
 
 	if (_resman->exist("MINI.SPR")) {
 		_miniShp = new BitmapPtr[2];
@@ -1505,7 +1490,7 @@ bool CGEEngine::showTitle(const char *name) {
 		_vga->copyPage(0, 2);
 		_soundOk = 2;
 		if (_music)
-			_midiPlayer.loadMidi(0);
+			_midiPlayer->loadMidi(0);
 	}
 
 	if (_mode < 2) {
@@ -1560,7 +1545,7 @@ void CGEEngine::cge_main() {
 		_horzLine->_flags._hide = true;
 
 	if (_music && _soundOk)
-		_midiPlayer.loadMidi(0);
+		_midiPlayer->loadMidi(0);
 
 	if (_startGameSlot != -1) {
 		// Starting up a savegame from the launcher
diff --git a/engines/cge/cge_main.h b/engines/cge/cge_main.h
index 32fe801..d8ac10f 100644
--- a/engines/cge/cge_main.h
+++ b/engines/cge/cge_main.h
@@ -109,19 +109,7 @@ private:
 	CGEEngine *_vm;
 };
 
-extern EventManager *_eventManager;
 extern Sprite *_pocket[];
-extern Sprite *_sprite;
-extern Sprite *_miniScene;
-extern Sprite *_shadow;
-extern HorizLine *_horzLine;
-extern InfoLine *_infoLine;
-extern SceneLight *_sceneLight;
-extern InfoLine *_debugLine;
-extern Snail *_snail;
-extern Snail *_snail_;
-extern Fx *_fx;
-extern Sound *_sound;
 
 } // End of namespace CGE
 
diff --git a/engines/cge/events.cpp b/engines/cge/events.cpp
index 259451d..cc22d90 100644
--- a/engines/cge/events.cpp
+++ b/engines/cge/events.cpp
@@ -165,7 +165,7 @@ void Keyboard::newKeyboard(Common::Event &event) {
 		_current = Keyboard::_code[keycode];
 
 		if (_client) {
-			CGEEvent &evt = _eventManager->getNextEvent();
+			CGEEvent &evt = _vm->_eventManager->getNextEvent();
 			evt._x = _current;	// Keycode
 			evt._mask = kEventKeyb;	// Event mask
 			evt._spritePtr = _client;	// Sprite pointer
@@ -239,7 +239,7 @@ void Mouse::newMouse(Common::Event &event) {
 	if (!_active)
 		return;
 
-	CGEEvent &evt = _eventManager->getNextEvent();
+	CGEEvent &evt = _vm->_eventManager->getNextEvent();
 	evt._x = event.mouse.x;
 	evt._y = event.mouse.y;
 	evt._spritePtr = _vm->spriteAt(evt._x, evt._y);
diff --git a/engines/cge/fileio.cpp b/engines/cge/fileio.cpp
index 830c1a7..6db0818 100644
--- a/engines/cge/fileio.cpp
+++ b/engines/cge/fileio.cpp
@@ -192,17 +192,17 @@ uint16 ResourceManager::catRead(void *buf, uint16 length) {
 /*-----------------------------------------------------------------------
  * EncryptedStream
  *-----------------------------------------------------------------------*/
-EncryptedStream::EncryptedStream(const char *name) {
+EncryptedStream::EncryptedStream(CGEEngine *vm, const char *name) : _vm(vm) {
 	debugC(3, kCGEDebugFile, "EncryptedStream::EncryptedStream(%s)", name);
 
 	_error = false;
-	BtKeypack *kp = _resman->find(name);
+	BtKeypack *kp = _vm->_resman->find(name);
 	if (scumm_stricmp(kp->_key, name) != 0)
 		_error = true;
 
-	_resman->seek(kp->_pos);
+	_vm->_resman->seek(kp->_pos);
 	byte *dataBuffer = (byte *)malloc(kp->_size);
-	_resman->read(dataBuffer, kp->_size);
+	_vm->_resman->read(dataBuffer, kp->_size);
 	_readStream = new Common::MemoryReadStream(dataBuffer, kp->_size, DisposeAfterUse::YES);
 }
 
diff --git a/engines/cge/fileio.h b/engines/cge/fileio.h
index 4d2539c..cee1fa7 100644
--- a/engines/cge/fileio.h
+++ b/engines/cge/fileio.h
@@ -33,6 +33,8 @@
 
 namespace CGE {
 
+class CGEEngine;
+
 #define kBtSize       1024
 #define kBtKeySize    13
 #define kBtLevel      2
@@ -98,10 +100,11 @@ public:
 
 class EncryptedStream {
 private:
+	CGEEngine *_vm;
 	Common::SeekableReadStream *_readStream;
 	bool _error;
 public:
-	EncryptedStream(const char *name);
+	EncryptedStream(CGEEngine *vm, const char *name);
 	~EncryptedStream();
 	bool err();
 	bool eos();
@@ -112,8 +115,6 @@ public:
 	Common::String readLine();
 };
 
-extern ResourceManager *_resman;
-
 } // End of namespace CGE
 
 #endif
diff --git a/engines/cge/snail.cpp b/engines/cge/snail.cpp
index 8a71000..148307d 100644
--- a/engines/cge/snail.cpp
+++ b/engines/cge/snail.cpp
@@ -1136,7 +1136,7 @@ void Snail::runCom() {
 			_vm->snSound(spr, snc->_val);
 			break;
 		case kSnCount:
-			_sound->setRepeat(snc->_val);
+			_vm->_sound->setRepeat(snc->_val);
 			break;
 		case kSnExec:
 			switch (snc->_cbType) {
diff --git a/engines/cge/sound.cpp b/engines/cge/sound.cpp
index 93ccbe9..9cb7414 100644
--- a/engines/cge/sound.cpp
+++ b/engines/cge/sound.cpp
@@ -55,12 +55,12 @@ Sound::~Sound() {
 }
 
 void Sound::close() {
-	_vm->_midiPlayer.killMidi();
+	_vm->_midiPlayer->killMidi();
 }
 
 void Sound::open() {
 	setRepeat(1);
-	play((*_fx)[30000], 8);
+	play((*_vm->_fx)[30000], 8);
 }
 
 void Sound::setRepeat(int16 count) {
@@ -103,7 +103,7 @@ void Sound::sndDigiStop(SmpInfo *PSmpInfo) {
 	_audioStream = NULL;
 }
 
-Fx::Fx(int size) : _current(NULL) {
+Fx::Fx(CGEEngine *vm, int size) : _current(NULL), _vm(vm) {
 	_cache = new Handler[size];
 	for (_size = 0; _size < size; _size++) {
 		_cache[_size]._ref = 0;
@@ -144,7 +144,7 @@ void Fx::preload(int ref0) {
 
 	for (int ref = ref0; ref < ref0 + 10; ref++) {
 		sprintf(filename, "FX%05d.WAV", ref);
-		EncryptedStream file = filename;
+		EncryptedStream file(_vm, filename);
 		DataCk *wav = loadWave(&file);
 		if (wav) {
 			Handler *p = &_cache[find(0)];
@@ -162,7 +162,7 @@ DataCk *Fx::load(int idx, int ref) {
 	char filename[12];
 	sprintf(filename, "FX%05d.WAV", ref);
 
-	EncryptedStream file = filename;
+	EncryptedStream file(_vm, filename);
 	DataCk *wav = loadWave(&file);
 	if (wav) {
 		Handler *p = &_cache[idx];
@@ -195,7 +195,7 @@ DataCk *Fx::operator[](int ref) {
 	return _current;
 }
 
-MusicPlayer::MusicPlayer() {
+MusicPlayer::MusicPlayer(CGEEngine *vm) : _vm(vm) {
 	_data = NULL;
 	_isGM = false;
 
@@ -230,14 +230,14 @@ void MusicPlayer::killMidi() {
 void MusicPlayer::loadMidi(int ref) {
 	// Work out the filename and check the given MIDI file exists
 	Common::String filename = Common::String::format("%.2d.MID", ref);
-	if (!_resman->exist(filename.c_str()))
+	if (!_vm->_resman->exist(filename.c_str()))
 		return;
 
 	// Stop any currently playing MIDI file
 	killMidi();
 
 	// Read in the data for the file
-	EncryptedStream mid(filename.c_str());
+	EncryptedStream mid(_vm, filename.c_str());
 	_dataSize = mid.size();
 	_data = (byte *)malloc(_dataSize);
 	mid.read(_data, _dataSize);
diff --git a/engines/cge/sound.h b/engines/cge/sound.h
index 26a1525..a3f4d4d 100644
--- a/engines/cge/sound.h
+++ b/engines/cge/sound.h
@@ -87,6 +87,7 @@ private:
 };
 
 class Fx {
+	CGEEngine *_vm;
 	struct Handler {
 		int _ref;
 		DataCk *_wav;
@@ -99,7 +100,7 @@ class Fx {
 public:
 	DataCk *_current;
 
-	Fx(int size);
+	Fx(CGEEngine *vm, int size);
 	~Fx();
 	void clear();
 	void preload(int ref0);
@@ -108,6 +109,7 @@ public:
 
 class MusicPlayer: public Audio::MidiPlayer {
 private:
+	CGEEngine *_vm;
 	byte *_data;
 	int _dataSize;
 	bool _isGM;
@@ -118,7 +120,7 @@ private:
 	// Stop MIDI File
 	void sndMidiStop();
 public:
-	MusicPlayer();
+	MusicPlayer(CGEEngine *vm);
 	~MusicPlayer();
 
 	void loadMidi(int ref);
diff --git a/engines/cge/talk.cpp b/engines/cge/talk.cpp
index a842e61..467b39b 100644
--- a/engines/cge/talk.cpp
+++ b/engines/cge/talk.cpp
@@ -50,7 +50,7 @@ Font::~Font() {
 }
 
 void Font::load() {
-	EncryptedStream f = _path;
+	EncryptedStream f(_vm, _path);
 	assert(!f.err());
 
 	f.read(_widthArr, kWidSize);
diff --git a/engines/cge/text.cpp b/engines/cge/text.cpp
index 7eefc81..2b14db9 100644
--- a/engines/cge/text.cpp
+++ b/engines/cge/text.cpp
@@ -40,7 +40,7 @@ Talk *_talk = NULL;
 
 Text::Text(CGEEngine *vm, const char *fname) : _vm(vm) {
 	_vm->mergeExt(_fileName, fname, kSayExt);
-	if (!_resman->exist(_fileName))
+	if (!_vm->_resman->exist(_fileName))
 		error("No talk (%s)\n", _fileName);
 	int16 txtCount = count() + 1;
 	if (!txtCount)
@@ -60,7 +60,7 @@ Text::~Text() {
 }
 
 int16 Text::count() {
-	EncryptedStream tf = _fileName;
+	EncryptedStream tf(_vm, _fileName);
 	if (tf.err())
 		return -1;
 
@@ -94,7 +94,7 @@ void Text::clear() {
 }
 
 void Text::load() {
-	EncryptedStream tf = _fileName;
+	EncryptedStream tf(_vm, _fileName);
 	assert(!tf.err());
 
 	Common::String line;
diff --git a/engines/cge/vga13h.cpp b/engines/cge/vga13h.cpp
index 84c2329..75c04e7 100644
--- a/engines/cge/vga13h.cpp
+++ b/engines/cge/vga13h.cpp
@@ -72,8 +72,8 @@ Sprite::Sprite(CGEEngine *vm, BitmapPtr *shpP)
 }
 
 Sprite::~Sprite() {
-	if (_sprite == this)
-		_sprite = NULL;
+	if (_vm->_sprite == this)
+		_vm->_sprite = NULL;
 
 	contract();
 }
@@ -211,8 +211,8 @@ Sprite *Sprite::expand() {
 	Snail::Com *nearList = NULL;
 	Snail::Com *takeList = NULL;
 	_vm->mergeExt(fname, _file, kSprExt);
-	if (_resman->exist(fname)) { // sprite description file exist
-		EncryptedStream sprf(fname);
+	if (_vm->_resman->exist(fname)) { // sprite description file exist
+		EncryptedStream sprf(_vm, fname);
 		if (sprf.err())
 			error("Bad SPR [%s]", fname);
 		Common::String line;
diff --git a/engines/cge/vmenu.cpp b/engines/cge/vmenu.cpp
index 25510a6..76d6850 100644
--- a/engines/cge/vmenu.cpp
+++ b/engines/cge/vmenu.cpp
@@ -112,7 +112,7 @@ void Vmenu::touch(uint16 mask, int x, int y) {
 
 	if (ok && (mask & kMouseLeftUp)) {
 		_items = 0;
-		_snail_->addCom(kSnKill, -1, 0, this);
+		_vm->_snail_->addCom(kSnKill, -1, 0, this);
 		_recent = n;
 		assert(_menu[n].Proc);
 		CALL_MEMBER_FN(*_vm, _menu[n].Proc)();
diff --git a/engines/cge/walk.cpp b/engines/cge/walk.cpp
index a3b819a..314d592 100644
--- a/engines/cge/walk.cpp
+++ b/engines/cge/walk.cpp
@@ -95,7 +95,7 @@ void Walk::tick() {
 	} else {
 		// take current Z position
 		_z = _here._pt.y;
-		_snail_->addCom(kSnZTrim, -1, 0, this);    // update Hero's pos in show queue
+		_vm->_snail_->addCom(kSnZTrim, -1, 0, this);    // update Hero's pos in show queue
 	}
 }
 
@@ -187,10 +187,10 @@ void Walk::reach(Sprite *spr, int mode) {
 		}
 	}
 	// note: insert SNAIL commands in reverse order
-	_snail->insCom(kSnPause, -1, 64, NULL);
-	_snail->insCom(kSnSeq, -1, kTSeq + mode, this);
+	_vm->_snail->insCom(kSnPause, -1, 64, NULL);
+	_vm->_snail->insCom(kSnSeq, -1, kTSeq + mode, this);
 	if (spr) {
-		_snail->insCom(kSnWait, -1, -1, _hero);
+		_vm->_snail->insCom(kSnWait, -1, -1, _hero);
 		//SNINSERT(SNWALK, -1, -1, spr);
 	}
 	// sequence is not finished,


Commit: 38deee5a88ceedeb0979a9b53e7b4e35a7a03f0f
    https://github.com/scummvm/scummvm/commit/38deee5a88ceedeb0979a9b53e7b4e35a7a03f0f
Author: Strangerke (strangerke at scummvm.org)
Date: 2011-09-17T02:09:32-07:00

Commit Message:
CGE: some more cleanup

Changed paths:
    engines/cge/cge.h
    engines/cge/cge_main.cpp
    engines/cge/cge_main.h



diff --git a/engines/cge/cge.h b/engines/cge/cge.h
index 8c9a468..6110a07 100644
--- a/engines/cge/cge.h
+++ b/engines/cge/cge.h
@@ -184,6 +184,7 @@ public:
 	Fx *_fx;
 	Sound *_sound;
 	ResourceManager *_resman;
+	Sprite *_pocket[kPocketNX];
 
 	Common::RandomSource _randomSource;
 	MusicPlayer *_midiPlayer;
diff --git a/engines/cge/cge_main.cpp b/engines/cge/cge_main.cpp
index cc04eeb..de35118 100644
--- a/engines/cge/cge_main.cpp
+++ b/engines/cge/cge_main.cpp
@@ -50,10 +50,6 @@
 
 namespace CGE {
 
-uint16  _stklen = (kStackSize * 2);
-
-Sprite *_pocket[kPocketNX];
-
 const char *savegameStr = "SCUMMVM_CGE";
 
 //--------------------------------------------------------------------------
@@ -951,7 +947,7 @@ void Sprite::touch(uint16 mask, int x, int y) {
 		}
 
 	if ((mask & kMouseRightUp) && _vm->_snail->idle()) {
-		Sprite *ps = (_vm->_pocLight->_seqPtr) ? _pocket[_vm->_pocPtr] : NULL;
+		Sprite *ps = (_vm->_pocLight->_seqPtr) ? _vm->_pocket[_vm->_pocPtr] : NULL;
 		if (ps) {
 			if (_flags._kept || _hero->distance(this) < kDistMax) {
 				if (works(ps)) {
@@ -994,7 +990,7 @@ void Sprite::touch(uint16 mask, int x, int y) {
 	if ((mask & kMouseLeftUp) && _vm->_snail->idle()) {
 		if (_flags._kept) {
 			for (int n = 0; n < kPocketNX; n++) {
-				if (_pocket[n] == this) {
+				if (_vm->_pocket[n] == this) {
 					_vm->selectPocket(n);
 					break;
 				}
diff --git a/engines/cge/cge_main.h b/engines/cge/cge_main.h
index d8ac10f..bdb3121 100644
--- a/engines/cge/cge_main.h
+++ b/engines/cge/cge_main.h
@@ -109,8 +109,6 @@ private:
 	CGEEngine *_vm;
 };
 
-extern Sprite *_pocket[];
-
 } // End of namespace CGE
 
 #endif






More information about the Scummvm-git-logs mailing list