DREAMWEB: Convert fadeDownMon, fadeUpMon, initialMonCols to C++

Note that the two fade methods are currently unused; the only calls to them
are commented out in the asm version of the code.
This change also removes showGroup()
This commit is contained in:
Max Horn 2011-12-19 21:41:51 +01:00 committed by Filippos Karapetis
parent d033566f6d
commit a4ffb8fe54
7 changed files with 47 additions and 77 deletions

View File

@ -413,6 +413,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'facerightway',
'fadecalculation',
'fadedos',
'fadedownmon',
'fadefromwhite',
'fadescreenup',
'fadescreenups',
@ -421,6 +422,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'fadescreendowns',
'fadescreendownhalf',
'fadetowhite',
'fadeupmon',
'fadeupmonfirst',
'fadeupyellows',
'femalefan',
@ -504,6 +506,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'hotelcontrol',
'identifyob',
'initialinv',
'initialmoncols',
'initman',
'initrain',
'input',

View File

@ -479,8 +479,11 @@ public:
void fadeDOS();
void doFade();
void fadeCalculation();
void fadeupYellows();
void fadeupMonFirst();
void fadeUpYellows();
void fadeUpMonFirst();
void fadeUpMon();
void fadeDownMon();
void initialMonCols();
void fadeScreenUp();
void fadeScreenUps();
void fadeScreenUpHalf();

View File

@ -167,64 +167,6 @@ endearly2:
cx = pop();
}
void DreamGenContext::fadeDownMon() {
STACK_CHECK;
palToStartPal();
palToEndPal();
es = data.word(kBuffers);
di = (0+(228*13)+32+60+(32*32)+(11*10*3)+768)+(231*3);
cx = 3*8;
ax = 0;
_stosb(cx, true);
di = (0+(228*13)+32+60+(32*32)+(11*10*3)+768)+(246*3);
_stosb();
_stosw();
data.byte(kFadedirection) = 1;
data.byte(kFadecount) = 63;
data.byte(kColourpos) = 0;
data.byte(kNumtofade) = 128;
cx = 64;
hangOn();
}
void DreamGenContext::fadeUpMon() {
STACK_CHECK;
palToStartPal();
palToEndPal();
es = data.word(kBuffers);
di = (0+(228*13)+32+60+(32*32)+(11*10*3))+(231*3);
cx = 3*8;
ax = 0;
_stosb(cx, true);
di = (0+(228*13)+32+60+(32*32)+(11*10*3))+(246*3);
_stosb();
_stosw();
data.byte(kFadedirection) = 1;
data.byte(kFadecount) = 63;
data.byte(kColourpos) = 0;
data.byte(kNumtofade) = 128;
cx = 128;
hangOn();
}
void DreamGenContext::initialMonCols() {
STACK_CHECK;
palToStartPal();
es = data.word(kBuffers);
di = (0+(228*13)+32+60+(32*32)+(11*10*3))+(230*3);
cx = 3*9;
ax = 0;
_stosb(cx, true);
di = (0+(228*13)+32+60+(32*32)+(11*10*3))+(246*3);
_stosb();
_stosw();
ds = data.word(kBuffers);
si = (0+(228*13)+32+60+(32*32)+(11*10*3))+(230*3);
al = 230;
cx = 18;
showGroup();
}
void DreamGenContext::fillOpen() {
STACK_CHECK;
delTextLine();

View File

@ -465,7 +465,6 @@ public:
void __start();
#include "stubs.h" // Allow hand-reversed functions to have a signature different than void f()
void fadeDownMon();
void getPersonText();
void getObTextStart();
void checkObjectSize();
@ -479,7 +478,6 @@ public:
void getFreeAd();
void dirFile();
void pickupConts();
void fadeUpMon();
void reExFromInv();
void transferMap();
void purgeAnItem();
@ -504,7 +502,6 @@ public:
void incRyanPage();
void searchForFiles();
void getExAd();
void initialMonCols();
void swapWithInv();
void transferToEx();
void parser();

View File

@ -63,8 +63,8 @@ void DreamGenContext::useMon() {
printLogo();
workToScreenCPP();
turnOnPower();
fadeupYellows();
fadeupMonFirst();
fadeUpYellows();
fadeUpMonFirst();
data.word(kMonadx) = 76;
data.word(kMonady) = 141;
monMessage(1);
@ -171,10 +171,12 @@ bool DreamGenContext::execCommand() {
void DreamBase::monitorLogo() {
if (data.byte(kLogonum) != data.byte(kOldlogonum)) {
data.byte(kOldlogonum) = data.byte(kLogonum);
//fadeDownMon(); // FIXME: Commented out in ASM
printLogo();
printUnderMon();
workToScreenCPP();
printLogo();
//fadeUpMon(); // FIXME: Commented out in ASM
printLogo();
playChannel1(26);
randomAccess(20);

View File

@ -280,7 +280,6 @@
void moreTalk();
void redes();
void selectLocation();
void showGroup();
void loadSpeech();
bool loadSpeech(byte type1, int idx1, byte type2, int idx2) {
return DreamBase::loadSpeech(type1, idx1, type2, idx2);

View File

@ -114,7 +114,7 @@ void DreamBase::fadeCalculation() {
--data.byte(kFadecount);
}
void DreamBase::fadeupYellows() {
void DreamBase::fadeUpYellows() {
palToEndPal();
memset(endPalette() + 231 * 3, 0, 8 * 3);
memset(endPalette() + 246 * 3, 0, 1 * 3);
@ -125,7 +125,7 @@ void DreamBase::fadeupYellows() {
hangOn(128);
}
void DreamBase::fadeupMonFirst() {
void DreamBase::fadeUpMonFirst() {
palToStartPal();
palToEndPal();
memset(startPalette() + 231 * 3, 0, 8 * 3);
@ -139,6 +139,39 @@ void DreamBase::fadeupMonFirst() {
hangOn(64);
}
void DreamBase::fadeDownMon() {
palToStartPal();
palToEndPal();
memset(endPalette() + 231 * 3, 0, 8 * 3);
memset(endPalette() + 246 * 3, 0, 1 * 3);
data.byte(kFadedirection) = 1;
data.byte(kFadecount) = 63;
data.byte(kColourpos) = 0;
data.byte(kNumtofade) = 128;
hangOn(64);
}
void DreamBase::fadeUpMon() {
palToStartPal();
palToEndPal();
memset(startPalette() + 231 * 3, 0, 8 * 3);
memset(startPalette() + 246 * 3, 0, 1 * 3);
data.byte(kFadedirection) = 1;
data.byte(kFadecount) = 63;
data.byte(kColourpos) = 0;
data.byte(kNumtofade) = 128;
hangOn(128);
}
void DreamBase::initialMonCols() {
palToStartPal();
memset(startPalette() + 230 * 3, 0, 9 * 3);
memset(startPalette() + 246 * 3, 0, 1 * 3);
engine->processEvents();
engine->setPalette(startPalette() + 230 * 3, 230, 18);
}
void DreamBase::fadeScreenUp() {
clearStartPal();
palToEndPal();
@ -260,15 +293,6 @@ void DreamBase::dumpCurrent() {
engine->setPalette(pal, 128, 128);
}
void DreamGenContext::showGroup() {
engine->processEvents();
unsigned n = (uint16)cx;
uint8 *src = ds.ptr(si, n * 3);
engine->setPalette(src, al, n);
si += n * 3;
cx = 0;
}
void DreamGenContext::rollEndCredits2() {
rollEm();
}