Skip to content

Commit

Permalink
Merge pull request #574 from chrilith/master
Browse files Browse the repository at this point in the history
MORTEVIELLE: added missing inter screen messages
  • Loading branch information
Strangerke committed Jan 26, 2015
2 parents f2e3bdd + bdd75f9 commit 5b9231a
Show file tree
Hide file tree
Showing 4 changed files with 52 additions and 3 deletions.
6 changes: 3 additions & 3 deletions engines/mortevielle/actions.cpp
Expand Up @@ -571,6 +571,7 @@ void MortevielleEngine::fctSearch() {
_curSearchObjId = getFirstObject();
if (_curSearchObjId != 0) {
_searchCount = 0;
_is = 0;
_heroSearching = true;
_menu->setSearchMenu();
prepareNextObject();
Expand Down Expand Up @@ -1678,9 +1679,8 @@ void MortevielleEngine::endGame() {
handleDescriptionText(2, 35);
startMusicOrSpeech(0);
testKey(false);
// A wait message was displayed.
// testKey (aka tkey1) was called before and after.
// This double call is useless, thus removed
displayInterScreenMessage(2036);
testKey(false);
resetVariables();
}

Expand Down
2 changes: 2 additions & 0 deletions engines/mortevielle/mortevielle.h
Expand Up @@ -416,6 +416,7 @@ class MortevielleEngine : public Engine {
int _maff;
int _caff;
int _crep;
int _is; // ???

byte _destinationArray[7][25];

Expand Down Expand Up @@ -466,6 +467,7 @@ class MortevielleEngine : public Engine {
void gameLoaded();
void initGame();
void displayAloneText();
void displayInterScreenMessage(int mesgId);
void draw(int x, int y);
void charToHour();
void hourToChar();
Expand Down
24 changes: 24 additions & 0 deletions engines/mortevielle/outtext.cpp
Expand Up @@ -227,7 +227,31 @@ void TextHandler::taffich() {
Common::String filename, altFilename;

if ((a != 50) && (a != 51)) {
int m = a + 2000;

if ((m > 2001) && (m < 2010))
m = 2001;
else if (m == 2011)
m = 2010;
if (a == 32)
m = 2034;
else if ((a == 17) && (_vm->_maff == 14))
m = 2018;
else if (a > 99) {
if ((_vm->_is == 1) || (_vm->_is == 0))
m = 2031;
else
m = 2032;
}

if ( ((a > 69) && (a < 80)) || (a == 30) || (a == 31) || (a == 144) || (a == 147) || (a == 149) )
m = 2030;
else if ( ((a < 27) && ( ((_vm->_maff > 69) && (!_vm->_coreVar._alreadyEnteredManor)) || (_vm->_maff > 99) )) || ((_vm->_maff > 29) && (_vm->_maff < 33)) )
m = 2033;

_vm->displayInterScreenMessage(m);
_vm->_maff = a;

if (a == 159)
a = 86;
else if (a > 140)
Expand Down
23 changes: 23 additions & 0 deletions engines/mortevielle/utils.cpp
Expand Up @@ -1359,6 +1359,7 @@ void MortevielleEngine::endSearch() {
_heroSearching = false;
_obpart = false;
_searchCount = 0;
_is = 0;
_menu->unsetSearchMenu();
}

Expand Down Expand Up @@ -1469,6 +1470,7 @@ void MortevielleEngine::gameLoaded() {
_num = 0;
_startTime = 0;
_endTime = 0;
_is = 0;
_searchCount = 0;
_roomDoorId = OWN_ROOM;
_syn = true;
Expand Down Expand Up @@ -2988,6 +2990,26 @@ void MortevielleEngine::displayNarrativePicture(int af, int ob) {
_crep = 998;
}

/**
* Display a message switching from a screen to another.
* @remarks Originally called 'messint'
*/
void MortevielleEngine::displayInterScreenMessage(int mesgId) {
clearUpperLeftPart();
clearDescriptionBar();
clearVerbBar();

GfxSurface surface;
surface.decode(_rightFramePict + 1008);
surface._offset.x = 80;
surface._offset.y = 40;
setPal(90);
_screenSurface->drawPicture(surface, 0, 0);
_screenSurface->drawPicture(surface, 0, 70);
handleDescriptionText(7, mesgId);
delay(DISK_ACCESS_DELAY);
}

/**
* Prepare Display Text
* @remarks Originally called 'affrep'
Expand Down Expand Up @@ -3196,6 +3218,7 @@ void MortevielleEngine::prepareNextObject() {
} while ((objId == 0) && (_searchCount <= 9));

if ((objId != 0) && (_searchCount < 11)) {
_is++;
_caff = objId;
_crep = _caff + 400;
if (_currBitIndex != 0)
Expand Down

0 comments on commit 5b9231a

Please sign in to comment.