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 /engines | |
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.
Diffstat (limited to 'engines')
-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]]; } } |