[Scummvm-cvs-logs] scummvm master -> 79ecd017e24515e5d9a77e32110a932c7d04b582

Strangerke Strangerke at scummvm.org
Fri Nov 1 14:15:50 CET 2013


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

Summary:
79ecd017e2 HUFO: Fix CID 1002880, 1002881. Use nullptr where possible instead of 0


Commit: 79ecd017e24515e5d9a77e32110a932c7d04b582
    https://github.com/scummvm/scummvm/commit/79ecd017e24515e5d9a77e32110a932c7d04b582
Author: Strangerke (strangerke at scummvm.org)
Date: 2013-11-01T06:15:19-07:00

Commit Message:
HUFO: Fix CID 1002880, 1002881. Use nullptr where possible instead of 0

Changed paths:
    engines/hugo/dialogs.cpp
    engines/hugo/display.cpp
    engines/hugo/file.cpp
    engines/hugo/hugo.cpp
    engines/hugo/hugo.h
    engines/hugo/intro.cpp
    engines/hugo/inventory.cpp
    engines/hugo/mouse.cpp
    engines/hugo/object.cpp
    engines/hugo/parser.cpp
    engines/hugo/route.cpp
    engines/hugo/schedule.cpp
    engines/hugo/sound.cpp
    engines/hugo/text.cpp



diff --git a/engines/hugo/dialogs.cpp b/engines/hugo/dialogs.cpp
index 26a05c3..23e04dc 100644
--- a/engines/hugo/dialogs.cpp
+++ b/engines/hugo/dialogs.cpp
@@ -34,8 +34,10 @@
 
 namespace Hugo {
 
-TopMenu::TopMenu(HugoEngine *vm) : Dialog(0, 0, kMenuWidth, kMenuHeight), _arrayBmp(0), _arraySize(0),
-	_vm(vm) {
+TopMenu::TopMenu(HugoEngine *vm) : Dialog(0, 0, kMenuWidth, kMenuHeight), _vm(vm) {
+	_arrayBmp = nullptr;
+	_arraySize = 0;
+
 	init();
 }
 
diff --git a/engines/hugo/display.cpp b/engines/hugo/display.cpp
index 4cb7f3e..3dc9c9a 100644
--- a/engines/hugo/display.cpp
+++ b/engines/hugo/display.cpp
@@ -75,13 +75,13 @@ static const byte stdMouseCursor[] = {
 
 
 Screen::Screen(HugoEngine *vm) : _vm(vm) {
-	_mainPalette = 0;
-	_curPalette = 0;
+	_mainPalette = nullptr;
+	_curPalette = nullptr;
 	_dlAddIndex = 0;
 	_dlRestoreIndex = 0;
 
 	for (int i = 0; i < kNumFonts; i++) {
-		_arrayFont[i] = 0;
+		_arrayFont[i] = nullptr;
 		fontLoadedFl[i] = false;
 	}
 	for (int i = 0; i < kBlitListSize; i++) {
diff --git a/engines/hugo/file.cpp b/engines/hugo/file.cpp
index a9f56de..aa12804 100644
--- a/engines/hugo/file.cpp
+++ b/engines/hugo/file.cpp
@@ -246,13 +246,13 @@ SoundPtr FileManager::getSound(const int16 sound, uint16 *size) {
 
 	// No more to do if SILENCE (called for cleanup purposes)
 	if (sound == _vm->_soundSilence)
-		return 0;
+		return nullptr;
 
 	// Open sounds file
 	Common::File fp;                                // Handle to SOUND_FILE
 	if (!fp.open(getSoundFilename())) {
 		warning("Hugo Error: File not found %s", getSoundFilename());
-		return 0;
+		return nullptr;
 	}
 
 	if (!_hasReadHeader) {
diff --git a/engines/hugo/hugo.cpp b/engines/hugo/hugo.cpp
index 4d24c80..88e2e43 100644
--- a/engines/hugo/hugo.cpp
+++ b/engines/hugo/hugo.cpp
@@ -46,11 +46,11 @@
 
 namespace Hugo {
 
-HugoEngine *HugoEngine::s_Engine = 0;
+HugoEngine *HugoEngine::s_Engine = nullptr;
 
 HugoEngine::HugoEngine(OSystem *syst, const HugoGameDescription *gd) : Engine(syst), _gameDescription(gd),
-	_hero(0), _heroImage(0), _defltTunes(0), _numScreens(0), _tunesNbr(0), _soundSilence(0), _soundTest(0),
-	_screenStates(0), _numStates(0), _score(0), _maxscore(0), _lastTime(0), _curTime(0), _episode(0)
+	_hero(nullptr), _heroImage(0), _defltTunes(nullptr), _numScreens(0), _tunesNbr(0), _soundSilence(0), _soundTest(0),
+	_screenStates(nullptr), _numStates(0), _score(0), _maxscore(0), _lastTime(0), _curTime(0), _episode(nullptr)
 {
 	_system = syst;
 	DebugMan.addDebugChannel(kDebugSchedule, "Schedule", "Script Schedule debug level");
@@ -67,16 +67,16 @@ HugoEngine::HugoEngine(OSystem *syst, const HugoGameDescription *gd) : Engine(sy
 	_console = new HugoConsole(this);
 	_rnd = 0;
 
-	_screen = NULL;
-	_mouse = NULL;
-	_inventory = NULL;
-	_parser = NULL;
-	_route = NULL;
-	_sound = NULL;
-	_intro = NULL;
-	_object = NULL;
-	_text = NULL;
-	_topMenu = NULL;
+	_screen = nullptr;
+	_mouse = nullptr;
+	_inventory = nullptr;
+	_parser = nullptr;
+	_route = nullptr;
+	_sound = nullptr;
+	_intro = nullptr;
+	_object = nullptr;
+	_text = nullptr;
+	_topMenu = nullptr;
 	_status._storyModeFl = false;
 	_status._gameOverFl = false;
 	_status._lookFl = false;
diff --git a/engines/hugo/hugo.h b/engines/hugo/hugo.h
index 176c250..6adb5f9 100644
--- a/engines/hugo/hugo.h
+++ b/engines/hugo/hugo.h
@@ -260,7 +260,7 @@ public:
 
 	// Used by the qsort function
 	static HugoEngine &get() {
-		assert(s_Engine != 0);
+		assert(s_Engine != nullptr);
 		return *s_Engine;
 	}
 
diff --git a/engines/hugo/intro.cpp b/engines/hugo/intro.cpp
index 6f314c8..5db6c39 100644
--- a/engines/hugo/intro.cpp
+++ b/engines/hugo/intro.cpp
@@ -39,9 +39,10 @@
 
 namespace Hugo {
 
-IntroHandler::IntroHandler(HugoEngine *vm) : _vm(vm), _introX(0), _introY(0) {
+IntroHandler::IntroHandler(HugoEngine *vm) : _vm(vm) {
 	_introXSize = 0;
 	_introTicks = 0;
+	_introX = _introY = nullptr;
 }
 
 IntroHandler::~IntroHandler() {
@@ -74,6 +75,7 @@ void IntroHandler::loadIntroData(Common::SeekableReadStream &in) {
 void IntroHandler::freeIntroData() {
 	free(_introX);
 	free(_introY);
+	_introX = _introY = nullptr;
 }
 
 intro_v1d::intro_v1d(HugoEngine *vm) : IntroHandler(vm) {
diff --git a/engines/hugo/inventory.cpp b/engines/hugo/inventory.cpp
index c2495be..03df997 100644
--- a/engines/hugo/inventory.cpp
+++ b/engines/hugo/inventory.cpp
@@ -44,7 +44,8 @@ namespace Hugo {
 
 static const int kMaxDisp = (kXPix / kInvDx);       // Max icons displayable
 
-InventoryHandler::InventoryHandler(HugoEngine *vm) : _vm(vm), _invent(0) {
+InventoryHandler::InventoryHandler(HugoEngine *vm) : _vm(vm) {
+	_invent = nullptr;
 	_firstIconId = 0;
 	_inventoryState  = kInventoryOff;               // Inventory icon bar state
 	_inventoryHeight = 0;                           // Inventory icon bar pos
@@ -62,6 +63,7 @@ void InventoryHandler::setInventoryState(Istate state) {
 
 void InventoryHandler::freeInvent() {
 	free(_invent);
+	_invent = nullptr;
 }
 
 int16 InventoryHandler::getInventoryObjId() const {
diff --git a/engines/hugo/mouse.cpp b/engines/hugo/mouse.cpp
index a951706..4ef3db3 100644
--- a/engines/hugo/mouse.cpp
+++ b/engines/hugo/mouse.cpp
@@ -45,7 +45,8 @@
 
 namespace Hugo {
 
-MouseHandler::MouseHandler(HugoEngine *vm) : _vm(vm), _hotspots(0) {
+MouseHandler::MouseHandler(HugoEngine *vm) : _vm(vm) {
+	_hotspots = nullptr;
 	_leftButtonFl  = false;
 	_rightButtonFl = false;
 	_jumpExitFl = false;                            // Can't jump to a screen exit
@@ -83,6 +84,7 @@ void MouseHandler::setMouseY(int y) {
 
 void MouseHandler::freeHotspots() {
 	free(_hotspots);
+	_hotspots = nullptr;
 }
 
 bool MouseHandler::getJumpExitFl() const {
diff --git a/engines/hugo/object.cpp b/engines/hugo/object.cpp
index 7b826c8..44f46d2 100644
--- a/engines/hugo/object.cpp
+++ b/engines/hugo/object.cpp
@@ -44,7 +44,9 @@
 
 namespace Hugo {
 
-ObjectHandler::ObjectHandler(HugoEngine *vm) : _vm(vm), _objects(0), _uses(0) {
+ObjectHandler::ObjectHandler(HugoEngine *vm) : _vm(vm) {
+	_uses = nullptr;
+	_objects = nullptr;
 	_numObj = 0;
 	_objCount = 0;
 	_usesSize = 0;
@@ -249,47 +251,49 @@ void ObjectHandler::lookObject(Object *obj) {
 void ObjectHandler::freeObjects() {
 	debugC(1, kDebugObject, "freeObjects");
 
-	if (_vm->_hero != 0 && _vm->_hero->_seqList[0]._seqPtr != 0) {
+	if (_vm->_hero != nullptr && _vm->_hero->_seqList[0]._seqPtr != nullptr) {
 		// Free all sequence lists and image data
 		for (int16 i = 0; i < _numObj; i++) {
 			Object *obj = &_objects[i];
 			for (int16 j = 0; j < obj->_seqNumb; j++) {
 				Seq *seq = obj->_seqList[j]._seqPtr;
 				Seq *next;
-				if (seq == 0) // Failure during database load
+				if (seq == nullptr) // Failure during database load
 					break;
-				if (seq->_imagePtr != 0) {
+				if (seq->_imagePtr != nullptr) {
 					free(seq->_imagePtr);
-					seq->_imagePtr = 0;
+					seq->_imagePtr = nullptr;
 				}
 				seq = seq->_nextSeqPtr;
 				while (seq != obj->_seqList[j]._seqPtr) {
-					if (seq->_imagePtr != 0) {
+					if (seq->_imagePtr != nullptr) {
 						free(seq->_imagePtr);
-						seq->_imagePtr = 0;
+						seq->_imagePtr = nullptr;
 					}
 					next = seq->_nextSeqPtr;
 					free(seq);
 					seq = next;
 				}
 				free(seq);
+				seq = nullptr;
 			}
 		}
 	}
 
-	if (_uses) {
+	if (_uses != nullptr) {
 		for (int16 i = 0; i < _usesSize; i++)
 			free(_uses[i]._targets);
 		free(_uses);
+		_uses = nullptr;
 	}
 
 	for (int16 i = 0; i < _objCount; i++) {
 		free(_objects[i]._stateDataIndex);
-		_objects[i]._stateDataIndex = 0;
+		_objects[i]._stateDataIndex = nullptr;
 	}
 
 	free(_objects);
-	_objects = 0;
+	_objects = nullptr;
 }
 
 /**
@@ -414,7 +418,7 @@ void ObjectHandler::readUse(Common::ReadStream &in, Uses &curUse) {
  */
 void ObjectHandler::loadObjectUses(Common::ReadStream &in) {
 	Uses tmpUse;
-	tmpUse._targets = 0;
+	tmpUse._targets = nullptr;
 
 	//Read _uses
 	for (int varnt = 0; varnt < _vm->_numVariant; varnt++) {
@@ -430,7 +434,7 @@ void ObjectHandler::loadObjectUses(Common::ReadStream &in) {
 			else {
 				readUse(in, tmpUse);
 				free(tmpUse._targets);
-				tmpUse._targets = 0;
+				tmpUse._targets = nullptr;
 			}
 		}
 	}
@@ -442,7 +446,7 @@ void ObjectHandler::readObject(Common::ReadStream &in, Object &curObject) {
 	uint16 numSubElem = in.readUint16BE();
 
 	if (numSubElem == 0)
-		curObject._stateDataIndex = 0;
+		curObject._stateDataIndex = nullptr;
 	else
 		curObject._stateDataIndex = (uint16 *)malloc(sizeof(uint16) * numSubElem);
 	for (int j = 0; j < numSubElem; j++)
@@ -453,16 +457,16 @@ void ObjectHandler::readObject(Common::ReadStream &in, Object &curObject) {
 	curObject._vyPath = in.readSint16BE();
 	curObject._actIndex = in.readUint16BE();
 	curObject._seqNumb = in.readByte();
-	curObject._currImagePtr = 0;
+	curObject._currImagePtr = nullptr;
 
 	if (curObject._seqNumb == 0) {
 		curObject._seqList[0]._imageNbr = 0;
-		curObject._seqList[0]._seqPtr = 0;
+		curObject._seqList[0]._seqPtr = nullptr;
 	}
 
 	for (int j = 0; j < curObject._seqNumb; j++) {
 		curObject._seqList[j]._imageNbr = in.readUint16BE();
-		curObject._seqList[j]._seqPtr = 0;
+		curObject._seqList[j]._seqPtr = nullptr;
 	}
 
 	curObject._cycling = (Cycle)in.readByte();
@@ -498,7 +502,7 @@ void ObjectHandler::readObject(Common::ReadStream &in, Object &curObject) {
 void ObjectHandler::loadObjectArr(Common::ReadStream &in) {
 	debugC(6, kDebugObject, "loadObject(&in)");
 	Object tmpObject;
-	tmpObject._stateDataIndex = 0;
+	tmpObject._stateDataIndex = nullptr;
 
 	for (int varnt = 0; varnt < _vm->_numVariant; varnt++) {
 		uint16 numElem = in.readUint16BE();
@@ -515,7 +519,7 @@ void ObjectHandler::loadObjectArr(Common::ReadStream &in) {
 				// Skip over uneeded objects.
 				readObject(in, tmpObject);
 				free(tmpObject._stateDataIndex);
-				tmpObject._stateDataIndex = 0;
+				tmpObject._stateDataIndex = nullptr;
 			}
 		}
 	}
diff --git a/engines/hugo/parser.cpp b/engines/hugo/parser.cpp
index cb55e1f..57938ec 100644
--- a/engines/hugo/parser.cpp
+++ b/engines/hugo/parser.cpp
@@ -44,14 +44,20 @@
 
 namespace Hugo {
 
-Parser::Parser(HugoEngine *vm) : _vm(vm), _putIndex(0), _getIndex(0), _arrayReqs(0), _catchallList(0), _backgroundObjects(0), _cmdList(0) {
+Parser::Parser(HugoEngine *vm) : _vm(vm), _putIndex(0), _getIndex(0) {
+	_catchallList = nullptr;
+	_arrayReqs = nullptr;
+
+	_backgroundObjects = nullptr;
+	_backgroundObjectsSize = 0;
+	_cmdList = nullptr;
+	_cmdListSize = 0;
+
 	_cmdLineIndex = 0;
 	_cmdLineTick = 0;
 	_cmdLineCursor = '_';
 	_cmdLine[0] = '\0';
-	_cmdListSize = 0;
 	_checkDoubleF1Fl = false;
-	_backgroundObjectsSize = 0;
 }
 
 Parser::~Parser() {
@@ -172,7 +178,7 @@ const char *Parser::useBG(const char *name) {
 			return _vm->_text->getVerb(p[i]._verbIndex, 0);
 	}
 
-	return 0;
+	return nullptr;
 }
 
 void Parser::freeParser() {
@@ -180,20 +186,24 @@ void Parser::freeParser() {
 		for (int i = 0; _arrayReqs[i] != 0; i++)
 			free(_arrayReqs[i]);
 		free(_arrayReqs);
+		_arrayReqs = nullptr;
 	}
 
 	free(_catchallList);
+	_catchallList = nullptr;
 
 	if (_backgroundObjects) {
 		for (int i = 0; i < _backgroundObjectsSize; i++)
 			free(_backgroundObjects[i]);
 		free(_backgroundObjects);
+		_backgroundObjects = nullptr;
 	}
 
 	if (_cmdList) {
 		for (int i = 0; i < _cmdListSize; i++)
 			free(_cmdList[i]);
 		free(_cmdList);
+		_cmdList = nullptr;
 	}
 }
 
@@ -421,7 +431,7 @@ const char *Parser::findNoun() const {
 				return _vm->_text->getNoun(i, 0);
 		}
 	}
-	return 0;
+	return nullptr;
 }
 
 /**
@@ -436,7 +446,7 @@ const char *Parser::findVerb() const {
 				return _vm->_text->getVerb(i, 0);
 		}
 	}
-	return 0;
+	return nullptr;
 }
 
 /**
diff --git a/engines/hugo/route.cpp b/engines/hugo/route.cpp
index 8355e1d..dc3c41d 100644
--- a/engines/hugo/route.cpp
+++ b/engines/hugo/route.cpp
@@ -314,7 +314,7 @@ Common::Point *Route::newNode() {
 
 	_routeListIndex++;
 	if (_routeListIndex >= kMaxNodes)               // Too many nodes
-		return 0;                                   // Incomplete route - failure
+		return nullptr;                             // Incomplete route - failure
 
 	_route[_routeListIndex] = _route[_routeListIndex - 1];  // Initialize with previous node
 	return &_route[_routeListIndex];
diff --git a/engines/hugo/schedule.cpp b/engines/hugo/schedule.cpp
index 32b8a47..17ffa9d 100644
--- a/engines/hugo/schedule.cpp
+++ b/engines/hugo/schedule.cpp
@@ -47,10 +47,23 @@
 
 namespace Hugo {
 
-Scheduler::Scheduler(HugoEngine *vm) : _vm(vm), _actListArr(0), _curTick(0), _oldTime(0), _refreshTimeout(0), _points(0), _screenActs(0) {
+Scheduler::Scheduler(HugoEngine *vm) : _vm(vm) {
+	_actListArr = nullptr;
+	_curTick = 0;
+	_oldTime = 0;
+	_refreshTimeout = 0;
+	_points = nullptr;
+	_screenActs = nullptr;
+
 	memset(_events, 0, sizeof(_events));
 	_numBonuses = 0;
 	_screenActsSize = 0;
+
+	_actListArrSize = 0;
+	_alNewscrIndex = 0;
+	_freeEvent = nullptr;
+	_headEvent = nullptr;
+	_tailEvent = nullptr;
 }
 
 Scheduler::~Scheduler() {
@@ -69,14 +82,14 @@ void Scheduler::initEventQueue() {
 	// Chain nextEvent from first to last
 	for (int i = kMaxEvents; --i;)
 		_events[i - 1]._nextEvent = &_events[i];
-	_events[kMaxEvents - 1]._nextEvent = 0;
+	_events[kMaxEvents - 1]._nextEvent = nullptr;
 
 	// Chain prevEvent from last to first
 	for (int i = 1; i < kMaxEvents; i++)
 		_events[i]._prevEvent = &_events[i - 1];
-	_events[0]._prevEvent = 0;
+	_events[0]._prevEvent = nullptr;
 
-	_headEvent = _tailEvent = 0;                    // Event list is empty
+	_headEvent = _tailEvent = nullptr;              // Event list is empty
 	_freeEvent = _events;                           // Free list is full
 }
 
@@ -90,7 +103,7 @@ Event *Scheduler::getQueue() {
 		error("An error has occurred: %s", "getQueue");
 	Event *resEvent = _freeEvent;
 	_freeEvent = _freeEvent->_nextEvent;
-	resEvent->_nextEvent = 0;
+	resEvent->_nextEvent = nullptr;
 	return resEvent;
 }
 
@@ -597,7 +610,7 @@ void Scheduler::loadScreenAct(Common::SeekableReadStream &in) {
 			for (int i = 0; i < numElem; i++) {
 				uint16 numSubElem = in.readUint16BE();
 				if (numSubElem == 0) {
-					_screenActs[i] = 0;
+					_screenActs[i] = nullptr;
 				} else {
 					_screenActs[i] = (uint16 *)malloc(sizeof(uint16) * numSubElem);
 					for (int j = 0; j < numSubElem; j++)
@@ -617,11 +630,14 @@ void Scheduler::freeScheduler() {
 	debugC(6, kDebugSchedule, "freeActListArr()");
 
 	free(_points);
+	_points = nullptr;
 
 	if (_screenActs) {
 		for (int i = 0; i < _screenActsSize; i++)
 			free(_screenActs[i]);
 		free(_screenActs);
+		_screenActs = nullptr;
+		_screenActsSize = 0;
 	}
 
 	if (_actListArr) {
@@ -633,6 +649,8 @@ void Scheduler::freeScheduler() {
 			free(_actListArr[i]);
 		}
 		free(_actListArr);
+		_actListArr = nullptr;
+		_actListArrSize = 0;
 	}
 }
 
@@ -698,9 +716,9 @@ void Scheduler::saveEvents(Common::WriteStream *f) {
 
 	f->writeUint32BE(getTicks());
 
-	int16 freeIndex = (_freeEvent == 0) ? -1 : _freeEvent - _events;
-	int16 headIndex = (_headEvent == 0) ? -1 : _headEvent - _events;
-	int16 tailIndex = (_tailEvent == 0) ? -1 : _tailEvent - _events;
+	int16 freeIndex = (_freeEvent == nullptr) ? -1 : _freeEvent - _events;
+	int16 headIndex = (_headEvent == nullptr) ? -1 : _headEvent - _events;
+	int16 tailIndex = (_tailEvent == nullptr) ? -1 : _tailEvent - _events;
 
 	f->writeSint16BE(freeIndex);
 	f->writeSint16BE(headIndex);
@@ -717,8 +735,8 @@ void Scheduler::saveEvents(Common::WriteStream *f) {
 		f->writeSint16BE(subElem);
 		f->writeByte((wrkEvent->_localActionFl) ? 1 : 0);
 		f->writeUint32BE(wrkEvent->_time);
-		f->writeSint16BE((wrkEvent->_prevEvent == 0) ? -1 : (wrkEvent->_prevEvent - _events));
-		f->writeSint16BE((wrkEvent->_nextEvent == 0) ? -1 : (wrkEvent->_nextEvent - _events));
+		f->writeSint16BE((wrkEvent->_prevEvent == nullptr) ? -1 : (wrkEvent->_prevEvent - _events));
+		f->writeSint16BE((wrkEvent->_nextEvent == nullptr) ? -1 : (wrkEvent->_nextEvent - _events));
 	}
 }
 
@@ -1102,7 +1120,7 @@ void Scheduler::restoreEvents(Common::ReadStream *f) {
 
 		// fix up action pointer (to do better)
 		if ((index == -1) && (subElem == -1))
-			_events[i]._action = 0;
+			_events[i]._action = nullptr;
 		else
 			_events[i]._action = (Act *)&_actListArr[index][subElem];
 
@@ -1112,12 +1130,12 @@ void Scheduler::restoreEvents(Common::ReadStream *f) {
 		int16 prevIndex = f->readSint16BE();
 		int16 nextIndex = f->readSint16BE();
 
-		_events[i]._prevEvent = (prevIndex == -1) ? (Event *)0 : &_events[prevIndex];
-		_events[i]._nextEvent = (nextIndex == -1) ? (Event *)0 : &_events[nextIndex];
+		_events[i]._prevEvent = (prevIndex == -1) ? nullptr : &_events[prevIndex];
+		_events[i]._nextEvent = (nextIndex == -1) ? nullptr : &_events[nextIndex];
 	}
-	_freeEvent = (freeIndex == -1) ? 0 : &_events[freeIndex];
-	_headEvent = (headIndex == -1) ? 0 : &_events[headIndex];
-	_tailEvent = (tailIndex == -1) ? 0 : &_events[tailIndex];
+	_freeEvent = (freeIndex == -1) ? nullptr : &_events[freeIndex];
+	_headEvent = (headIndex == -1) ? nullptr : &_events[headIndex];
+	_tailEvent = (tailIndex == -1) ? nullptr : &_events[tailIndex];
 
 	// Adjust times to fit our time
 	uint32 curTime = getTicks();
@@ -1156,7 +1174,7 @@ void Scheduler::insertAction(Act *action) {
 	// Now find the place to insert the event
 	if (!_tailEvent) {                                // Empty queue
 		_tailEvent = _headEvent = curEvent;
-		curEvent->_nextEvent = curEvent->_prevEvent = 0;
+		curEvent->_nextEvent = curEvent->_prevEvent = nullptr;
 	} else {
 		Event *wrkEvent = _tailEvent;                   // Search from latest time back
 		bool found = false;
@@ -1178,7 +1196,7 @@ void Scheduler::insertAction(Act *action) {
 		if (!found) {                                   // Must be earliest in list
 			_headEvent->_prevEvent = curEvent;            // So insert as new head
 			curEvent->_nextEvent = _headEvent;
-			curEvent->_prevEvent = 0;
+			curEvent->_prevEvent = nullptr;
 			_headEvent = curEvent;
 		}
 	}
@@ -1424,7 +1442,7 @@ Event *Scheduler::doAction(Event *curEvent) {
 	}
 
 	if (action->_a0._actType == NEW_SCREEN) {         // New_screen() deletes entire list
-		return 0;                                       // nextEvent = 0 since list now empty
+		return nullptr;                               // nextEvent = nullptr since list now empty
 	} else {
 		wrkEvent = curEvent->_nextEvent;
 		delQueue(curEvent);                             // Return event to free list
@@ -1455,9 +1473,9 @@ void Scheduler::delQueue(Event *curEvent) {
 	}
 
 	if (_headEvent)
-		_headEvent->_prevEvent = 0;                     // Mark end of list
+		_headEvent->_prevEvent = nullptr;             // Mark end of list
 	else
-		_tailEvent = 0;                                 // Empty queue
+		_tailEvent = nullptr;                         // Empty queue
 
 	curEvent->_nextEvent = _freeEvent;                // Return p to free list
 	if (_freeEvent)                                   // Special case, if free list was empty
diff --git a/engines/hugo/sound.cpp b/engines/hugo/sound.cpp
index aefa03c..28dcdc8 100644
--- a/engines/hugo/sound.cpp
+++ b/engines/hugo/sound.cpp
@@ -123,11 +123,12 @@ SoundHandler::SoundHandler(HugoEngine *vm) : _vm(vm) {
 	_speakerStream = new Audio::PCSpeaker(_vm->_mixer->getOutputRate());
 	_vm->_mixer->playStream(Audio::Mixer::kSFXSoundType, &_speakerHandle,
 						_speakerStream, -1, Audio::Mixer::kMaxChannelVolume, 0, DisposeAfterUse::NO, true);
-	_DOSSongPtr = 0;
+	_DOSSongPtr = nullptr;
 	_curPriority = 0;
 	_pcspkrTimer = 0;
 	_pcspkrOctave = 3;
 	_pcspkrNoteDuration = 2;
+	_DOSIntroSong = nullptr;
 }
 
 SoundHandler::~SoundHandler() {
@@ -210,7 +211,7 @@ void SoundHandler::playSound(int16 sound, const byte priority) {
 	_curPriority = priority;
 
 	// Get sound data
-	if ((soundPtr = _vm->_file->getSound(sound, &size)) == 0)
+	if ((soundPtr = _vm->_file->getSound(sound, &size)) == nullptr)
 		return;
 
 	Audio::AudioStream *stream = Audio::makeRawStream(soundPtr, size, 11025, Audio::FLAG_UNSIGNED);
diff --git a/engines/hugo/text.cpp b/engines/hugo/text.cpp
index f8b02bd..538a034 100644
--- a/engines/hugo/text.cpp
+++ b/engines/hugo/text.cpp
@@ -26,9 +26,17 @@
 
 namespace Hugo {
 
-TextHandler::TextHandler(HugoEngine *vm) : _vm(vm), _textData(0), _stringtData(0),
-	_textEngine(0), _textIntro(0), _textMouse(0), _textParser(0), _textUtil(0),
-	_screenNames(0), _arrayNouns(0), _arrayVerbs(0) {
+TextHandler::TextHandler(HugoEngine *vm) : _vm(vm) {
+	_textData = nullptr;
+	_stringtData = nullptr;
+	_textEngine = nullptr;
+	_textIntro = nullptr;
+	_textMouse = nullptr;
+	_textParser = nullptr;
+	_textUtil = nullptr;
+	_screenNames = nullptr;
+	_arrayNouns = nullptr;
+	_arrayVerbs = nullptr;
 }
 
 TextHandler::~TextHandler() {
@@ -86,9 +94,9 @@ char **TextHandler::loadTextsVariante(Common::ReadStream &in, uint16 *arraySize)
 	int  numTexts;
 	int  entryLen;
 	int  len;
-	char **res = 0;
-	char *pos = 0;
-	char *posBck = 0;
+	char **res = nullptr;
+	char *pos = nullptr;
+	char *posBck = nullptr;
 
 	for (int varnt = 0; varnt < _vm->_numVariant; varnt++) {
 		numTexts = in.readUint16BE();
@@ -126,21 +134,21 @@ char **TextHandler::loadTextsVariante(Common::ReadStream &in, uint16 *arraySize)
 }
 
 char ***TextHandler::loadTextsArray(Common::ReadStream &in) {
-	char ***resArray = 0;
+	char ***resArray = nullptr;
 	uint16 arraySize;
 
 	for (int varnt = 0; varnt < _vm->_numVariant; varnt++) {
 		arraySize = in.readUint16BE();
 		if (varnt == _vm->_gameVariant) {
 			resArray = (char ***)malloc(sizeof(char **) * (arraySize + 1));
-			resArray[arraySize] = 0;
+			resArray[arraySize] = nullptr;
 		}
 		for (int i = 0; i < arraySize; i++) {
 			int numTexts = in.readUint16BE();
 			int entryLen = in.readUint16BE();
 			char *pos = (char *)malloc(entryLen);
-			char *posBck = 0;
-			char **res = 0;
+			char *posBck = nullptr;
+			char **res = nullptr;
 			if (varnt == _vm->_gameVariant) {
 				res = (char **)malloc(sizeof(char *) * numTexts);
 				res[0] = pos;
@@ -232,6 +240,7 @@ void TextHandler::freeTexts(char **ptr) {
 
 	free(*ptr - DATAALIGNMENT);
 	free(ptr);
+	ptr = nullptr;
 }
 
 void TextHandler::freeAllTexts() {
@@ -242,12 +251,14 @@ void TextHandler::freeAllTexts() {
 		for (int i = 0; _arrayNouns[i]; i++)
 			freeTexts(_arrayNouns[i]);
 		free(_arrayNouns);
+		_arrayNouns = nullptr;
 	}
 
 	if (_arrayVerbs) {
 		for (int i = 0; _arrayVerbs[i]; i++)
 			freeTexts(_arrayVerbs[i]);
 		free(_arrayVerbs);
+		_arrayVerbs = nullptr;
 	}
 
 	freeTexts(_screenNames);






More information about the Scummvm-git-logs mailing list