aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorTorbjörn Andersson2013-08-04 09:24:33 +0200
committerTorbjörn Andersson2013-08-04 09:24:33 +0200
commit870a583c8b93eb560dca37add3cf9d98f21d594a (patch)
tree21bfab3bf9f625e9c9cbb79580702f049ee3ad7c /engines
parent38071bc5c5d2b2543dc23b38e1b810d791bf4a26 (diff)
downloadscummvm-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.h2
-rw-r--r--engines/mortevielle/utils.cpp14
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]];
}
}