DREAMWEB: 'slabdoora', 'slabdoorc', 'slabdoord', 'slabdoore', 'slabdoorf', 'useladder', 'useladderb', ported to C++
This commit is contained in:
parent
b74302f7b0
commit
0d768ebe41
5 changed files with 142 additions and 148 deletions
|
@ -534,6 +534,11 @@ generator = cpp(context, "DreamGen", blacklist = [
|
||||||
'showword',
|
'showword',
|
||||||
'singlekey',
|
'singlekey',
|
||||||
'sitdowninbar',
|
'sitdowninbar',
|
||||||
|
'slabdoora',
|
||||||
|
'slabdoorc',
|
||||||
|
'slabdoord',
|
||||||
|
'slabdoore',
|
||||||
|
'slabdoorf',
|
||||||
'smokebloke',
|
'smokebloke',
|
||||||
'sortoutmap',
|
'sortoutmap',
|
||||||
'soundonreels',
|
'soundonreels',
|
||||||
|
@ -576,6 +581,8 @@ generator = cpp(context, "DreamGen", blacklist = [
|
||||||
'useelevator3',
|
'useelevator3',
|
||||||
'useelevator4',
|
'useelevator4',
|
||||||
'useelevator5',
|
'useelevator5',
|
||||||
|
'useladder',
|
||||||
|
'useladderb',
|
||||||
'usehatch',
|
'usehatch',
|
||||||
'usemenu',
|
'usemenu',
|
||||||
'usemon',
|
'usemon',
|
||||||
|
|
|
@ -5761,58 +5761,6 @@ void DreamGenContext::chewy() {
|
||||||
data.byte(kGetback) = 1;
|
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() {
|
void DreamGenContext::sLabDoorB() {
|
||||||
STACK_CHECK;
|
STACK_CHECK;
|
||||||
_cmp(data.byte(kDreamnumber), 1);
|
_cmp(data.byte(kDreamnumber), 1);
|
||||||
|
@ -5853,94 +5801,6 @@ slabbwrong:
|
||||||
data.byte(kSpeedcount) = 1;
|
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() {
|
void DreamGenContext::useSLab() {
|
||||||
STACK_CHECK;
|
STACK_CHECK;
|
||||||
_cmp(data.byte(kWithobject), 255);
|
_cmp(data.byte(kWithobject), 255);
|
||||||
|
|
|
@ -575,11 +575,7 @@ public:
|
||||||
void getOpenedSize();
|
void getOpenedSize();
|
||||||
void resetKeyboard();
|
void resetKeyboard();
|
||||||
void soundStartup();
|
void soundStartup();
|
||||||
void sLabDoorA();
|
|
||||||
void sLabDoorC();
|
|
||||||
void sLabDoorB();
|
void sLabDoorB();
|
||||||
void sLabDoorE();
|
|
||||||
void sLabDoorD();
|
|
||||||
void adjustUp();
|
void adjustUp();
|
||||||
void fadeScreenDownHalf();
|
void fadeScreenDownHalf();
|
||||||
void mouseCall();
|
void mouseCall();
|
||||||
|
@ -587,7 +583,6 @@ public:
|
||||||
void fadeDownMon();
|
void fadeDownMon();
|
||||||
void bartender();
|
void bartender();
|
||||||
void showDiary();
|
void showDiary();
|
||||||
void sLabDoorF();
|
|
||||||
void outOfOpen();
|
void outOfOpen();
|
||||||
void dirCom();
|
void dirCom();
|
||||||
void dumpKeypad();
|
void dumpKeypad();
|
||||||
|
@ -623,7 +618,6 @@ public:
|
||||||
void heavy();
|
void heavy();
|
||||||
void useKey();
|
void useKey();
|
||||||
void lockLightOn();
|
void lockLightOn();
|
||||||
void useLadderB();
|
|
||||||
void discOps();
|
void discOps();
|
||||||
void middlePanel();
|
void middlePanel();
|
||||||
void monitorLogo();
|
void monitorLogo();
|
||||||
|
@ -709,7 +703,6 @@ public:
|
||||||
void useAxe();
|
void useAxe();
|
||||||
void useElvDoor();
|
void useElvDoor();
|
||||||
void putBackObStuff();
|
void putBackObStuff();
|
||||||
void useLadder();
|
|
||||||
void findAllOpen();
|
void findAllOpen();
|
||||||
void quitSymbol();
|
void quitSymbol();
|
||||||
void readFromFile();
|
void readFromFile();
|
||||||
|
|
|
@ -521,5 +521,12 @@
|
||||||
void openLouis();
|
void openLouis();
|
||||||
void DOSReturn();
|
void DOSReturn();
|
||||||
void setWalk();
|
void setWalk();
|
||||||
|
void useLadder();
|
||||||
|
void useLadderB();
|
||||||
|
void sLabDoorA();
|
||||||
|
void sLabDoorC();
|
||||||
|
void sLabDoorE();
|
||||||
|
void sLabDoorD();
|
||||||
|
void sLabDoorF();
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue