MORTEVIELLE: Some more renaming, introduce MouseHandler
This commit is contained in:
parent
fc14ffbcb5
commit
1c283507ee
14 changed files with 1530 additions and 1525 deletions
|
@ -700,12 +700,12 @@ void MortevielleEngine::fctPlace() {
|
||||||
Alert::show(alertTxt, 1);
|
Alert::show(alertTxt, 1);
|
||||||
|
|
||||||
bool enterPassageFl = KnowledgeCheck::show();
|
bool enterPassageFl = KnowledgeCheck::show();
|
||||||
hideMouse();
|
_mouse.hideMouse();
|
||||||
hirs();
|
hirs();
|
||||||
drawRightFrame();
|
drawRightFrame();
|
||||||
clearScreenType2();
|
clearScreenType2();
|
||||||
clearScreenType3();
|
clearScreenType3();
|
||||||
showMouse();
|
_mouse.showMouse();
|
||||||
tinke();
|
tinke();
|
||||||
drawClock();
|
drawClock();
|
||||||
if (_currBitIndex != 0)
|
if (_currBitIndex != 0)
|
||||||
|
@ -1357,10 +1357,10 @@ void MortevielleEngine::fctDiscuss() {
|
||||||
}
|
}
|
||||||
tkey1(false);
|
tkey1(false);
|
||||||
mennor();
|
mennor();
|
||||||
hideMouse();
|
_mouse.hideMouse();
|
||||||
hirs();
|
hirs();
|
||||||
premtet();
|
premtet();
|
||||||
sparl(0, suj);
|
startDialog(suj);
|
||||||
hirs();
|
hirs();
|
||||||
for (int ix = 1; ix <= 46; ++ix)
|
for (int ix = 1; ix <= 46; ++ix)
|
||||||
te[ix] = false;
|
te[ix] = false;
|
||||||
|
@ -1371,7 +1371,7 @@ void MortevielleEngine::fctDiscuss() {
|
||||||
}
|
}
|
||||||
lib[46] = lib[45];
|
lib[46] = lib[45];
|
||||||
lib[45] = ' ';
|
lib[45] = ' ';
|
||||||
showMouse();
|
_mouse.showMouse();
|
||||||
do {
|
do {
|
||||||
choi = 0;
|
choi = 0;
|
||||||
icm = 0;
|
icm = 0;
|
||||||
|
@ -1397,10 +1397,10 @@ void MortevielleEngine::fctDiscuss() {
|
||||||
writetp(lib[46], 0);
|
writetp(lib[46], 0);
|
||||||
tou = '\0';
|
tou = '\0';
|
||||||
do {
|
do {
|
||||||
moveMouse(f, tou);
|
_mouse.moveMouse(f, tou);
|
||||||
CHECK_QUIT;
|
CHECK_QUIT;
|
||||||
|
|
||||||
getMousePos_(x, y, c);
|
_mouse.getMousePos_(x, y, c);
|
||||||
x *= (3 - g_res);
|
x *= (3 - g_res);
|
||||||
if (x > 319)
|
if (x > 319)
|
||||||
cx = 41;
|
cx = 41;
|
||||||
|
@ -1482,11 +1482,11 @@ void MortevielleEngine::fctDiscuss() {
|
||||||
g_s._faithScore += 3;
|
g_s._faithScore += 3;
|
||||||
suj = 139;
|
suj = 139;
|
||||||
}
|
}
|
||||||
hideMouse();
|
_mouse.hideMouse();
|
||||||
hirs();
|
hirs();
|
||||||
premtet();
|
premtet();
|
||||||
sparl(0, suj);
|
startDialog(suj);
|
||||||
showMouse();
|
_mouse.showMouse();
|
||||||
if ((suj == 84) || (suj == 86)) {
|
if ((suj == 84) || (suj == 86)) {
|
||||||
g_s._pourc[5] = '*';
|
g_s._pourc[5] = '*';
|
||||||
g_s._teauto[7] = '*';
|
g_s._teauto[7] = '*';
|
||||||
|
@ -1500,26 +1500,26 @@ void MortevielleEngine::fctDiscuss() {
|
||||||
g_s._pourc[8] = '*';
|
g_s._pourc[8] = '*';
|
||||||
g_s._teauto[32] = '*';
|
g_s._teauto[32] = '*';
|
||||||
}
|
}
|
||||||
hideMouse();
|
_mouse.hideMouse();
|
||||||
hirs();
|
hirs();
|
||||||
showMouse();
|
_mouse.showMouse();
|
||||||
}
|
}
|
||||||
} while ((choi != 46) && (suj != 138));
|
} while ((choi != 46) && (suj != 138));
|
||||||
if (_col) {
|
if (_col) {
|
||||||
g_s._faithScore += (3 * (g_s._faithScore / 10));
|
g_s._faithScore += (3 * (g_s._faithScore / 10));
|
||||||
hideMouse();
|
_mouse.hideMouse();
|
||||||
hirs();
|
hirs();
|
||||||
premtet();
|
premtet();
|
||||||
sparl(0, 138);
|
startDialog(138);
|
||||||
showMouse();
|
_mouse.showMouse();
|
||||||
_col = false;
|
_col = false;
|
||||||
g_s._currPlace = LANDING;
|
g_s._currPlace = LANDING;
|
||||||
}
|
}
|
||||||
g_ctrm = 0;
|
g_ctrm = 0;
|
||||||
hideMouse();
|
_mouse.hideMouse();
|
||||||
hirs();
|
hirs();
|
||||||
drawRightFrame();
|
drawRightFrame();
|
||||||
showMouse();
|
_mouse.showMouse();
|
||||||
showPeoplePresent(_currBitIndex);
|
showPeoplePresent(_currBitIndex);
|
||||||
tinke();
|
tinke();
|
||||||
drawClock();
|
drawClock();
|
||||||
|
@ -1574,13 +1574,13 @@ void MortevielleEngine::endGame() {
|
||||||
clearScreenType3();
|
clearScreenType3();
|
||||||
repon(9, 1509);
|
repon(9, 1509);
|
||||||
tkey1(false);
|
tkey1(false);
|
||||||
hideMouse();
|
_mouse.hideMouse();
|
||||||
g_caff = 70;
|
g_caff = 70;
|
||||||
taffich();
|
taffich();
|
||||||
hirs();
|
hirs();
|
||||||
premtet();
|
premtet();
|
||||||
sparl(0, 141);
|
startDialog(141);
|
||||||
showMouse();
|
_mouse.showMouse();
|
||||||
clearScreenType1();
|
clearScreenType1();
|
||||||
repon(9, 1509);
|
repon(9, 1509);
|
||||||
repon(2, 142);
|
repon(2, 142);
|
||||||
|
|
|
@ -44,7 +44,6 @@ int Alert::show(const Common::String &msg, int n) {
|
||||||
int coldep, esp, i, caseNumb, quoi, ix;
|
int coldep, esp, i, caseNumb, quoi, ix;
|
||||||
Common::String st, chaine;
|
Common::String st, chaine;
|
||||||
int limit[3][3];
|
int limit[3][3];
|
||||||
char dumi;
|
|
||||||
Common::String s[3];
|
Common::String s[3];
|
||||||
int cx, cy, nbcol, lignNumb;
|
int cx, cy, nbcol, lignNumb;
|
||||||
bool newaff, test, test1, test2, test3, dum;
|
bool newaff, test, test1, test2, test3, dum;
|
||||||
|
@ -55,9 +54,9 @@ int Alert::show(const Common::String &msg, int n) {
|
||||||
|
|
||||||
memset(&limit[0][0], 0, sizeof(int) * 3 * 3);
|
memset(&limit[0][0], 0, sizeof(int) * 3 * 3);
|
||||||
int do_alert_result;
|
int do_alert_result;
|
||||||
hideMouse();
|
g_vm->_mouse.hideMouse();
|
||||||
while (g_vm->keyPressed())
|
while (g_vm->keyPressed())
|
||||||
dumi = g_vm->getChar();
|
g_vm->getChar();
|
||||||
|
|
||||||
g_vm->setMouseClick(false);
|
g_vm->setMouseClick(false);
|
||||||
decodeAlertDetails(msg, caseNumb, lignNumb, nbcol, chaine, cas);
|
decodeAlertDetails(msg, caseNumb, lignNumb, nbcol, chaine, cas);
|
||||||
|
@ -101,16 +100,16 @@ int Alert::show(const Common::String &msg, int n) {
|
||||||
limit[2][1] = ((uint)(320 + ((uint)esp >> 1)) >> 1) * g_res;
|
limit[2][1] = ((uint)(320 + ((uint)esp >> 1)) >> 1) * g_res;
|
||||||
limit[2][2] = (limit[2][1]) + 40;
|
limit[2][2] = (limit[2][1]) + 40;
|
||||||
}
|
}
|
||||||
showMouse();
|
g_vm->_mouse.showMouse();
|
||||||
quoi = 0;
|
quoi = 0;
|
||||||
dum = false;
|
dum = false;
|
||||||
do {
|
do {
|
||||||
dumi = '\377';
|
char dummyKey = '\377';
|
||||||
moveMouse(dum, dumi);
|
g_vm->_mouse.moveMouse(dum, dummyKey);
|
||||||
CHECK_QUIT0;
|
CHECK_QUIT0;
|
||||||
|
|
||||||
cx = x_s;
|
cx = g_vm->_mouse.x_s;
|
||||||
cy = y_s;
|
cy = g_vm->_mouse.y_s;
|
||||||
test = (cy > 95) && (cy < 105);
|
test = (cy > 95) && (cy < 105);
|
||||||
newaff = false;
|
newaff = false;
|
||||||
if (test) {
|
if (test) {
|
||||||
|
@ -125,7 +124,7 @@ int Alert::show(const Common::String &msg, int n) {
|
||||||
else
|
else
|
||||||
ix = 2;
|
ix = 2;
|
||||||
if (ix != quoi) {
|
if (ix != quoi) {
|
||||||
hideMouse();
|
g_vm->_mouse.hideMouse();
|
||||||
if (quoi != 0) {
|
if (quoi != 0) {
|
||||||
setPosition(quoi, coldep, esp);
|
setPosition(quoi, coldep, esp);
|
||||||
|
|
||||||
|
@ -142,12 +141,12 @@ int Alert::show(const Common::String &msg, int n) {
|
||||||
g_vm->_screenSurface.drawString(tmp2, 1);
|
g_vm->_screenSurface.drawString(tmp2, 1);
|
||||||
|
|
||||||
quoi = ix;
|
quoi = ix;
|
||||||
showMouse();
|
g_vm->_mouse.showMouse();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ((quoi != 0) && ! newaff) {
|
if ((quoi != 0) && ! newaff) {
|
||||||
hideMouse();
|
g_vm->_mouse.hideMouse();
|
||||||
setPosition(quoi, coldep, esp);
|
setPosition(quoi, coldep, esp);
|
||||||
|
|
||||||
Common::String tmp3(" ");
|
Common::String tmp3(" ");
|
||||||
|
@ -156,13 +155,13 @@ int Alert::show(const Common::String &msg, int n) {
|
||||||
g_vm->_screenSurface.drawString(tmp3, 0);
|
g_vm->_screenSurface.drawString(tmp3, 0);
|
||||||
|
|
||||||
quoi = 0;
|
quoi = 0;
|
||||||
showMouse();
|
g_vm->_mouse.showMouse();
|
||||||
}
|
}
|
||||||
test3 = (cy > 95) && (cy < 105) && (((cx > limit[1][1]) && (cx < limit[1][2]))
|
test3 = (cy > 95) && (cy < 105) && (((cx > limit[1][1]) && (cx < limit[1][2]))
|
||||||
|| ((cx > limit[2][1]) && (cx < limit[2][2])));
|
|| ((cx > limit[2][1]) && (cx < limit[2][2])));
|
||||||
} while (!g_vm->getMouseClick());
|
} while (!g_vm->getMouseClick());
|
||||||
g_vm->setMouseClick(false);
|
g_vm->setMouseClick(false);
|
||||||
hideMouse();
|
g_vm->_mouse.hideMouse();
|
||||||
if (!test3) {
|
if (!test3) {
|
||||||
quoi = n;
|
quoi = n;
|
||||||
setPosition(n, coldep, esp);
|
setPosition(n, coldep, esp);
|
||||||
|
@ -172,7 +171,7 @@ int Alert::show(const Common::String &msg, int n) {
|
||||||
g_vm->_screenSurface.drawString(tmp4, 1);
|
g_vm->_screenSurface.drawString(tmp4, 1);
|
||||||
}
|
}
|
||||||
charecr(50, (NUM_LINES + 1) << 4);
|
charecr(50, (NUM_LINES + 1) << 4);
|
||||||
showMouse();
|
g_vm->_mouse.showMouse();
|
||||||
|
|
||||||
/* Restore the background area */
|
/* Restore the background area */
|
||||||
g_vm->_screenSurface.copyFrom(g_vm->_backgroundSurface, 0, 0);
|
g_vm->_screenSurface.copyFrom(g_vm->_backgroundSurface, 0, 0);
|
||||||
|
@ -299,9 +298,9 @@ bool KnowledgeCheck::show() {
|
||||||
int correctCount = 0;
|
int correctCount = 0;
|
||||||
|
|
||||||
for (int indx = 0; indx < 10; ++indx) {
|
for (int indx = 0; indx < 10; ++indx) {
|
||||||
hideMouse();
|
g_vm->_mouse.hideMouse();
|
||||||
hirs();
|
hirs();
|
||||||
showMouse();
|
g_vm->_mouse.showMouse();
|
||||||
int dialogHeight;
|
int dialogHeight;
|
||||||
if (g_res == 1)
|
if (g_res == 1)
|
||||||
dialogHeight = 29;
|
dialogHeight = 29;
|
||||||
|
@ -355,11 +354,11 @@ bool KnowledgeCheck::show() {
|
||||||
do {
|
do {
|
||||||
g_vm->setMouseClick(false);
|
g_vm->setMouseClick(false);
|
||||||
bool flag;
|
bool flag;
|
||||||
moveMouse(flag, key);
|
g_vm->_mouse.moveMouse(flag, key);
|
||||||
CHECK_QUIT0;
|
CHECK_QUIT0;
|
||||||
|
|
||||||
currChoice = 1;
|
currChoice = 1;
|
||||||
while (coor[currChoice]._enabled && !isMouseIn(coor[currChoice]))
|
while (coor[currChoice]._enabled && !g_vm->_mouse.isMouseIn(coor[currChoice]))
|
||||||
++currChoice;
|
++currChoice;
|
||||||
if (coor[currChoice]._enabled) {
|
if (coor[currChoice]._enabled) {
|
||||||
if ((prevChoice != 0) && (prevChoice != currChoice)) {
|
if ((prevChoice != 0) && (prevChoice != currChoice)) {
|
||||||
|
@ -425,7 +424,7 @@ void f3f8::checkForF8(int SpeechNum, bool drawAni50Fl) {
|
||||||
teskbd();
|
teskbd();
|
||||||
do {
|
do {
|
||||||
g_vm->_speechManager.startSpeech(SpeechNum, 0, 0);
|
g_vm->_speechManager.startSpeech(SpeechNum, 0, 0);
|
||||||
waitForF3F8(g_key);
|
g_key = waitForF3F8();
|
||||||
CHECK_QUIT;
|
CHECK_QUIT;
|
||||||
|
|
||||||
if (g_vm->_newGraphicalDevice != g_vm->_currGraphicalDevice) {
|
if (g_vm->_newGraphicalDevice != g_vm->_currGraphicalDevice) {
|
||||||
|
@ -440,11 +439,16 @@ void f3f8::checkForF8(int SpeechNum, bool drawAni50Fl) {
|
||||||
* Alert function - Loop until F3 or F8 is pressed
|
* Alert function - Loop until F3 or F8 is pressed
|
||||||
* @remarks Originally called 'atf3f8'
|
* @remarks Originally called 'atf3f8'
|
||||||
*/
|
*/
|
||||||
void f3f8::waitForF3F8(int &key) {
|
int f3f8::waitForF3F8() {
|
||||||
|
int key;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
key = testou();
|
key = testou();
|
||||||
CHECK_QUIT;
|
if (g_vm->shouldQuit())
|
||||||
|
return key;
|
||||||
} while ((key != 61) && (key != 66));
|
} while ((key != 61) && (key != 66));
|
||||||
|
|
||||||
|
return key;
|
||||||
}
|
}
|
||||||
|
|
||||||
void f3f8::aff50(bool drawAni50Fl) {
|
void f3f8::aff50(bool drawAni50Fl) {
|
||||||
|
|
|
@ -54,7 +54,7 @@ class f3f8 {
|
||||||
public:
|
public:
|
||||||
static void draw();
|
static void draw();
|
||||||
static void checkForF8(int SpeechNum, bool drawAni50Fl);
|
static void checkForF8(int SpeechNum, bool drawAni50Fl);
|
||||||
static void waitForF3F8(int &key);
|
static int waitForF3F8();
|
||||||
static void aff50(bool drawAni50Fl);
|
static void aff50(bool drawAni50Fl);
|
||||||
static void ani50();
|
static void ani50();
|
||||||
};
|
};
|
||||||
|
|
|
@ -1056,7 +1056,7 @@ void ScreenSurface::drawString(const Common::String &l, int command) {
|
||||||
if (l == "")
|
if (l == "")
|
||||||
return;
|
return;
|
||||||
|
|
||||||
hideMouse();
|
g_vm->_mouse.hideMouse();
|
||||||
pt = _textPos;
|
pt = _textPos;
|
||||||
|
|
||||||
if (g_res == 2)
|
if (g_res == 2)
|
||||||
|
@ -1094,7 +1094,7 @@ void ScreenSurface::drawString(const Common::String &l, int command) {
|
||||||
g_vm->_screenSurface.writeCharacter(Common::Point(pt.x, pt.y), ord(l[x - 1]), cecr);
|
g_vm->_screenSurface.writeCharacter(Common::Point(pt.x, pt.y), ord(l[x - 1]), cecr);
|
||||||
pt.x += i;
|
pt.x += i;
|
||||||
}
|
}
|
||||||
showMouse();
|
g_vm->_mouse.showMouse();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -169,7 +169,7 @@ void Menu::displayMenu() {
|
||||||
|
|
||||||
int pt, x, y, color, msk, num_letr;
|
int pt, x, y, color, msk, num_letr;
|
||||||
|
|
||||||
hideMouse();
|
g_vm->_mouse.hideMouse();
|
||||||
|
|
||||||
g_vm->_screenSurface.fillRect(7, Common::Rect(0, 0, 639, 10));
|
g_vm->_screenSurface.fillRect(7, Common::Rect(0, 0, 639, 10));
|
||||||
col = 28 * g_res;
|
col = 28 * g_res;
|
||||||
|
@ -203,7 +203,7 @@ void Menu::displayMenu() {
|
||||||
} while (y != 9);
|
} while (y != 9);
|
||||||
col += 48 * g_res;
|
col += 48 * g_res;
|
||||||
} while (num_letr != 6);
|
} while (num_letr != 6);
|
||||||
showMouse();
|
g_vm->_mouse.showMouse();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -310,7 +310,7 @@ void Menu::menuDown(int ii) {
|
||||||
// Draw the menu
|
// Draw the menu
|
||||||
xco = g_menuConstants[ii - 1][0];
|
xco = g_menuConstants[ii - 1][0];
|
||||||
nb_lig = g_menuConstants[ii - 1][3];
|
nb_lig = g_menuConstants[ii - 1][3];
|
||||||
hideMouse();
|
g_vm->_mouse.hideMouse();
|
||||||
sauvecr(10, (g_menuConstants[ii - 1][1] + 1) << 1);
|
sauvecr(10, (g_menuConstants[ii - 1][1] + 1) << 1);
|
||||||
xco = xco << 3;
|
xco = xco << 3;
|
||||||
if (g_res == 1)
|
if (g_res == 1)
|
||||||
|
@ -376,7 +376,7 @@ void Menu::menuDown(int ii) {
|
||||||
g_vm->_screenSurface.putxy(xco, g_vm->_screenSurface._textPos.y + 8);
|
g_vm->_screenSurface.putxy(xco, g_vm->_screenSurface._textPos.y + 8);
|
||||||
} while (cx != nb_lig);
|
} while (cx != nb_lig);
|
||||||
_multiTitle = true;
|
_multiTitle = true;
|
||||||
showMouse();
|
g_vm->_mouse.showMouse();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -417,8 +417,8 @@ void Menu::mdn() {
|
||||||
if (!_menuActive)
|
if (!_menuActive)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
int x = x_s;
|
int x = g_vm->_mouse.x_s;
|
||||||
int y = y_s;
|
int y = g_vm->_mouse.y_s;
|
||||||
if (!g_vm->getMouseClick()) {
|
if (!g_vm->getMouseClick()) {
|
||||||
if ((x == g_xprec) && (y == g_yprec))
|
if ((x == g_xprec) && (y == g_yprec))
|
||||||
return;
|
return;
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -42,9 +42,7 @@ static const int _actionMenu[12] = { OPCODE_NONE,
|
||||||
OPCODE_PLACE, OPCODE_OPEN, OPCODE_LEAVE
|
OPCODE_PLACE, OPCODE_OPEN, OPCODE_LEAVE
|
||||||
};
|
};
|
||||||
|
|
||||||
/* NIVEAU 15 */
|
|
||||||
extern void copcha();
|
extern void copcha();
|
||||||
extern bool isMouseIn(rectangle r);
|
|
||||||
extern void outbloc(int n, pattern p, nhom *pal);
|
extern void outbloc(int n, pattern p, nhom *pal);
|
||||||
extern void writepal(int n);
|
extern void writepal(int n);
|
||||||
extern void pictout(int seg, int dep, int x, int y);
|
extern void pictout(int seg, int dep, int x, int y);
|
||||||
|
@ -60,15 +58,10 @@ extern void drawRightFrame();
|
||||||
/* NIVEAU 13 */
|
/* NIVEAU 13 */
|
||||||
extern void text1(int x, int y, int nb, int m);
|
extern void text1(int x, int y, int nb, int m);
|
||||||
extern void initouv();
|
extern void initouv();
|
||||||
extern void clearScreenType1();
|
|
||||||
extern void clearScreenType2();
|
|
||||||
extern void clearScreenType3();
|
|
||||||
extern void clearScreenType10();
|
|
||||||
extern void ecr2(Common::String str_);
|
extern void ecr2(Common::String str_);
|
||||||
extern void ecr3(Common::String text);
|
extern void ecr3(Common::String text);
|
||||||
extern void stop();
|
extern void stop();
|
||||||
extern void paint_rect(int x, int y, int dx, int dy);
|
extern void paint_rect(int x, int y, int dx, int dy);
|
||||||
extern int convertCharacterIndexToBitIndex(int characterIndex);
|
|
||||||
/* NIVEAU 12 */
|
/* NIVEAU 12 */
|
||||||
extern void modobj(int m);
|
extern void modobj(int m);
|
||||||
extern void repon(int f, int m);
|
extern void repon(int f, int m);
|
||||||
|
@ -78,7 +71,6 @@ extern void drawClock();
|
||||||
* NIVEAU 11 *
|
* NIVEAU 11 *
|
||||||
*************/
|
*************/
|
||||||
extern void debloc(int roomId);
|
extern void debloc(int roomId);
|
||||||
extern int convertBitIndexToCharacterIndex(int bitIndex);
|
|
||||||
extern void ecfren(int &p, int &rand, int cf, int roomId);
|
extern void ecfren(int &p, int &rand, int cf, int roomId);
|
||||||
extern void becfren(int roomId);
|
extern void becfren(int roomId);
|
||||||
/* NIVEAU 10 */
|
/* NIVEAU 10 */
|
||||||
|
@ -105,8 +97,6 @@ extern void tsort();
|
||||||
extern void st4(int ob);
|
extern void st4(int ob);
|
||||||
extern void displayDiningRoom();
|
extern void displayDiningRoom();
|
||||||
extern void modinv();
|
extern void modinv();
|
||||||
extern void sparl(float adr, float rep);
|
|
||||||
extern void endSearch();
|
|
||||||
extern void mennor();
|
extern void mennor();
|
||||||
extern void premtet();
|
extern void premtet();
|
||||||
/* NIVEAU 5 */
|
/* NIVEAU 5 */
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -34,6 +34,7 @@
|
||||||
#include "graphics/surface.h"
|
#include "graphics/surface.h"
|
||||||
#include "mortevielle/graphics.h"
|
#include "mortevielle/graphics.h"
|
||||||
#include "mortevielle/menu.h"
|
#include "mortevielle/menu.h"
|
||||||
|
#include "mortevielle/mouse.h"
|
||||||
#include "mortevielle/saveload.h"
|
#include "mortevielle/saveload.h"
|
||||||
#include "mortevielle/sound.h"
|
#include "mortevielle/sound.h"
|
||||||
#include "mortevielle/speech.h"
|
#include "mortevielle/speech.h"
|
||||||
|
@ -168,6 +169,7 @@ public:
|
||||||
SavegameManager _savegameManager;
|
SavegameManager _savegameManager;
|
||||||
SpeechManager _speechManager;
|
SpeechManager _speechManager;
|
||||||
Menu _menu;
|
Menu _menu;
|
||||||
|
MouseHandler _mouse;
|
||||||
|
|
||||||
bool _quitGame; // Quit game flag. Originally called 'arret'
|
bool _quitGame; // Quit game flag. Originally called 'arret'
|
||||||
bool _endGame; // End game flag. Originally called 'solu'
|
bool _endGame; // End game flag. Originally called 'solu'
|
||||||
|
@ -289,6 +291,14 @@ public:
|
||||||
void hourToChar();
|
void hourToChar();
|
||||||
|
|
||||||
void changeGraphicalDevice(int newDevice);
|
void changeGraphicalDevice(int newDevice);
|
||||||
|
void startDialog(int16 rep);
|
||||||
|
void endSearch();
|
||||||
|
int convertCharacterIndexToBitIndex(int characterIndex);
|
||||||
|
int convertBitIndexToCharacterIndex(int bitIndex);
|
||||||
|
void clearScreenType1();
|
||||||
|
void clearScreenType2();
|
||||||
|
void clearScreenType3();
|
||||||
|
void clearScreenType10();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -36,21 +36,11 @@ namespace Mortevielle {
|
||||||
const int m_arrow = 0;
|
const int m_arrow = 0;
|
||||||
const int m_point_hand = 1;
|
const int m_point_hand = 1;
|
||||||
|
|
||||||
bool int_m, clic;
|
|
||||||
|
|
||||||
int m_show,
|
|
||||||
x_s,
|
|
||||||
y_s,
|
|
||||||
p_o_s,
|
|
||||||
mouse_shwn;
|
|
||||||
|
|
||||||
int s_s[12][6];
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialize the mouse
|
* Initialize the mouse
|
||||||
* @remarks Originally called 'init_mouse'
|
* @remarks Originally called 'init_mouse'
|
||||||
*/
|
*/
|
||||||
void initMouse() {
|
void MouseHandler::initMouse() {
|
||||||
registres reg;
|
registres reg;
|
||||||
|
|
||||||
mouse_shwn = 0;
|
mouse_shwn = 0;
|
||||||
|
@ -81,7 +71,7 @@ void initMouse() {
|
||||||
* Hide the mouse
|
* Hide the mouse
|
||||||
* @remarks Originally called 'hide_mouse'
|
* @remarks Originally called 'hide_mouse'
|
||||||
*/
|
*/
|
||||||
void hideMouse() {
|
void MouseHandler::hideMouse() {
|
||||||
--mouse_shwn;
|
--mouse_shwn;
|
||||||
if (mouse_shwn == 0) {
|
if (mouse_shwn == 0) {
|
||||||
bool imp = odd(y_s);
|
bool imp = odd(y_s);
|
||||||
|
@ -173,7 +163,7 @@ void hideMouse() {
|
||||||
* Show mouse
|
* Show mouse
|
||||||
* @remarks Originally called 'show_mouse'
|
* @remarks Originally called 'show_mouse'
|
||||||
*/
|
*/
|
||||||
void showMouse() {
|
void MouseHandler::showMouse() {
|
||||||
int k, l;
|
int k, l;
|
||||||
|
|
||||||
mouse_shwn = mouse_shwn + 1;
|
mouse_shwn = mouse_shwn + 1;
|
||||||
|
@ -258,7 +248,7 @@ void showMouse() {
|
||||||
* Set mouse position
|
* Set mouse position
|
||||||
* @remarks Originally called 'pos_mouse'
|
* @remarks Originally called 'pos_mouse'
|
||||||
*/
|
*/
|
||||||
void setMousePos(int x, int y) {
|
void MouseHandler::setMousePos(int x, int y) {
|
||||||
if (x > 314 * g_res)
|
if (x > 314 * g_res)
|
||||||
x = 314 * g_res;
|
x = 314 * g_res;
|
||||||
else if (x < 0)
|
else if (x < 0)
|
||||||
|
@ -278,7 +268,7 @@ void setMousePos(int x, int y) {
|
||||||
* Get mouse poisition
|
* Get mouse poisition
|
||||||
* @remarks Originally called 'read_pos_mouse'
|
* @remarks Originally called 'read_pos_mouse'
|
||||||
*/
|
*/
|
||||||
void getMousePos_(int &x, int &y, int &c) {
|
void MouseHandler::getMousePos_(int &x, int &y, int &c) {
|
||||||
x = g_vm->getMousePos().x;
|
x = g_vm->getMousePos().x;
|
||||||
y = g_vm->getMousePos().y;
|
y = g_vm->getMousePos().y;
|
||||||
c = g_vm->getMouseClick() ? 1 : 0;
|
c = g_vm->getMouseClick() ? 1 : 0;
|
||||||
|
@ -288,7 +278,7 @@ void getMousePos_(int &x, int &y, int &c) {
|
||||||
* Move mouse
|
* Move mouse
|
||||||
* @remarks Originally called 'mov_mouse'
|
* @remarks Originally called 'mov_mouse'
|
||||||
*/
|
*/
|
||||||
void moveMouse(bool &funct, char &key) {
|
void MouseHandler::moveMouse(bool &funct, char &key) {
|
||||||
bool p_key;
|
bool p_key;
|
||||||
char in1, in2;
|
char in1, in2;
|
||||||
int cx, cy, cd;
|
int cx, cy, cd;
|
||||||
|
@ -443,4 +433,18 @@ void moveMouse(bool &funct, char &key) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Engine function : Is mouse in a given rect?
|
||||||
|
* @remarks Originally called 'dans_rect'
|
||||||
|
*/
|
||||||
|
bool MouseHandler::isMouseIn(rectangle r) {
|
||||||
|
int x, y, c;
|
||||||
|
|
||||||
|
getMousePos_(x, y, c);
|
||||||
|
if ((x > r._x1) && (x < r._x2) && (y > r._y1) && (y < r._y2))
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
} // End of namespace Mortevielle
|
} // End of namespace Mortevielle
|
||||||
|
|
|
@ -28,24 +28,30 @@
|
||||||
#ifndef MORTEVIELLE_MOUSE_H
|
#ifndef MORTEVIELLE_MOUSE_H
|
||||||
#define MORTEVIELLE_MOUSE_H
|
#define MORTEVIELLE_MOUSE_H
|
||||||
|
|
||||||
|
#include "mortevielle/var_mor.h"
|
||||||
|
|
||||||
namespace Mortevielle {
|
namespace Mortevielle {
|
||||||
|
|
||||||
extern bool int_m;
|
class MouseHandler {
|
||||||
|
protected:
|
||||||
|
int s_s[12][6];
|
||||||
|
public:
|
||||||
|
bool int_m;
|
||||||
|
|
||||||
extern int m_show,
|
int m_show;
|
||||||
x_s,
|
int x_s;
|
||||||
y_s,
|
int y_s;
|
||||||
p_o_s,
|
int p_o_s;
|
||||||
mouse_shwn;
|
int mouse_shwn;
|
||||||
|
|
||||||
void initMouse();
|
void initMouse();
|
||||||
//extern void change_mouse(int t);
|
void hideMouse();
|
||||||
//extern void dessine_souris(int xf, int yf);
|
void showMouse();
|
||||||
extern void hideMouse();
|
void setMousePos(int x, int y);
|
||||||
extern void showMouse();
|
void getMousePos_(int &x, int &y, int &c);
|
||||||
extern void setMousePos(int x, int y);
|
void moveMouse(bool &funct, char &key);
|
||||||
extern void getMousePos_(int &x, int &y, int &c);
|
bool isMouseIn(rectangle r);
|
||||||
extern void moveMouse(bool &funct, char &key);
|
};
|
||||||
|
|
||||||
} // End of namespace Mortevielle
|
} // End of namespace Mortevielle
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -351,7 +351,7 @@ void taffich() {
|
||||||
}
|
}
|
||||||
|
|
||||||
g_vm->_okdes = true;
|
g_vm->_okdes = true;
|
||||||
hideMouse();
|
g_vm->_mouse.hideMouse();
|
||||||
lgt = 0;
|
lgt = 0;
|
||||||
Common::String filename;
|
Common::String filename;
|
||||||
|
|
||||||
|
@ -450,7 +450,7 @@ void taffich() {
|
||||||
}
|
}
|
||||||
charani(filename, lgt, handle);
|
charani(filename, lgt, handle);
|
||||||
}
|
}
|
||||||
showMouse();
|
g_vm->_mouse.showMouse();
|
||||||
if ((a < 27) && ((g_maff < 27) || (g_s._currPlace == LANDING)) && (g_msg[4] != OPCODE_ENTER)) {
|
if ((a < 27) && ((g_maff < 27) || (g_s._currPlace == LANDING)) && (g_msg[4] != OPCODE_ENTER)) {
|
||||||
if ((a == 13) || (a == 14))
|
if ((a == 13) || (a == 14))
|
||||||
g_vm->displayAloneText();
|
g_vm->displayAloneText();
|
||||||
|
|
|
@ -134,7 +134,7 @@ void chartex() {
|
||||||
void dialpre() {
|
void dialpre() {
|
||||||
/* debug('o3 dialpre'); */
|
/* debug('o3 dialpre'); */
|
||||||
g_crep = 998;
|
g_crep = 998;
|
||||||
int_m = true;
|
g_vm->_mouse.int_m = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void music() {
|
void music() {
|
||||||
|
|
|
@ -119,7 +119,7 @@ void SavegameManager::loadSavegame(int n) {
|
||||||
* Load a saved game
|
* Load a saved game
|
||||||
*/
|
*/
|
||||||
Common::Error SavegameManager::loadGame(int n) {
|
Common::Error SavegameManager::loadGame(int n) {
|
||||||
hideMouse();
|
g_vm->_mouse.hideMouse();
|
||||||
maivid();
|
maivid();
|
||||||
loadSavegame(n);
|
loadSavegame(n);
|
||||||
|
|
||||||
|
@ -127,7 +127,7 @@ Common::Error SavegameManager::loadGame(int n) {
|
||||||
g_vm->charToHour();
|
g_vm->charToHour();
|
||||||
g_vm->initGame();
|
g_vm->initGame();
|
||||||
g_vm->gameLoaded();
|
g_vm->gameLoaded();
|
||||||
showMouse();
|
g_vm->_mouse.showMouse();
|
||||||
return Common::kNoError;
|
return Common::kNoError;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -138,7 +138,7 @@ Common::Error SavegameManager::saveGame(int n, const Common::String &saveName) {
|
||||||
Common::OutSaveFile *f;
|
Common::OutSaveFile *f;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
hideMouse();
|
g_vm->_mouse.hideMouse();
|
||||||
g_vm->hourToChar();
|
g_vm->hourToChar();
|
||||||
|
|
||||||
for (i = 0; i <= 389; ++i)
|
for (i = 0; i <= 389; ++i)
|
||||||
|
@ -167,7 +167,7 @@ Common::Error SavegameManager::saveGame(int n, const Common::String &saveName) {
|
||||||
|
|
||||||
// Skipped: dialog asking to swap floppy
|
// Skipped: dialog asking to swap floppy
|
||||||
|
|
||||||
showMouse();
|
g_vm->_mouse.showMouse();
|
||||||
return Common::kNoError;
|
return Common::kNoError;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue