Skip to content

Commit

Permalink
DREAMWEB: 'slabdoora', 'slabdoorc', 'slabdoord', 'slabdoore', 'slabdo…
Browse files Browse the repository at this point in the history
…orf', 'useladder', 'useladderb', ported to C++
  • Loading branch information
bluegr committed Dec 6, 2011
1 parent b74302f commit 0d768eb
Show file tree
Hide file tree
Showing 5 changed files with 142 additions and 148 deletions.
7 changes: 7 additions & 0 deletions devtools/tasmrecover/tasm-recover
Expand Up @@ -534,6 +534,11 @@ generator = cpp(context, "DreamGen", blacklist = [
'showword',
'singlekey',
'sitdowninbar',
'slabdoora',
'slabdoorc',
'slabdoord',
'slabdoore',
'slabdoorf',
'smokebloke',
'sortoutmap',
'soundonreels',
Expand Down Expand Up @@ -576,6 +581,8 @@ generator = cpp(context, "DreamGen", blacklist = [
'useelevator3',
'useelevator4',
'useelevator5',
'useladder',
'useladderb',
'usehatch',
'usemenu',
'usemon',
Expand Down
140 changes: 0 additions & 140 deletions engines/dreamweb/dreamgen.cpp
Expand Up @@ -5761,58 +5761,6 @@ void DreamGenContext::chewy() {
data.byte(kGetback) = 1;
}

void DreamGenContext::useLadder() {
STACK_CHECK;
showFirstUse();
_sub(data.byte(kMapx), 11);
findRoomInLoc();
data.byte(kFacing) = 6;
data.byte(kTurntoface) = 6;
data.byte(kManspath) = 0;
data.byte(kDestination) = 0;
data.byte(kFinaldest) = 0;
findXYFromPath();
data.byte(kResetmanxy) = 1;
data.byte(kGetback) = 1;
}

void DreamGenContext::useLadderB() {
STACK_CHECK;
showFirstUse();
_add(data.byte(kMapx), 11);
findRoomInLoc();
data.byte(kFacing) = 2;
data.byte(kTurntoface) = 2;
data.byte(kManspath) = 1;
data.byte(kDestination) = 1;
data.byte(kFinaldest) = 1;
findXYFromPath();
data.byte(kResetmanxy) = 1;
data.byte(kGetback) = 1;
}

void DreamGenContext::sLabDoorA() {
STACK_CHECK;
showFirstUse();
data.byte(kGetback) = 1;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
data.word(kReeltowatch) = 13;
_cmp(data.byte(kDreamnumber), 3);
if (!flags.z())
goto slabawrong;
_inc(data.byte(kProgresspoints));
data.word(kWatchingtime) = 60;
data.word(kEndwatchreel) = 42;
data.byte(kNewlocation) = 47;
return;
slabawrong:
data.word(kWatchingtime) = 40;
data.word(kEndwatchreel) = 34;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
}

void DreamGenContext::sLabDoorB() {
STACK_CHECK;
_cmp(data.byte(kDreamnumber), 1);
Expand Down Expand Up @@ -5853,94 +5801,6 @@ void DreamGenContext::sLabDoorB() {
data.byte(kSpeedcount) = 1;
}

void DreamGenContext::sLabDoorD() {
STACK_CHECK;
showFirstUse();
data.byte(kGetback) = 1;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
data.word(kReeltowatch) = 75;
_cmp(data.byte(kDreamnumber), 0);
if (!flags.z())
goto slabcwrong;
_inc(data.byte(kProgresspoints));
data.word(kWatchingtime) = 60;
data.word(kEndwatchreel) = 102;
data.byte(kNewlocation) = 47;
return;
slabcwrong:
data.word(kWatchingtime) = 40;
data.word(kEndwatchreel) = 94;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
}

void DreamGenContext::sLabDoorC() {
STACK_CHECK;
showFirstUse();
data.byte(kGetback) = 1;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
data.word(kReeltowatch) = 108;
_cmp(data.byte(kDreamnumber), 4);
if (!flags.z())
goto slabdwrong;
_inc(data.byte(kProgresspoints));
data.word(kWatchingtime) = 60;
data.word(kEndwatchreel) = 135;
data.byte(kNewlocation) = 47;
return;
slabdwrong:
data.word(kWatchingtime) = 40;
data.word(kEndwatchreel) = 127;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
}

void DreamGenContext::sLabDoorE() {
STACK_CHECK;
showFirstUse();
data.byte(kGetback) = 1;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
data.word(kReeltowatch) = 141;
_cmp(data.byte(kDreamnumber), 5);
if (!flags.z())
goto slabewrong;
_inc(data.byte(kProgresspoints));
data.word(kWatchingtime) = 60;
data.word(kEndwatchreel) = 168;
data.byte(kNewlocation) = 47;
return;
slabewrong:
data.word(kWatchingtime) = 40;
data.word(kEndwatchreel) = 160;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
}

void DreamGenContext::sLabDoorF() {
STACK_CHECK;
showFirstUse();
data.byte(kGetback) = 1;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
data.word(kReeltowatch) = 171;
_cmp(data.byte(kDreamnumber), 2);
if (!flags.z())
goto slabfwrong;
_inc(data.byte(kProgresspoints));
data.word(kWatchingtime) = 60;
data.word(kEndwatchreel) = 197;
data.byte(kNewlocation) = 47;
return;
slabfwrong:
data.word(kWatchingtime) = 40;
data.word(kEndwatchreel) = 189;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
}

void DreamGenContext::useSLab() {
STACK_CHECK;
_cmp(data.byte(kWithobject), 255);
Expand Down
7 changes: 0 additions & 7 deletions engines/dreamweb/dreamgen.h
Expand Up @@ -575,19 +575,14 @@ class DreamGenContext : public Context {
void getOpenedSize();
void resetKeyboard();
void soundStartup();
void sLabDoorA();
void sLabDoorC();
void sLabDoorB();
void sLabDoorE();
void sLabDoorD();
void adjustUp();
void fadeScreenDownHalf();
void mouseCall();
void train();
void fadeDownMon();
void bartender();
void showDiary();
void sLabDoorF();
void outOfOpen();
void dirCom();
void dumpKeypad();
Expand Down Expand Up @@ -623,7 +618,6 @@ class DreamGenContext : public Context {
void heavy();
void useKey();
void lockLightOn();
void useLadderB();
void discOps();
void middlePanel();
void monitorLogo();
Expand Down Expand Up @@ -709,7 +703,6 @@ class DreamGenContext : public Context {
void useAxe();
void useElvDoor();
void putBackObStuff();
void useLadder();
void findAllOpen();
void quitSymbol();
void readFromFile();
Expand Down
7 changes: 7 additions & 0 deletions engines/dreamweb/stubs.h
Expand Up @@ -521,5 +521,12 @@
void openLouis();
void DOSReturn();
void setWalk();
void useLadder();
void useLadderB();
void sLabDoorA();
void sLabDoorC();
void sLabDoorE();
void sLabDoorD();
void sLabDoorF();

#endif
129 changes: 128 additions & 1 deletion engines/dreamweb/use.cpp
Expand Up @@ -564,5 +564,132 @@ void DreamGenContext::useWall() {
}
}

} /*namespace dreamgen */
void DreamGenContext::useLadder() {
showFirstUse();
data.byte(kMapx) = data.byte(kMapx) - 11;
findRoomInLoc();
data.byte(kFacing) = 6;
data.byte(kTurntoface) = 6;
data.byte(kManspath) = 0;
data.byte(kDestination) = 0;
data.byte(kFinaldest) = 0;
findXYFromPath();
data.byte(kResetmanxy) = 1;
data.byte(kGetback) = 1;
}

void DreamGenContext::useLadderB() {
showFirstUse();
data.byte(kMapx) = data.byte(kMapx) + 11;
findRoomInLoc();
data.byte(kFacing) = 2;
data.byte(kTurntoface) = 2;
data.byte(kManspath) = 1;
data.byte(kDestination) = 1;
data.byte(kFinaldest) = 1;
findXYFromPath();
data.byte(kResetmanxy) = 1;
data.byte(kGetback) = 1;
}

void DreamGenContext::sLabDoorA() {
showFirstUse();
data.byte(kGetback) = 1;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
data.word(kReeltowatch) = 13;
if (data.byte(kDreamnumber) != 3) {
// Wrong
data.word(kWatchingtime) = 40;
data.word(kEndwatchreel) = 34;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
} else {
data.byte(kProgresspoints) = data.byte(kProgresspoints) + 1;
data.word(kWatchingtime) = 60;
data.word(kEndwatchreel) = 42;
data.byte(kNewlocation) = 47;
}
}

void DreamGenContext::sLabDoorC() {
showFirstUse();
data.byte(kGetback) = 1;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
data.word(kReeltowatch) = 108;
if (data.byte(kDreamnumber) != 4) {
// Wrong
data.word(kWatchingtime) = 40;
data.word(kEndwatchreel) = 127;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
} else {
data.byte(kProgresspoints) = data.byte(kProgresspoints) + 1;
data.word(kWatchingtime) = 60;
data.word(kEndwatchreel) = 135;
data.byte(kNewlocation) = 47;
}
}

void DreamGenContext::sLabDoorD() {
showFirstUse();
data.byte(kGetback) = 1;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
data.word(kReeltowatch) = 75;
if (data.byte(kDreamnumber) != 0) {
// Wrong
data.word(kWatchingtime) = 40;
data.word(kEndwatchreel) = 94;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
} else {
data.byte(kProgresspoints) = data.byte(kProgresspoints) + 1;
data.word(kWatchingtime) = 60;
data.word(kEndwatchreel) = 102;
data.byte(kNewlocation) = 47;
}
}

void DreamGenContext::sLabDoorE() {
showFirstUse();
data.byte(kGetback) = 1;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
data.word(kReeltowatch) = 141;
if (data.byte(kDreamnumber) != 5) {
// Wrong
data.word(kWatchingtime) = 40;
data.word(kEndwatchreel) = 160;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
} else {
data.byte(kProgresspoints) = data.byte(kProgresspoints) + 1;
data.word(kWatchingtime) = 60;
data.word(kEndwatchreel) = 168;
data.byte(kNewlocation) = 47;
}
}

void DreamGenContext::sLabDoorF() {
showFirstUse();
data.byte(kGetback) = 1;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
data.word(kReeltowatch) = 171;
if (data.byte(kDreamnumber) != 2) {
// Wrong
data.word(kWatchingtime) = 40;
data.word(kEndwatchreel) = 189;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
} else {
data.byte(kProgresspoints) = data.byte(kProgresspoints) + 1;
data.word(kWatchingtime) = 60;
data.word(kEndwatchreel) = 197;
data.byte(kNewlocation) = 47;
}
}

} /*namespace dreamgen */

0 comments on commit 0d768eb

Please sign in to comment.