Skip to content

Commit

Permalink
DREAMWEB: 'getbackfromops', 'getbacktoops', 'newgame' ported to C++
Browse files Browse the repository at this point in the history
  • Loading branch information
bluegr committed Dec 6, 2011
1 parent bdfd481 commit 823ff75
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 52 deletions.
3 changes: 3 additions & 0 deletions devtools/tasmrecover/tasm-recover
Expand Up @@ -289,6 +289,8 @@ generator = cpp(context, "DreamGen", blacklist = [
'gates',
'generalerror',
'getbackfromob',
'getbackfromops',
'getbacktoops',
'getblockofpixel',
'getdimension',
'getexpos',
Expand Down Expand Up @@ -387,6 +389,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'multiput',
'namestoold',
'neterror',
'newgame',
'nextfolder',
'nextsymbol',
'obicons',
Expand Down
49 changes: 0 additions & 49 deletions engines/dreamweb/dreamgen.cpp
Expand Up @@ -8456,39 +8456,6 @@ void DreamGenContext::doSaveLoad() {
data.byte(kManisoffscreen) = 0;
}

void DreamGenContext::getBackFromOps() {
STACK_CHECK;
_cmp(data.byte(kMandead), 2);
if (flags.z())
goto opsblock1;
getBack1();
return;
opsblock1:
blank();
}

void DreamGenContext::getBackToOps() {
STACK_CHECK;
_cmp(data.byte(kCommandtype), 201);
if (flags.z())
goto alreadygetops;
data.byte(kCommandtype) = 201;
al = 42;
commandOnly();
alreadygetops:
ax = data.word(kMousebutton);
_cmp(ax, data.word(kOldbutton));
if (flags.z())
return /* (nogetbackops) */;
_and(ax, 1);
if (!flags.z())
goto dogetbackops;
return;
dogetbackops:
oldToNames();
data.byte(kGetback) = 2;
}

void DreamGenContext::discOps() {
STACK_CHECK;
_cmp(data.byte(kCommandtype), 249);
Expand Down Expand Up @@ -8873,22 +8840,6 @@ void DreamGenContext::showDecisions() {
underTextLine();
}

void DreamGenContext::newGame() {
STACK_CHECK;
_cmp(data.byte(kCommandtype), 251);
if (flags.z())
goto alreadynewgame;
data.byte(kCommandtype) = 251;
al = 47;
commandOnly();
alreadynewgame:
ax = data.word(kMousebutton);
_cmp(ax, 1);
if (!flags.z())
return /* (nonewgame) */;
data.byte(kGetback) = 3;
}

void DreamGenContext::createName() {
STACK_CHECK;
push(ax);
Expand Down
3 changes: 0 additions & 3 deletions engines/dreamweb/dreamgen.h
Expand Up @@ -552,7 +552,6 @@ class DreamGenContext : public Context {
void decide();
void entryTexts();
void checkInput();
void getBackFromOps();
void openSarters();
void putUnderCentre();
void checkObjectSize();
Expand Down Expand Up @@ -678,7 +677,6 @@ class DreamGenContext : public Context {
void introMagic2();
void introMagic3();
void showDiaryPage();
void getBackToOps();
void dumpSymbol();
void intro1Text();
void transferToEx();
Expand Down Expand Up @@ -769,7 +767,6 @@ class DreamGenContext : public Context {
void dreamweb();
void dropError();
void checkInside();
void newGame();
void setWalk();
void findPathOfPoint();
void isSetObOnMap();
Expand Down
31 changes: 31 additions & 0 deletions engines/dreamweb/stubs.cpp
Expand Up @@ -3444,5 +3444,36 @@ void DreamGenContext::setBotRight() {
data.byte(kSymbolbotdir) = 1;
}

void DreamGenContext::newGame() {
if (data.byte(kCommandtype) != 251) {
data.byte(kCommandtype) = 251;
commandOnly(47);
}

if (data.word(kMousebutton) == 1)
data.byte(kGetback) = 3;
}

void DreamGenContext::getBackFromOps() {
if (data.byte(kMandead) == 2)
blank();
else
getBack1();
}

void DreamGenContext::getBackToOps() {
if (data.byte(kCommandtype) != 201) {
data.byte(kCommandtype) = 201;
commandOnly(42);
}

if (data.word(kMousebutton) != data.word(kOldbutton)) {
if (!(data.word(kMousebutton) & 1)) {
oldToNames();
data.byte(kGetback) = 2;
}
}
}

} /*namespace dreamgen */

3 changes: 3 additions & 0 deletions engines/dreamweb/stubs.h
Expand Up @@ -500,5 +500,8 @@
void setTopRight();
void setBotLeft();
void setBotRight();
void newGame();
void getBackFromOps();
void getBackToOps();

#endif

0 comments on commit 823ff75

Please sign in to comment.