DREAMWEB: 'useWall' ported to C++

This commit is contained in:
Filippos Karapetis 2011-12-06 04:54:59 +02:00
parent 1bedd8bc18
commit 1763415fe6
5 changed files with 46 additions and 57 deletions

View file

@ -582,6 +582,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'usetempcharset', 'usetempcharset',
'usetext', 'usetext',
'usetimedtext', 'usetimedtext',
'usewall',
'usewindow', 'usewindow',
'viewfolder', 'viewfolder',
'waitframes', 'waitframes',

View file

@ -7470,62 +7470,6 @@ void DreamGenContext::setupTimedUse() {
data.word(kTimedoffset) = bx; data.word(kTimedoffset) = bx;
} }
void DreamGenContext::useWall() {
STACK_CHECK;
showFirstUse();
_cmp(data.byte(kManspath), 3);
if (flags.z())
goto gobackover;
data.word(kWatchingtime) = 30*2;
data.word(kReeltowatch) = 2;
data.word(kEndwatchreel) = 31;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
data.byte(kGetback) = 1;
al = 3;
turnPathOn();
al = 4;
turnPathOn();
al = 0;
turnPathOff();
al = 1;
turnPathOff();
al = 2;
turnPathOff();
al = 5;
turnPathOff();
data.byte(kManspath) = 3;
data.byte(kFinaldest) = 3;
findXYFromPath();
data.byte(kResetmanxy) = 1;
switchRyanOff();
return;
gobackover:
data.word(kWatchingtime) = 30*2;
data.word(kReeltowatch) = 34;
data.word(kEndwatchreel) = 60;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
data.byte(kGetback) = 1;
al = 3;
turnPathOff();
al = 4;
turnPathOff();
al = 0;
turnPathOn();
al = 1;
turnPathOn();
al = 2;
turnPathOn();
al = 5;
turnPathOn();
data.byte(kManspath) = 5;
data.byte(kFinaldest) = 5;
findXYFromPath();
data.byte(kResetmanxy) = 1;
switchRyanOff();
}
void DreamGenContext::useChurchGate() { void DreamGenContext::useChurchGate() {
STACK_CHECK; STACK_CHECK;
_cmp(data.byte(kWithobject), 255); _cmp(data.byte(kWithobject), 255);

View file

@ -564,7 +564,6 @@ public:
void isRyanHolding(); void isRyanHolding();
void showSlots(); void showSlots();
void useCashCard(); void useCashCard();
void useWall();
void openTomb(); void openTomb();
void doSomeTalk(); void doSomeTalk();
void getAnyAdDir(); void getAnyAdDir();

View file

@ -392,6 +392,7 @@
void wheelSound(); void wheelSound();
void callHotelLift(); void callHotelLift();
void useShield(); void useShield();
void useWall();
void wearWatch(); void wearWatch();
void wearShades(); void wearShades();
void checkFolderCoords(); void checkFolderCoords();

View file

@ -520,5 +520,49 @@ void DreamGenContext::openLouis() {
data.byte(kGetback) = 1; data.byte(kGetback) = 1;
} }
void DreamGenContext::useWall() {
showFirstUse();
if (data.byte(kManspath) != 3) {
data.word(kWatchingtime) = 30*2;
data.word(kReeltowatch) = 2;
data.word(kEndwatchreel) = 31;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
data.byte(kGetback) = 1;
turnPathOn(3);
turnPathOn(4);
turnPathOff(0);
turnPathOff(1);
turnPathOff(2);
turnPathOff(5);
data.byte(kManspath) = 3;
data.byte(kFinaldest) = 3;
findXYFromPath();
data.byte(kResetmanxy) = 1;
switchRyanOff();
} else {
// Go back over
data.word(kWatchingtime) = 30 * 2;
data.word(kReeltowatch) = 34;
data.word(kEndwatchreel) = 60;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
data.byte(kGetback) = 1;
turnPathOff(3);
turnPathOff(4);
turnPathOn(0);
turnPathOn(1);
turnPathOn(2);
turnPathOn(5);
data.byte(kManspath) = 5;
data.byte(kFinaldest) = 5;
findXYFromPath();
data.byte(kResetmanxy) = 1;
switchRyanOff();
}
}
} /*namespace dreamgen */ } /*namespace dreamgen */