DREAMWEB: Port 'incryanpage' to C++

This commit is contained in:
Filippos Karapetis 2011-12-24 01:00:57 +02:00
parent c3fad04dea
commit 1cb1df3699
5 changed files with 21 additions and 35 deletions
devtools/tasmrecover
engines/dreamweb

@ -516,6 +516,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'hotelbell',
'hotelcontrol',
'identifyob',
'incryanpage',
'initialinv',
'initialmoncols',
'initman',

@ -284,40 +284,6 @@ findopen2a:
goto findopen1a;
}
void DreamGenContext::incRyanPage() {
STACK_CHECK;
_cmp(data.byte(kCommandtype), 222);
if (flags.z())
goto alreadyincryan;
data.byte(kCommandtype) = 222;
al = 31;
commandOnly();
alreadyincryan:
ax = data.word(kMousebutton);
_cmp(ax, data.word(kOldbutton));
if (flags.z())
return /* (noincryan) */;
_and(ax, 1);
if (!flags.z())
goto doincryan;
return;
doincryan:
ax = data.word(kMousex);
_sub(ax, (80)+167);
data.byte(kRyanpage) = -1;
findnewpage:
_inc(data.byte(kRyanpage));
_sub(ax, 18);
if (!flags.c())
goto findnewpage;
delPointer();
fillRyan();
readMouse();
showPointer();
workToScreen();
delPointer();
}
void DreamGenContext::getObTextStart() {
STACK_CHECK;
es = data.word(kFreedesc);

@ -486,7 +486,6 @@ public:
void read();
void searchForString();
void selectOpenOb();
void incRyanPage();
void searchForFiles();
void getExAd();
void swapWithInv();

@ -3769,4 +3769,23 @@ void DreamGenContext::edensFlatReminders() {
data.byte(kProgresspoints)++; // got card
}
void DreamGenContext::incRyanPage() {
if (data.byte(kCommandtype) != 222) {
data.byte(kCommandtype) = 222;
commandOnly(31);
}
if (data.word(kMousebutton) == data.word(kOldbutton) || (data.word(kMousebutton) & 1))
return;
data.byte(kRyanpage) = (data.word(kMousex) - (kInventx + 167)) / 18;
delPointer();
fillRyan();
readMouse();
showPointer();
workToScreenCPP();
delPointer();
}
} // End of namespace DreamGen

@ -338,5 +338,6 @@
void inToInv();
void outOfInv();
void edensFlatReminders();
void incRyanPage();
#endif