DREAMWEB: 'intro' ported to C++

This commit is contained in:
D G Turner 2011-12-05 18:50:34 +00:00
parent 411892d848
commit c51e97c517
5 changed files with 60 additions and 51 deletions

View File

@ -304,6 +304,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'initman',
'initrain',
'input',
'intro',
'inventory',
'isitdescribed',
'isitright',

View File

@ -2396,54 +2396,6 @@ void DreamGenContext::gettingShot() {
clearBeforeLoad();
}
void DreamGenContext::intro() {
STACK_CHECK;
dx = 1035;
loadTempText();
loadPalFromIFF();
setMode();
data.byte(kNewlocation) = 50;
clearPalette();
loadIntroRoom();
data.byte(kVolume) = 7;
data.byte(kVolumedirection) = -1;
data.byte(kVolumeto) = 4;
al = 12;
ah = 255;
playChannel0();
fadeScreenUps();
runIntroSeq();
_cmp(data.byte(kLasthardkey), 1);
if (flags.z())
goto introearly;
clearBeforeLoad();
data.byte(kNewlocation) = 52;
loadIntroRoom();
runIntroSeq();
_cmp(data.byte(kLasthardkey), 1);
if (flags.z())
goto introearly;
clearBeforeLoad();
data.byte(kNewlocation) = 53;
loadIntroRoom();
runIntroSeq();
_cmp(data.byte(kLasthardkey), 1);
if (flags.z())
goto introearly;
clearBeforeLoad();
allPalette();
data.byte(kNewlocation) = 54;
loadIntroRoom();
runIntroSeq();
_cmp(data.byte(kLasthardkey), 1);
if (flags.z())
goto introearly;
getRidOfTempText();
clearBeforeLoad();
introearly:
data.byte(kLasthardkey) = 0;
}
void DreamGenContext::runIntroSeq() {
STACK_CHECK;
data.byte(kGetback) = 0;

View File

@ -578,7 +578,6 @@ public:
void introMonks1();
void resetLocation();
void introMonks2();
void advisor();
void additionalText();
void useElevator5();
void useElevator4();
@ -660,7 +659,7 @@ public:
void lockLightOff();
void wearWatch();
void runIntroSeq();
void nextColon();
void advisor();
void attendant();
void monks2text();
void clearPalette();
@ -669,6 +668,7 @@ public:
void openHotelDoor();
void blank();
void drinker();
void nextColon();
void placeFreeObject();
void allPalette();
void adjustRight();
@ -878,7 +878,6 @@ public:
void inToInv();
void parser();
void setMouse();
void intro();
void fadeScreenDowns();
void openHotelDoor2();
void selectLocation();

View File

@ -3336,5 +3336,61 @@ void DreamGenContext::realCredits() {
data.byte(kLasthardkey) = 0;
}
void DreamGenContext::intro() {
loadTempText("DREAMWEB.T82");
loadPalFromIFF();
setMode();
data.byte(kNewlocation) = 50;
clearPalette();
loadIntroRoom();
data.byte(kVolume) = 7;
data.byte(kVolumedirection) = -1;
data.byte(kVolumeto) = 4;
playChannel0(12, 255);
fadeScreenUps();
runIntroSeq();
if (data.byte(kLasthardkey) == 1) {
data.byte(kLasthardkey) = 0;
return; // "introearly"
}
clearBeforeLoad();
data.byte(kNewlocation) = 52;
loadIntroRoom();
runIntroSeq();
if (data.byte(kLasthardkey) == 1) {
data.byte(kLasthardkey) = 0;
return; // "introearly"
}
clearBeforeLoad();
data.byte(kNewlocation) = 53;
loadIntroRoom();
runIntroSeq();
if (data.byte(kLasthardkey) == 1) {
data.byte(kLasthardkey) = 0;
return; // "introearly"
}
clearBeforeLoad();
allPalette();
data.byte(kNewlocation) = 54;
loadIntroRoom();
runIntroSeq();
if (data.byte(kLasthardkey) == 1) {
data.byte(kLasthardkey) = 0;
return; // "introearly"
}
getRidOfTempText();
clearBeforeLoad();
data.byte(kLasthardkey) = 0;
}
} /*namespace dreamgen */

View File

@ -453,5 +453,6 @@
void showPCX();
void bibleQuote();
void realCredits();
void intro();
#endif