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',
|
||||
'singlekey',
|
||||
'sitdowninbar',
|
||||
'slabdoora',
|
||||
'slabdoorc',
|
||||
'slabdoord',
|
||||
'slabdoore',
|
||||
'slabdoorf',
|
||||
'smokebloke',
|
||||
'sortoutmap',
|
||||
'soundonreels',
|
||||
|
@ -576,6 +581,8 @@ generator = cpp(context, "DreamGen", blacklist = [
|
|||
'useelevator3',
|
||||
'useelevator4',
|
||||
'useelevator5',
|
||||
'useladder',
|
||||
'useladderb',
|
||||
'usehatch',
|
||||
'usemenu',
|
||||
'usemon',
|
||||
|
|
|
@ -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);
|
||||
|
@ -5853,94 +5801,6 @@ slabbwrong:
|
|||
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);
|
||||
|
|
|
@ -575,11 +575,7 @@ public:
|
|||
void getOpenedSize();
|
||||
void resetKeyboard();
|
||||
void soundStartup();
|
||||
void sLabDoorA();
|
||||
void sLabDoorC();
|
||||
void sLabDoorB();
|
||||
void sLabDoorE();
|
||||
void sLabDoorD();
|
||||
void adjustUp();
|
||||
void fadeScreenDownHalf();
|
||||
void mouseCall();
|
||||
|
@ -587,7 +583,6 @@ public:
|
|||
void fadeDownMon();
|
||||
void bartender();
|
||||
void showDiary();
|
||||
void sLabDoorF();
|
||||
void outOfOpen();
|
||||
void dirCom();
|
||||
void dumpKeypad();
|
||||
|
@ -623,7 +618,6 @@ public:
|
|||
void heavy();
|
||||
void useKey();
|
||||
void lockLightOn();
|
||||
void useLadderB();
|
||||
void discOps();
|
||||
void middlePanel();
|
||||
void monitorLogo();
|
||||
|
@ -709,7 +703,6 @@ public:
|
|||
void useAxe();
|
||||
void useElvDoor();
|
||||
void putBackObStuff();
|
||||
void useLadder();
|
||||
void findAllOpen();
|
||||
void quitSymbol();
|
||||
void readFromFile();
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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