aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2012-03-05 21:43:22 +1100
committerStrangerke2012-04-06 08:22:43 +0200
commit83c32aeb2ab4b91a42d5be08dbbd48e78d69b148 (patch)
treec4f77b50467752f5007b4b708fc8eaa86bb61664
parentd5c02ab69c482523dbce82007385363cc8da142c (diff)
downloadscummvm-rg350-83c32aeb2ab4b91a42d5be08dbbd48e78d69b148.tar.gz
scummvm-rg350-83c32aeb2ab4b91a42d5be08dbbd48e78d69b148.tar.bz2
scummvm-rg350-83c32aeb2ab4b91a42d5be08dbbd48e78d69b148.zip
MORTEVIELLE: Bugfixes for correctly displaying people present in a room
-rw-r--r--engines/mortevielle/actions.cpp4
-rw-r--r--engines/mortevielle/mor.cpp42
-rw-r--r--engines/mortevielle/mor.h2
-rw-r--r--engines/mortevielle/mor2.cpp2
-rw-r--r--engines/mortevielle/prog.cpp2
5 files changed, 26 insertions, 26 deletions
diff --git a/engines/mortevielle/actions.cpp b/engines/mortevielle/actions.cpp
index 22c12d6a67..01dd5b4665 100644
--- a/engines/mortevielle/actions.cpp
+++ b/engines/mortevielle/actions.cpp
@@ -709,7 +709,7 @@ void fctPlace() {
tinke();
drawClock();
if (g_ipers != 0)
- affper(g_ipers);
+ showPeoplePresent(g_ipers);
else
person();
@@ -1523,7 +1523,7 @@ void fctDiscuss() {
hirs();
dessine_rouleau();
showMouse();
- affper(g_ipers);
+ showPeoplePresent(g_ipers);
tinke();
drawClock();
affrep();
diff --git a/engines/mortevielle/mor.cpp b/engines/mortevielle/mor.cpp
index 82d0ef1979..e2a7facfcf 100644
--- a/engines/mortevielle/mor.cpp
+++ b/engines/mortevielle/mor.cpp
@@ -247,12 +247,7 @@ void clsf10() {
g_vm->_screenSurface.putxy(co, 92);
g_vm->_screenSurface.writeg(st, 4);
- if (g_res == 1)
- co = 620;
- else
- co = 584;
-
- g_vm->_screenSurface.fillRect(15, Common::Rect(560, 24, co, 86));
+ g_vm->_screenSurface.fillRect(15, Common::Rect(560, 24, 610, 86));
/* rempli(69,12,32,5,255);*/
showMouse();
}
@@ -412,49 +407,54 @@ void t5(int cx) {
g_bh9 = false;
}
-void affper(int per) {
+/**
+ * Engine function - Show the people present in the given room
+ * @remarks Originally called 'affper'
+ */
+void showPeoplePresent(int per) {
int cx;
+ int xp = 580 - (g_vm->_screenSurface.getStringWidth("LEO") / 2);
for (cx = 1; cx <= 8; ++cx)
g_vm->_menu.disableMenuItem(g_vm->_menu._discussMenu[cx]);
clsf10();
if ((per & 128) == 128) {
- g_vm->_screenSurface.putxy(560, 24);
+ g_vm->_screenSurface.putxy(xp, 24);
g_vm->_screenSurface.writeg("LEO", 4);
g_vm->_menu.enableMenuItem(g_vm->_menu._discussMenu[1]);
}
if ((per & 64) == 64) {
- g_vm->_screenSurface.putxy(560, 32);
+ g_vm->_screenSurface.putxy(xp, 32);
g_vm->_screenSurface.writeg("PAT", 4);
g_vm->_menu.enableMenuItem(g_vm->_menu._discussMenu[2]);
}
if ((per & 32) == 32) {
- g_vm->_screenSurface.putxy(560, 40);
+ g_vm->_screenSurface.putxy(xp, 40);
g_vm->_screenSurface.writeg("GUY", 4);
g_vm->_menu.enableMenuItem(g_vm->_menu._discussMenu[3]);
}
if ((per & 16) == 16) {
- g_vm->_screenSurface.putxy(560, 48);
+ g_vm->_screenSurface.putxy(xp, 48);
g_vm->_screenSurface.writeg("EVA", 4);
g_vm->_menu.enableMenuItem(g_vm->_menu._discussMenu[4]);
}
if ((per & 8) == 8) {
- g_vm->_screenSurface.putxy(560, 56);
+ g_vm->_screenSurface.putxy(xp, 56);
g_vm->_screenSurface.writeg("BOB", 4);
g_vm->_menu.enableMenuItem(g_vm->_menu._discussMenu[5]);
}
if ((per & 4) == 4) {
- g_vm->_screenSurface.putxy(560, 64);
+ g_vm->_screenSurface.putxy(xp, 64);
g_vm->_screenSurface.writeg("LUC", 4);
g_vm->_menu.enableMenuItem(g_vm->_menu._discussMenu[6]);
}
if ((per & 2) == 2) {
- g_vm->_screenSurface.putxy(560, 72);
+ g_vm->_screenSurface.putxy(xp, 72);
g_vm->_screenSurface.writeg("IDA", 4);
g_vm->_menu.enableMenuItem(g_vm->_menu._discussMenu[7]);
}
if ((per & 1) == 1) {
- g_vm->_screenSurface.putxy(560, 80);
+ g_vm->_screenSurface.putxy(xp, 80);
g_vm->_screenSurface.writeg("MAX", 4);
g_vm->_menu.enableMenuItem(g_vm->_menu._discussMenu[8]);
}
@@ -828,7 +828,7 @@ int setPresenceDiningRoom(int h) {
}
choix(min, max, retVal);
}
- affper(retVal);
+ showPeoplePresent(retVal);
return retVal;
}
@@ -856,7 +856,7 @@ int setPresenceBureau(int h) {
}
choix(min, max, retVal);
}
- affper(retVal);
+ showPeoplePresent(retVal);
return retVal;
}
@@ -867,7 +867,7 @@ int setPresenceBureau(int h) {
*/
int setPresenceKitchen() {
int retVal = chlm();
- affper(retVal);
+ showPeoplePresent(retVal);
return retVal;
}
@@ -893,7 +893,7 @@ int setPresenceLanding() {
int retVal = 0;
conv(rand, retVal);
- affper(retVal);
+ showPeoplePresent(retVal);
return retVal;
}
@@ -921,7 +921,7 @@ int setPresenceChapel(int h) {
}
choix(min, max, retVal);
}
- affper(retVal);
+ showPeoplePresent(retVal);
return retVal;
}
@@ -965,7 +965,7 @@ void nouvp(int l, int &p) {
p = 9;
if (p != 9)
- affper(p);
+ showPeoplePresent(p);
}
diff --git a/engines/mortevielle/mor.h b/engines/mortevielle/mor.h
index 14172c74b8..514bd73d98 100644
--- a/engines/mortevielle/mor.h
+++ b/engines/mortevielle/mor.h
@@ -60,7 +60,7 @@ extern void conv(int x, int &y);
extern void modobj(int m);
extern void repon(int f, int m);
extern void t5(int cx);
-extern void affper(int per);
+extern void showPeoplePresent(int per);
extern void choix(int min, int max, int &per);
extern void cpl1(int &p);
extern void cpl2(int &p);
diff --git a/engines/mortevielle/mor2.cpp b/engines/mortevielle/mor2.cpp
index a35a4e9860..25793c817f 100644
--- a/engines/mortevielle/mor2.cpp
+++ b/engines/mortevielle/mor2.cpp
@@ -490,7 +490,7 @@ void t1sama() { //Entering manor
st1sama();
} else if (!g_s._ipre) { //Is it your first time?
g_ipers = 255;
- affper(g_ipers);
+ showPeoplePresent(g_ipers);
g_caff = 77;
afdes(0);
g_vm->_screenSurface.drawBox(223, 47, 155, 91, 15);
diff --git a/engines/mortevielle/prog.cpp b/engines/mortevielle/prog.cpp
index 078813b9a0..606b417cef 100644
--- a/engines/mortevielle/prog.cpp
+++ b/engines/mortevielle/prog.cpp
@@ -53,7 +53,7 @@ void changeGraphicalDevice(int newDevice) {
tinke();
drawClock();
if (g_ipers != 0)
- affper(g_ipers);
+ showPeoplePresent(g_ipers);
else
person();
clsf2();