[Scummvm-cvs-logs] SF.net SVN: scummvm:[55541] scummvm/trunk/engines/lastexpress/game

littleboy at users.sourceforge.net littleboy at users.sourceforge.net
Wed Jan 26 11:43:39 CET 2011


Revision: 55541
          http://scummvm.svn.sourceforge.net/scummvm/?rev=55541&view=rev
Author:   littleboy
Date:     2011-01-26 10:43:38 +0000 (Wed, 26 Jan 2011)

Log Message:
-----------
LASTEXPRESS: Add some more error handling to Savegame and Sound classes

  - Add some const modifiers where applicable
  - Add some missing casts

Modified Paths:
--------------
    scummvm/trunk/engines/lastexpress/game/menu.cpp
    scummvm/trunk/engines/lastexpress/game/savegame.cpp
    scummvm/trunk/engines/lastexpress/game/sound.cpp
    scummvm/trunk/engines/lastexpress/game/sound.h

Modified: scummvm/trunk/engines/lastexpress/game/menu.cpp
===================================================================
--- scummvm/trunk/engines/lastexpress/game/menu.cpp	2011-01-26 00:21:54 UTC (rev 55540)
+++ scummvm/trunk/engines/lastexpress/game/menu.cpp	2011-01-26 10:43:38 UTC (rev 55541)
@@ -180,7 +180,7 @@
 //////////////////////////////////////////////////////////////////////////
 class Clock {
 public:
-	Clock(LastExpressEngine *engine);
+	explicit Clock(LastExpressEngine *engine);
 	~Clock();
 
 	void draw(uint32 time);
@@ -271,7 +271,7 @@
 //////////////////////////////////////////////////////////////////////////
 class TrainLine {
 public:
-	TrainLine(LastExpressEngine *engine);
+	explicit TrainLine(LastExpressEngine *engine);
 	~TrainLine();
 
 	void draw(uint32 time);
@@ -1454,13 +1454,13 @@
 
 	if (_currentTime < _time) {
 		timeDelta *= 900;
-		_time -= timeDelta.toInt();
+		_time -= (uint)timeDelta.toInt();
 
 		if (_currentTime > _time)
 			_time = _currentTime;
 	} else {
 		timeDelta *= 900;
-		_time += timeDelta.toInt();
+		_time += (uint)timeDelta.toInt();
 
 		if (_currentTime < _time)
 			_time = _currentTime;

Modified: scummvm/trunk/engines/lastexpress/game/savegame.cpp
===================================================================
--- scummvm/trunk/engines/lastexpress/game/savegame.cpp	2011-01-26 00:21:54 UTC (rev 55540)
+++ scummvm/trunk/engines/lastexpress/game/savegame.cpp	2011-01-26 10:43:38 UTC (rev 55541)
@@ -63,7 +63,7 @@
 SaveLoad::~SaveLoad() {
 	clear(true);
 
-	//Zero passed pointers
+	// Zero passed pointers
 	_engine = NULL;
 }
 
@@ -191,6 +191,9 @@
 
 // Load game
 void SaveLoad::loadGame(GameId id) {
+	if (!_savegame)
+		error("SaveLoad::loadGame: No savegame stream present!");
+
 	// Rewind current savegame
 	_savegame->seek(0);
 
@@ -201,6 +204,9 @@
 		return;
 	}
 
+	if (!_savegame)
+		error("SaveLoad::loadGame: No savegame stream present!");
+
 	// Load the last entry
 	_savegame->seek(header.offsetEntry);
 
@@ -419,6 +425,9 @@
 	if (!type || !entity || !val)
 		error("SaveLoad::readEntry: Invalid parameters passed!");
 
+	if (!_savegame)
+		error("SaveLoad::readEntry: No savegame stream present!");
+
 	// Load entry header
 	SavegameEntryHeader entry;
 	Common::Serializer ser(_savegame, NULL);
@@ -452,7 +461,7 @@
 	getProgress().chapter = entry.chapter;
 
 	// Skip padding
-	uint32 offset = _savegame->pos() - originalPosition;
+	uint32 offset = (uint32)_savegame->pos() - originalPosition;
 	if (offset & 0xF) {
 		_savegame->seek((~offset & 0xF) + 1, SEEK_SET);
 	}

Modified: scummvm/trunk/engines/lastexpress/game/sound.cpp
===================================================================
--- scummvm/trunk/engines/lastexpress/game/sound.cpp	2011-01-26 00:21:54 UTC (rev 55540)
+++ scummvm/trunk/engines/lastexpress/game/sound.cpp	2011-01-26 10:43:38 UTC (rev 55541)
@@ -359,7 +359,7 @@
 	}
 }
 
-void SoundManager::resetEntry(SoundEntry *entry) {
+void SoundManager::resetEntry(SoundEntry *entry) const {
 	entry->status.status |= kSoundStatusRemoved;
 	entry->entity = kEntityPlayer;
 
@@ -1763,7 +1763,7 @@
 
 		if (!(status & kSoundStatus_40)
 		 || status & 0x180
-		 || soundEntry->time <= 0
+		 || soundEntry->time == 0
 		 || (status & 0x1F) < 6
 		 || ((getFlags()->nis & 0x8000) && soundEntry->field_4C < 90)) {
 			 current_index = 0;
@@ -1845,7 +1845,7 @@
 	if (subtitle->data->getMaxTime() > subtitle->sound->time) {
 		subtitle->status.status = kSoundStatus_400;
 	} else {
-		subtitle->data->setTime(subtitle->sound->time);
+		subtitle->data->setTime((uint16)subtitle->sound->time);
 
 		if (_drawSubtitles & 1)
 			drawSubtitleOnScreen(subtitle);
@@ -1867,6 +1867,9 @@
 }
 
 void SoundManager::drawSubtitleOnScreen(SubtitleEntry *subtitle) {
+	if (!subtitle)
+		error("SoundManager::drawSubtitleOnScreen: Invalid subtitle entry!");
+
 	_drawSubtitles &= ~1;
 
 	if (subtitle->data == NULL)

Modified: scummvm/trunk/engines/lastexpress/game/sound.h
===================================================================
--- scummvm/trunk/engines/lastexpress/game/sound.h	2011-01-26 00:21:54 UTC (rev 55540)
+++ scummvm/trunk/engines/lastexpress/game/sound.h	2011-01-26 10:43:38 UTC (rev 55541)
@@ -361,7 +361,7 @@
 
 	void updateEntry(SoundEntry *entry, uint value) const;
 	void updateEntryState(SoundEntry *entry) const ;
-	void resetEntry(SoundEntry *entry);
+	void resetEntry(SoundEntry *entry) const;
 	void removeEntry(SoundEntry *entry);
 
 	// Subtitles


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