MORTEVIELLE: Some more renaming

This commit is contained in:
Strangerke 2012-03-16 07:32:43 +01:00
parent 01e899b965
commit fb096b135b
7 changed files with 111 additions and 119 deletions

View File

@ -1200,7 +1200,7 @@ void MortevielleEngine::fctSleep() {
}
clearScreenType3();
clearScreenType2();
ecrf2();
prepareScreenType2();
ecr2(getEngineString(S_WANT_TO_WAKE_UP));
updateHour(j, h, m);
@ -1589,7 +1589,7 @@ void MortevielleEngine::endGame() {
afdes(0);
repon(6, 34);
repon(2, 35);
musique(0);
startMusicOrSpeech(0);
tkey1(false);
// A wait message was displayed.
// tkey1 was called before and after.
@ -1605,17 +1605,17 @@ void MortevielleEngine::endGame() {
*/
void MortevielleEngine::askRestart() {
clearScreenType2();
musique(0);
startMusicOrSpeech(0);
tkey1(false);
maivid();
resetVariables();
initGame();
g_vh = 10;
g_vm__ = 0;
g_vj = 0;
g_minute = 0;
g_hour = 10;
g_day = 0;
_currHour = 10;
_currHalfHour = 0;
_currDay = 0;
_minute = 0;
_hour = 10;
_day = 0;
repon(2, 180);
int answer = Alert::show(getEngineString(S_YES_NO), 1);

View File

@ -248,8 +248,8 @@ void drawRightFrame() {
* Set Text Color
* @remarks Originally called 'text_color'
*/
void setTextColor(int c) {
g_vm->_textColor = c;
void MortevielleEngine::setTextColor(int col) {
_textColor = col;
}
/* NIVEAU 13 */
@ -273,11 +273,6 @@ void initouv() {
g_touv[cx] = chr(0);
}
void ecrf1() {
// Large drawing
g_vm->_screenSurface.drawBox(0, 11, 512, 163, 15);
}
/**
* Engine function - Clear Screen - Type 1
* @remarks Originally called 'clsf1'
@ -349,10 +344,6 @@ void clearScreenType10() {
showMouse();
}
void ecrf2() {
setTextColor(5);
}
void ecr2(Common::String str_) {
// Some dead code was present in the original: removed
g_vm->_screenSurface.putxy(8, 177);
@ -383,12 +374,28 @@ void ecr3(Common::String text) {
g_vm->_screenSurface.drawString(text, 5);
}
void ecrf6() {
setTextColor(5);
g_vm->_screenSurface.drawBox(62, 33, 363, 80, 15);
/**
* Prepare screen - Type 1!
* @remarks Originally called 'ecrf1'
*/
void MortevielleEngine::prepareScreenType1() {
// Large drawing
_screenSurface.drawBox(0, 11, 512, 163, 15);
}
void ecrf7() {
/**
* Prepare room - Type 2!
* @remarks Originally called 'ecrf2'
*/
void MortevielleEngine::prepareScreenType2() {
setTextColor(5);
}
/**
* Prepare room - Type 3!
* @remarks Originally called 'ecrf7'
*/
void MortevielleEngine::prepareScreenType3() {
setTextColor(4);
}
@ -416,14 +423,14 @@ void paint_rect(int x, int y, int dx, int dy) {
void updateHour(int &day, int &hour, int &minute) {
int newHour = readclock();
int th = g_jh + ((newHour - g_mh) / g_t);
minute = ((th % 2) + g_vm__) * 30;
hour = ((uint)th >> 1) + g_vh;
minute = ((th % 2) + g_vm->_currHalfHour) * 30;
hour = ((uint)th >> 1) + g_vm->_currHour;
if (minute == 60) {
minute = 0;
++hour;
}
day = (hour / 24) + g_vj;
hour = hour - ((day - g_vj) * 24);
day = (hour / 24) + g_vm->_currDay;
hour = hour - ((day - g_vm->_currDay) * 24);
}
/**
@ -462,13 +469,9 @@ void repon(int f, int m) {
displayStr(tmpStr, 8, 176, 85, 3, 5);
} else {
modif(m);
if (f == 8)
f = 2;
if (f == 1)
f = 6;
if (f == 2) {
if ((f == 2) || (f == 8)) {
clearScreenType2();
ecrf2();
g_vm->prepareScreenType2();
text1(8, 182, 103, m);
if ((m == 68) || (m == 69))
g_s._teauto[40] = '*';
@ -479,10 +482,9 @@ void repon(int f, int m) {
g_s._teauto[38] = '*';
}
}
}
if ((f == 6) || (f == 9)) {
} else if ((f == 1) || (f == 6) || (f == 9)) {
int i;
if (f == 6)
if ((f == 1) || (f == 6))
i = 4;
else
i = 5;
@ -495,9 +497,8 @@ void repon(int f, int m) {
if (m == 179)
g_s._pourc[10] = '*';
}
if (f == 7) { /* messint */
ecrf7();
} else if (f == 7) { /* messint */
g_vm->prepareScreenType3();
tmpStr = deline(m);
int xSmallStr, xLargeStr, dx;
@ -805,12 +806,12 @@ void drawClock() {
else
co = 1;
if (g_minute == 0)
if (g_vm->_minute == 0)
g_vm->_screenSurface.drawLine(((uint)x >> 1) * g_res, y, ((uint)x >> 1) * g_res, (y - rg), co);
else
g_vm->_screenSurface.drawLine(((uint)x >> 1) * g_res, y, ((uint)x >> 1) * g_res, (y + rg), co);
h = g_hour;
h = g_vm->_hour;
if (h > 12)
h -= 12;
if (h == 0)
@ -820,15 +821,15 @@ void drawClock() {
showMouse();
g_vm->_screenSurface.putxy(568, 154);
if (g_hour > 11)
if (g_vm->_hour > 11)
g_vm->_screenSurface.drawString("PM ", 1);
else
g_vm->_screenSurface.drawString("AM ", 1);
g_vm->_screenSurface.putxy(550, 160);
if ((g_day >= 0) && (g_day <= 8)) {
if ((g_vm->_day >= 0) && (g_vm->_day <= 8)) {
Common::String tmp = g_vm->getEngineString(S_DAY);
tmp.insertChar((char)(g_day + 49), 0);
tmp.insertChar((char)(g_vm->_day + 49), 0);
g_vm->_screenSurface.drawString(tmp, 1);
}
}
@ -1326,7 +1327,7 @@ void resetVariables() {
g_s._sjer[i] = chr(0);
g_s._sjer[1] = chr(113);
g_s._heure = chr(20);
g_s._fullHour = chr(20);
for (int i = 1; i <= 10; ++i)
g_s._pourc[i] = ' ';
@ -1608,7 +1609,7 @@ void cavegre() {
if (g_s._faithScore > 69)
g_s._faithScore += (g_s._faithScore / 10);
clearScreenType3();
ecrf2();
g_vm->prepareScreenType2();
ecr3(g_vm->getEngineString(S_SOMEONE_ENTERS));
int rand = (getRandomNumber(0, 4)) - 2;
g_vm->_speechManager.startSpeech(2, rand, 1);
@ -1647,40 +1648,37 @@ void aniof(int ouf, int num) {
surface.decode(&g_mem[ad * 16 + offset]);
g_vm->_screenSurface.drawPicture(surface, 0, 12);
ecrf1();
g_vm->prepareScreenType1();
}
void musique(int so) {
/**
* Start music or speech
* @remarks Originally called 'musique'
*/
void MortevielleEngine::startMusicOrSpeech(int so) {
if (so == 0) {
/* musik(0) */
;
} else if ((g_prebru == 0) && (!g_s._alreadyEnteredManor)) {
g_vm->_speechManager.startSpeech(10, 1, 1);
// Type 1: Speech
_speechManager.startSpeech(10, 1, 1);
++g_prebru;
} else {
bool i = false;
if ((g_s._currPlace == MOUNTAIN) || (g_s._currPlace == MANOR_FRONT) || (g_s._currPlace == MANOR_BACK)) {
if (getRandomNumber(1, 3) == 2) {
g_vm->_speechManager.startSpeech(9, getRandomNumber(2, 4), 1);
i = true;
}
} else if (g_s._currPlace == CHAPEL) {
if (getRandomNumber(1, 2) == 1) {
g_vm->_speechManager.startSpeech(8, 1, 1);
i = true;
}
} else if (g_s._currPlace == WELL) {
if (getRandomNumber(1, 2) == 2) {
g_vm->_speechManager.startSpeech(12, 1, 1);
i = true;
}
} else if (g_s._currPlace == INSIDE_WELL) {
g_vm->_speechManager.startSpeech(13, 1, 1);
i = true;
}
if (!i)
g_vm->_speechManager.startSpeech(getRandomNumber(1, 17), 1, 2);
if (((g_s._currPlace == MOUNTAIN) || (g_s._currPlace == MANOR_FRONT) || (g_s._currPlace == MANOR_BACK)) && (getRandomNumber(1, 3) == 2))
// Type 1: Speech
_speechManager.startSpeech(9, getRandomNumber(2, 4), 1);
else if ((g_s._currPlace == CHAPEL) && (getRandomNumber(1, 2) == 1))
// Type 1: Speech
_speechManager.startSpeech(8, 1, 1);
else if ((g_s._currPlace == WELL) && (getRandomNumber(1, 2) == 2))
// Type 1: Speech
_speechManager.startSpeech(12, 1, 1);
else if (g_s._currPlace == INSIDE_WELL)
// Type 1: Speech
_speechManager.startSpeech(13, 1, 1);
else
// Type 2 : music
_speechManager.startSpeech(getRandomNumber(1, 17), 1, 2);
}
}
@ -1698,7 +1696,7 @@ void dessin(int ad) {
g_vm->_screenSurface.drawBox(222, 47, 155, 91, 15);
} else {
dessine(g_ades, 0, 12);
ecrf1();
g_vm->prepareScreenType1();
if ((g_caff < 30) || (g_caff > 32)) {
for (int cx = 1; cx <= 6; ++cx) {
if (ord(g_touv[cx]) != 0)
@ -1720,7 +1718,7 @@ void dessin(int ad) {
}
if (g_caff < ROOM26)
musique(1);
g_vm->startMusicOrSpeech(1);
}
}
}
@ -1737,8 +1735,8 @@ void tinke() {
g_vm->_anyone = false;
updateHour(day, hour, minute);
if (day != g_day) {
g_day = day;
if (day != g_vm->_day) {
g_vm->_day = day;
int i = 0;
do {
++i;
@ -1747,9 +1745,9 @@ void tinke() {
g_nbrep[i] = 0;
} while (i != 8);
}
if ((hour > g_hour) || ((hour == 0) && (g_hour == 23))) {
g_hour = hour;
g_minute = 0;
if ((hour > g_vm->_hour) || ((hour == 0) && (g_vm->_hour == 23))) {
g_vm->_hour = hour;
g_vm->_minute = 0;
drawClock();
cf = 0;
for (int i = 1; i <= 10; ++i) {
@ -1775,8 +1773,8 @@ void tinke() {
g_hintPctMessage += d6;
g_hintPctMessage += d4;
}
if (minute > g_minute) {
g_minute = 30;
if (minute > g_vm->_minute) {
g_vm->_minute = 30;
drawClock();
}
if (y_s < 12)
@ -1852,7 +1850,7 @@ void tinke() {
g_hdb = readclock();
if (getRandomNumber(1, 5) < 5) {
clearScreenType3();
ecrf2();
g_vm->prepareScreenType2();
ecr3(g_vm->getEngineString(S_HEAR_NOISE));
int rand = (getRandomNumber(0, 4)) - 2;
g_vm->_speechManager.startSpeech(1, rand, 1);
@ -2569,7 +2567,7 @@ void tmaj3() {
minute = 1;
hour += day * 24;
minute += hour * 2;
g_s._heure = chr(minute);
g_s._fullHour = chr(minute);
}
/**
@ -2683,15 +2681,15 @@ void MortevielleEngine::handleOpcode() {
/* NIVEAU 1 */
void theure() {
g_vj = ord(g_s._heure);
g_vh = g_vj % 48;
g_vj /= 48;
g_vm__ = g_vh % 2;
g_vh /= 2;
g_hour = g_vh;
if (g_vm__ == 1)
g_minute = 30;
int fullHour = ord(g_s._fullHour);
int tmpHour = fullHour % 48;
g_vm->_currDay = fullHour / 48;
g_vm->_currHalfHour = tmpHour % 2;
g_vm->_currHour = tmpHour / 2;
g_vm->_hour = g_vm->_currHour;
if (g_vm->_currHalfHour == 1)
g_vm->_minute = 30;
else
g_minute = 0;
g_vm->_minute = 0;
}
} // End of namespace Mortevielle

View File

@ -36,6 +36,12 @@ namespace Mortevielle {
const int kTime1 = 410;
const int kTime2 = 250;
static const int _actionMenu[12] = { OPCODE_NONE,
OPCODE_SHIDE, OPCODE_ATTACH, OPCODE_FORCE, OPCODE_SLEEP,
OPCODE_ENTER, OPCODE_CLOSE, OPCODE_KNOCK, OPCODE_EAT,
OPCODE_PLACE, OPCODE_OPEN, OPCODE_LEAVE
};
/* NIVEAU 15 */
extern void copcha();
extern bool isMouseIn(rectangle r);
@ -51,20 +57,15 @@ extern int readclock();
extern void modif(int &nu);
extern void dessine(int ad, int x, int y);
extern void drawRightFrame();
extern void setTextColor(int c);
/* NIVEAU 13 */
extern void text1(int x, int y, int nb, int m);
extern void initouv();
extern void ecrf1();
extern void clearScreenType1();
extern void clearScreenType2();
extern void clearScreenType3();
extern void clearScreenType10();
extern void ecrf2();
extern void ecr2(Common::String str_);
extern void ecr3(Common::String text);
extern void ecrf6();
extern void ecrf7();
extern void stop();
extern void paint_rect(int x, int y, int dx, int dy);
extern void updateHour(int &day, int &hour, int &minute);
@ -90,16 +91,9 @@ extern int t11(int roomId);
extern void cavegre();
extern void writetp(Common::String s, int t);
extern void aniof(int ouf, int num);
extern void musique(int so);
/* NIVEAU 9 */
extern void dessin(int ad);
static const int _actionMenu[12] = { OPCODE_NONE,
OPCODE_SHIDE, OPCODE_ATTACH, OPCODE_FORCE, OPCODE_SLEEP,
OPCODE_ENTER, OPCODE_CLOSE, OPCODE_KNOCK, OPCODE_EAT,
OPCODE_PLACE, OPCODE_OPEN, OPCODE_LEAVE
};
extern void tinke();
extern void fenat(char ans);
/* NIVEAU 8 */

View File

@ -145,6 +145,12 @@ public:
int _place;
int _manorDistance;
int _currBitIndex;
int _currDay;
int _currHour;
int _currHalfHour;
int _day;
int _hour;
int _minute;
int _c_zzz;
@ -270,6 +276,12 @@ public:
void loseGame();
void floodedInWell();
void displayDiningRoom();
void startMusicOrSpeech(int so);
void setTextColor(int col);
void prepareScreenType1();
void prepareScreenType2();
void prepareScreenType3();
};
extern MortevielleEngine *g_vm;

View File

@ -65,7 +65,7 @@ void SavegameManager::sync_save(Common::Serializer &sz) {
sz.syncAsSint16LE(g_s1._purpleRoomObjectId);
sz.syncAsSint16LE(g_s1._cryptObjectId);
sz.syncAsByte(g_s1._alreadyEnteredManor);
sz.syncAsByte(g_s1._heure);
sz.syncAsByte(g_s1._fullHour);
sz.syncBytes(g_bufcha, 391);
}

View File

@ -81,18 +81,12 @@ const byte g_rang[16] = {15, 14, 11, 7, 13, 12, 10, 6, 9, 5, 3, 1, 2, 4, 8, 0};
int g_x,
g_y,
g_t,
g_vj,
g_vh,
g_vm__,
g_jh,
g_mh,
g_cs,
g_hdb,
g_hfb,
g_hour,
g_day,
g_key,
g_minute,
g_num,
g_res,
g_ment,

View File

@ -128,7 +128,7 @@ struct sav_chaine {
int _currPlace, _atticBallHoleObjectId, _atticRodHoleObjectId, _cellarObjectId, _secretPassageObjectId, _wellObjectId;
int _selectedObjectId, _purpleRoomObjectId, _cryptObjectId;
bool _alreadyEnteredManor;
byte _heure;
byte _fullHour;
};
struct registres {
@ -186,18 +186,12 @@ enum GraphicModes { MODE_AMSTRAD1512 = 0, MODE_CGA = 1, MODE_EGA = 2, MODE_HERCU
extern int g_x,
g_y,
g_t,
g_vj,
g_vh,
g_vm__,
g_jh,
g_mh,
g_cs,
g_hdb,
g_hfb,
g_hour,
g_day,
g_key,
g_minute,
g_num,
g_res,
g_ment,