diff options
| author | Torbjörn Andersson | 2013-08-04 09:24:33 +0200 | 
|---|---|---|
| committer | Torbjörn Andersson | 2013-08-04 09:24:33 +0200 | 
| commit | 870a583c8b93eb560dca37add3cf9d98f21d594a (patch) | |
| tree | 21bfab3bf9f625e9c9cbb79580702f049ee3ad7c | |
| parent | 38071bc5c5d2b2543dc23b38e1b810d791bf4a26 (diff) | |
| download | scummvm-rg350-870a583c8b93eb560dca37add3cf9d98f21d594a.tar.gz scummvm-rg350-870a583c8b93eb560dca37add3cf9d98f21d594a.tar.bz2 scummvm-rg350-870a583c8b93eb560dca37add3cf9d98f21d594a.zip | |
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.
| -rw-r--r-- | engines/mortevielle/mortevielle.h | 2 | ||||
| -rw-r--r-- | engines/mortevielle/utils.cpp | 14 | 
2 files changed, 8 insertions, 8 deletions
| diff --git a/engines/mortevielle/mortevielle.h b/engines/mortevielle/mortevielle.h index 37901bb1b3..eb5c8dfe52 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 705237c4eb..af2c4868de 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]];  	}  } | 
