diff options
author | Strangerke | 2012-03-06 08:29:06 +0100 |
---|---|---|
committer | Strangerke | 2012-04-06 08:22:51 +0200 |
commit | 8f2a33e29257490bd61a1ad96e06f2a4109e03c8 (patch) | |
tree | ce81943a24e1fb6ab3b151ee02a7d88ab0f9d0be | |
parent | f9b793126d7995316687514ee15830da8f6e7d66 (diff) | |
download | scummvm-rg350-8f2a33e29257490bd61a1ad96e06f2a4109e03c8.tar.gz scummvm-rg350-8f2a33e29257490bd61a1ad96e06f2a4109e03c8.tar.bz2 scummvm-rg350-8f2a33e29257490bd61a1ad96e06f2a4109e03c8.zip |
MORTEVIELLE: Some more renaming and refactoring
-rw-r--r-- | engines/mortevielle/actions.cpp | 6 | ||||
-rw-r--r-- | engines/mortevielle/graphics.cpp | 25 | ||||
-rw-r--r-- | engines/mortevielle/mor.cpp | 96 | ||||
-rw-r--r-- | engines/mortevielle/mor.h | 8 | ||||
-rw-r--r-- | engines/mortevielle/mor2.cpp | 3 |
5 files changed, 73 insertions, 65 deletions
diff --git a/engines/mortevielle/actions.cpp b/engines/mortevielle/actions.cpp index 0bcfd67046..be0407ca50 100644 --- a/engines/mortevielle/actions.cpp +++ b/engines/mortevielle/actions.cpp @@ -1149,7 +1149,7 @@ void fctEnter() { parole(7, g_x, 1); aniof(1, 1); - tip(z, g_x); + g_x = convertBitIndexToCharacterIndex(z); ++g_s._faithScore; g_s._currPlace = LANDING; g_msg[3] = MENU_DISCUSS; @@ -1599,7 +1599,7 @@ void MortevielleEngine::endGame() { // Most likely the double call is useless, thus removed // // tkey1(false); - inzon(); + resetVariables(); } /** @@ -1611,7 +1611,7 @@ void MortevielleEngine::loseGame() { musique(0); tkey1(false); maivid(); - inzon(); + resetVariables(); dprog(); g_vh = 10; g_vm__ = 0; diff --git a/engines/mortevielle/graphics.cpp b/engines/mortevielle/graphics.cpp index 775075c35f..f3737607de 100644 --- a/engines/mortevielle/graphics.cpp +++ b/engines/mortevielle/graphics.cpp @@ -1067,26 +1067,27 @@ void ScreenSurface::writeg(const Common::String &l, int c) { switch (c) { case 1: - case 3 : { + case 3: { cecr = 0; g_vm->_screenSurface.fillRect(15, Common::Rect(pt.x, pt.y, x, pt.y + 7)); - } - break; - case 4 : { + } + break; + case 4: cecr = 0; - } - break; - case 5 : { + break; + case 5: cecr = 15; - } - break; + break; case 0: - case 2 : { + case 2: { cecr = 15; g_vm->_screenSurface.fillRect(0, Common::Rect(pt.x, pt.y, x, pt.y + 7)); + } + break; + default: + break; } - break; - } + pt.x += 1; pt.y += 1; for (x = 1; (x <= (int)l.size()) && (l[x - 1] != 0); ++x) { diff --git a/engines/mortevielle/mor.cpp b/engines/mortevielle/mor.cpp index ef5800e993..b3ae537768 100644 --- a/engines/mortevielle/mor.cpp +++ b/engines/mortevielle/mor.cpp @@ -286,13 +286,12 @@ void updateHour(int &day, int &hour, int &minute) { hour = hour - ((day - g_vj) * 24); } -void conv(int x, int &y) { - int cx = 1; - y = 128; - while (cx < x) { - y = (uint)y >> 1; - ++cx; - } +/** + * Engine function - Convert character index to bit index + * @remarks Originally called 'conv' + */ +int convertCharacterIndexToBitIndex(int characterIndex) { + return 128 >> (characterIndex - 1); } /* NIVEAU 12 */ @@ -465,29 +464,29 @@ void showPeoplePresent(int per) { g_ipers = per; } -void choix(int min, int max, int &per) { - bool i; - int cz; - +int selectCharacters(int min, int max) { + bool invertSelection = false; int rand = getRandomNumber(min, max); + if (rand > 4) { rand = 8 - rand; - i = true; - } else - i = false; + invertSelection = true; + } int cx = 0; - per = 0; + int retVal = 0; while (cx < rand) { - int cy = getRandomNumber(1, 8); - conv(cy, cz); - if ((per & cz) != cz) { + int charIndex = getRandomNumber(1, 8); + int charBitIndex = convertCharacterIndexToBitIndex(charIndex); + if ((retVal & charBitIndex) != charBitIndex) { ++cx; - per |= cz; + retVal |= charBitIndex; } } - if (i) - per = 255 - per; + if (invertSelection) + retVal = 255 - retVal; + + return retVal; } int cpl1() { @@ -852,7 +851,7 @@ int setPresenceDiningRoom(int hour) { min = 1; max = 5; } - choix(min, max, retVal); + retVal = selectCharacters(min, max); } showPeoplePresent(retVal); @@ -880,7 +879,7 @@ int setPresenceBureau(int hour) { min = 1; max = 2; } - choix(min, max, retVal); + retVal = selectCharacters(min, max); } showPeoplePresent(retVal); @@ -917,8 +916,7 @@ int setPresenceLanding() { ((rand == 8) && g_bh5)); } while (test); - int retVal = 0; - conv(rand, retVal); + int retVal = convertCharacterIndexToBitIndex(rand); showPeoplePresent(retVal); return retVal; @@ -945,7 +943,7 @@ int setPresenceChapel(int hour) { min = 2; max = 4; } - choix(min, max, retVal); + retVal = selectCharacters(min, max); } showPeoplePresent(retVal); @@ -994,25 +992,31 @@ void nouvp(int l, int &p) { showPeoplePresent(p); } +/** + * Engine function - Convert bit index to character index + * @remarks Originally called 'tip' + */ +int convertBitIndexToCharacterIndex(int bitIndex) { + int retVal = 0; + if (bitIndex == 128) + retVal = 1; + else if (bitIndex == 64) + retVal = 2; + else if (bitIndex == 32) + retVal = 3; + else if (bitIndex == 16) + retVal = 4; + else if (bitIndex == 8) + retVal = 5; + else if (bitIndex == 4) + retVal = 6; + else if (bitIndex == 2) + retVal = 7; + else if (bitIndex == 1) + retVal = 8; -void tip(int ip, int &cx) { - if (ip == 128) - cx = 1; - else if (ip == 64) - cx = 2; - else if (ip == 32) - cx = 3; - else if (ip == 16) - cx = 4; - else if (ip == 8) - cx = 5; - else if (ip == 4) - cx = 6; - else if (ip == 2) - cx = 7; - else if (ip == 1) - cx = 8; + return retVal; } @@ -1084,7 +1088,11 @@ void phaz(int &rand, int &p, int cf) { rand = getRandomNumber(1, 100); } -void inzon() { +/** + * Engine function - When restarting the game, reset the main variables used by the engine + * @remarks Originally called 'inzon' + */ +void resetVariables() { copcha(); g_s._ipre = false; diff --git a/engines/mortevielle/mor.h b/engines/mortevielle/mor.h index 066392c879..4e35e19652 100644 --- a/engines/mortevielle/mor.h +++ b/engines/mortevielle/mor.h @@ -55,13 +55,13 @@ extern void clsf10(); extern void stop(); extern void paint_rect(int x, int y, int dx, int dy); extern void updateHour(int &day, int &hour, int &minute); -extern void conv(int x, int &y); +extern int convertCharacterIndexToBitIndex(int characterIndex); /* NIVEAU 12 */ extern void modobj(int m); extern void repon(int f, int m); extern void t5(int cx); extern void showPeoplePresent(int per); -extern void choix(int min, int max, int &per); +extern int selectCharacters(int min, int max); extern int cpl1(); extern int cpl2(); extern int cpl3(); @@ -91,13 +91,13 @@ extern int setPresenceLanding(); extern int setPresenceChapel(int hour); extern void frap(); extern void nouvp(int l, int &p); -extern void tip(int ip, int &cx); +extern int convertBitIndexToCharacterIndex(int bitIndex); extern void ecfren(int &p, int &rand, int cf, int l); extern void becfren(int l); /* NIVEAU 10 */ extern void init_nbrepm(); extern void phaz(int &rand, int &p, int cf); -extern void inzon(); +extern void resetVariables(); extern void dprog(); extern void pl1(int cf); extern void pl2(int cf); diff --git a/engines/mortevielle/mor2.cpp b/engines/mortevielle/mor2.cpp index 8776336002..d026ccf080 100644 --- a/engines/mortevielle/mor2.cpp +++ b/engines/mortevielle/mor2.cpp @@ -586,8 +586,7 @@ L1: g_s._faithScore += 3 * (g_s._faithScore / 10); tsort(); tmlieu(15); - int cx; - tip(g_ipers, cx); + int cx = convertBitIndexToCharacterIndex(g_ipers); g_caff = 69 + cx; g_crep = g_caff; g_msg[3] = MENU_DISCUSS; |