[Scummvm-cvs-logs] scummvm master -> 870a583c8b93eb560dca37add3cf9d98f21d594a

eriktorbjorn eriktorbjorn at telia.com
Sun Aug 4 09:28:00 CEST 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:
870a583c8b MORTEVIELLE: Pass Pattern struct by reference


Commit: 870a583c8b93eb560dca37add3cf9d98f21d594a
    https://github.com/scummvm/scummvm/commit/870a583c8b93eb560dca37add3cf9d98f21d594a
Author: Torbjörn Andersson (eriktorbjorn at users.sourceforge.net)
Date: 2013-08-04T00:24:33-07:00

Commit Message:
MORTEVIELLE: Pass Pattern struct by reference

This should avoid unnecessary copying of a 400+ byte struct. This
was a low-priority Coverity issue, for some reason without a CID.

Changed paths:
    engines/mortevielle/mortevielle.h
    engines/mortevielle/utils.cpp



diff --git a/engines/mortevielle/mortevielle.h b/engines/mortevielle/mortevielle.h
index 37901bb..eb5c8df 100644
--- a/engines/mortevielle/mortevielle.h
+++ b/engines/mortevielle/mortevielle.h
@@ -272,7 +272,7 @@ private:
 	void mainGame();
 	void playGame();
 	void handleAction();
-	void displayCGAPattern(int n, Pattern p, nhom *pal);
+	void displayCGAPattern(int n, Pattern *p, nhom *pal);
 	void loadPalette();
 	void loadTexts();
 	void loadBRUIT5();
diff --git a/engines/mortevielle/utils.cpp b/engines/mortevielle/utils.cpp
index 705237c..af2c486 100644
--- a/engines/mortevielle/utils.cpp
+++ b/engines/mortevielle/utils.cpp
@@ -1997,7 +1997,7 @@ void MortevielleEngine::setPal(int n) {
 			palette(_cgaPal[n]._p);
 
 		for (int i = 0; i <= 15; ++i)
-			displayCGAPattern(i, _patternArr[pal[i]._id], pal);
+			displayCGAPattern(i, &_patternArr[pal[i]._id], pal);
 		}
 		break;
 	default:
@@ -2009,15 +2009,15 @@ void MortevielleEngine::setPal(int n) {
  * Engine function - Display a CGA pattern, using a specified palette
  * @remarks	Originally called 'outbloc'
  */
-void MortevielleEngine::displayCGAPattern(int n, Pattern p, nhom *pal) {
+void MortevielleEngine::displayCGAPattern(int n, Pattern *p, nhom *pal) {
 	int addr = n * 404 + 0xd700;
 
-	WRITE_LE_UINT16(&_curPict[addr], p._tax);
-	WRITE_LE_UINT16(&_curPict[addr + 2], p._tay);
+	WRITE_LE_UINT16(&_curPict[addr], p->_tax);
+	WRITE_LE_UINT16(&_curPict[addr + 2], p->_tay);
 	addr += 4;
-	for (int i = 0; i < p._tax; ++i) {
-		for (int j = 0; j < p._tay; ++j)
-			_curPict[addr + j * p._tax + i] = pal[n]._hom[p._des[i + 1][j + 1]];
+	for (int i = 0; i < p->_tax; ++i) {
+		for (int j = 0; j < p->_tay; ++j)
+			_curPict[addr + j * p->_tax + i] = pal[n]._hom[p->_des[i + 1][j + 1]];
 	}
 }
 






More information about the Scummvm-git-logs mailing list