DREAMWEB: 'intro1text', 'intro2text', 'intro3text', 'monks2text' ported to C++. textForMonk() has been converted to C++, too.

This commit is contained in:
Filippos Karapetis 2011-12-06 12:35:47 +02:00
parent 7d9d53d2ba
commit d5b220220f
6 changed files with 98 additions and 304 deletions

View file

@ -742,109 +742,109 @@ void DreamGenContext::initRain() {
rain->x = 0xff;
}
void DreamGenContext::intro1Text() {
if ((data.byte(kIntrocount) == 2 || data.byte(kIntrocount) == 4 || data.byte(kIntrocount) == 6) &&
data.byte(kCh1playing) == 255) {
data.byte(kIntrocount) = data.byte(kIntrocount) - 1;
} else {
if (data.byte(kIntrocount) == 2)
setupTimedTemp(40, 82, 34, 130, 90, 1);
else if (data.byte(kIntrocount) == 4)
setupTimedTemp(41, 82, 34, 130, 90, 1);
else if (data.byte(kIntrocount) == 6)
setupTimedTemp(42, 82, 34, 130, 90, 1);
}
}
void DreamGenContext::intro2Text() {
if (ax == 5)
setupTimedTemp(43, 82, 34, 40, 90, 1);
else if (ax == 15)
setupTimedTemp(44, 82, 34, 40, 90, 1);
}
void DreamGenContext::intro3Text() {
if (ax == 107)
setupTimedTemp(45, 82, 36, 56, 100, 1);
else if (ax == 108)
setupTimedTemp(46, 82, 36, 56, 100, 1);
}
void DreamGenContext::monks2text() {
if (data.byte(kIntrocount) == 1)
setupTimedTemp(8, 82, 36, 160, 120, 1);
else if (data.byte(kIntrocount) == 4)
setupTimedTemp(9, 82, 36, 160, 120, 1);
else if (data.byte(kIntrocount) == 7)
setupTimedTemp(10, 82, 36, 160, 120, 1);
else if (data.byte(kIntrocount) == 10)
setupTimedTemp(11, 82, 0, 105, 120, 1);
else if (data.byte(kIntrocount) == 13)
setupTimedTemp(12, 82, 0, 120, 120, 1);
else if (data.byte(kIntrocount) == 16)
setupTimedTemp(13, 82, 0, 135, 120, 1);
else if (data.byte(kIntrocount) == 19)
setupTimedTemp(14, 82, 36, 160, 120, 1);
else if (data.byte(kIntrocount) == 22)
setupTimedTemp(15, 82, 36, 160, 120, 1);
else if (data.byte(kIntrocount) == 25)
setupTimedTemp(16, 82, 36, 160, 120, 1);
else if (data.byte(kIntrocount) == 27)
setupTimedTemp(17, 82, 36, 160, 120, 1);
else if (data.byte(kIntrocount) == 31)
setupTimedTemp(18, 82, 36, 160, 120, 1);
}
void DreamGenContext::textForEnd() {
if (data.byte(kIntrocount) == 20)
al = 0;
setupTimedTemp(0, 83, 34, 20, 60, 1);
else if (data.byte(kIntrocount) == (isCD() ? 50 : 65))
al = 1;
setupTimedTemp(1, 83, 34, 20, 60, 1);
else if (data.byte(kIntrocount) == (isCD() ? 85 : 110))
al = 2;
else
return;
setupTimedTemp(2, 83, 34, 20, 60, 1);
}
bl = 34;
bh = 20;
cx = 60;
dx = 1;
ah = 83;
setupTimedTemp();
void DreamGenContext::textForMonkHelper(uint8 textIndex, uint8 voiceIndex, uint8 x, uint8 y, uint16 countToTimed, uint16 timeCount) {
if (isCD() && data.byte(kCh1playing) != 255)
data.byte(kIntrocount)--;
else
setupTimedTemp(textIndex, voiceIndex, x, y, countToTimed, timeCount);
}
void DreamGenContext::textForMonk() {
if (data.byte(kIntrocount) == 1) {
al = 19;
bl = 68;
bh = 154;
cx = 120;
} else if (data.byte(kIntrocount) == 5) {
al = 20;
bl = 68;
bh = 38;
cx = 120;
} else if (data.byte(kIntrocount) == 9) {
al = 21;
bl = 48;
bh = 154;
cx = 120;
} else if (data.byte(kIntrocount) == 13) {
al = 22;
bl = 68;
bh = 38;
cx = 120;
} else if (data.byte(kIntrocount) == (isCD() ? 15 : 17)) {
al = 23;
bl = 68;
bh = 154;
cx = 120;
} else if (data.byte(kIntrocount) == 21) {
al = 24;
bl = 68;
bh = 38;
cx = 120;
} else if (data.byte(kIntrocount) == 25) {
al = 25;
bl = 68;
bh = 154;
cx = 120;
} else if (data.byte(kIntrocount) == 29) {
al = 26;
bl = 68;
bh = 38;
cx = 120;
} else if (data.byte(kIntrocount) == 33) {
al = 27;
bl = 68;
bh = 154;
cx = 120;
} else if (data.byte(kIntrocount) == 37) {
al = 28;
bl = 68;
bh = 154;
cx = 120;
} else if (data.byte(kIntrocount) == 41) {
al = 29;
bl = 68;
bh = 38;
cx = 120;
} else if (data.byte(kIntrocount) == 45) {
al = 30;
bl = 68;
bh = 154;
cx = 120;
} else if (data.byte(kIntrocount) == (isCD() ? 52 : 49)) {
al = 31;
bl = 68;
bh = 154;
cx = 220;
} else if (data.byte(kIntrocount) == 53) {
if (data.byte(kIntrocount) == 1)
textForMonkHelper(19, 82, 68, 154, 120, 1);
else if (data.byte(kIntrocount) == 5)
textForMonkHelper(20, 82, 68, 38, 120, 1);
else if (data.byte(kIntrocount) == 9)
textForMonkHelper(21, 82, 48, 154, 120, 1);
else if (data.byte(kIntrocount) == 13)
textForMonkHelper(22, 82, 68, 38, 120, 1);
else if (data.byte(kIntrocount) == (isCD() ? 15 : 17))
textForMonkHelper(23, 82, 68, 154, 120, 1);
else if (data.byte(kIntrocount) == 21)
textForMonkHelper(24, 82, 68, 38, 120, 1);
else if (data.byte(kIntrocount) == 25)
textForMonkHelper(25, 82, 68, 154, 120, 1);
else if (data.byte(kIntrocount) == 29)
textForMonkHelper(26, 82, 68, 38, 120, 1);
else if (data.byte(kIntrocount) == 33)
textForMonkHelper(27, 82, 68, 154, 120, 1);
else if (data.byte(kIntrocount) == 37)
textForMonkHelper(28, 82, 68, 154, 120, 1);
else if (data.byte(kIntrocount) == 41)
textForMonkHelper(29, 82, 68, 38, 120, 1);
else if (data.byte(kIntrocount) == 45)
textForMonkHelper(30, 82, 68, 154, 120, 1);
else if (data.byte(kIntrocount) == (isCD() ? 52 : 49))
textForMonkHelper(31, 82, 68, 154, 220, 1);
else if (data.byte(kIntrocount) == 53) {
fadeScreenDowns();
if (isCD()) {
data.byte(kVolumeto) = 7;
data.byte(kVolumedirection) = 1;
}
return;
} else {
return;
}
dx = 1;
ah = 82;
if (isCD() && data.byte(kCh1playing) != 255) {
data.byte(kIntrocount)--;
return;
}
setupTimedTemp();
}
void DreamGenContext::reelsOnScreen() {