DREAMWEB: 'clearbeforeload', 'clearreels', 'getridofreels' ported to C++

This commit is contained in:
Filippos Karapetis 2011-12-06 00:46:06 +02:00
parent dc62da925f
commit 06ef3452b7
5 changed files with 30 additions and 36 deletions

View file

@ -193,7 +193,9 @@ generator = cpp(context, "DreamGen", blacklist = [
'checkifset',
'checkone',
'checkspeed',
'clearbeforeload',
'clearendpal',
'clearreels',
'clearsprites',
'clearstartpal',
'clearwork',
@ -295,6 +297,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'getreelstart',
'getridofall',
'getridofpit',
'getridofreels',
'getridoftemp',
'getridoftemp2',
'getridoftemp3',

View file

@ -9636,26 +9636,6 @@ void DreamGenContext::clearChanges() {
_stosw(cx, true);
}
void DreamGenContext::clearBeforeLoad() {
STACK_CHECK;
_cmp(data.byte(kRoomloaded), 1);
if (!flags.z())
return /* (noclear) */;
clearReels();
clearRest();
data.byte(kRoomloaded) = 0;
}
void DreamGenContext::clearReels() {
STACK_CHECK;
es = data.word(kReel1);
deallocateMem();
es = data.word(kReel2);
deallocateMem();
es = data.word(kReel3);
deallocateMem();
}
void DreamGenContext::clearRest() {
STACK_CHECK;
es = data.word(kMapdata);
@ -10279,19 +10259,6 @@ _tmp1:
multiGet();
}
void DreamGenContext::getRidOfReels() {
STACK_CHECK;
_cmp(data.byte(kRoomloaded), 0);
if (flags.z())
return /* (dontgetrid) */;
es = data.word(kReel1);
deallocateMem();
es = data.word(kReel2);
deallocateMem();
es = data.word(kReel3);
deallocateMem();
}
void DreamGenContext::__start() {
static const uint8 src[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x13, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

View file

@ -550,7 +550,6 @@ public:
void clearBuffers();
void getObTextStart();
void decide();
void getRidOfReels();
void entryTexts();
void checkInput();
void setMode();
@ -763,7 +762,6 @@ public:
void candles2();
void candles1();
void showOpBox();
void clearBeforeLoad();
void doFade();
void useTrainer();
void dumpCurrent();
@ -848,7 +846,6 @@ public:
void updateSymbolTop();
void allPointer();
void checkSoundInt();
void clearReels();
void doSaveLoad();
void createName();
void getPersonText();

View file

@ -1148,5 +1148,29 @@ void DreamGenContext::soundOnReels() {
data.word(kLastsoundreel) = -1;
}
void DreamGenContext::clearBeforeLoad() {
if (data.byte(kRoomloaded) != 1)
return /* (noclear) */;
clearReels();
clearRest();
data.byte(kRoomloaded) = 0;
}
void DreamGenContext::clearReels() {
deallocateMem(data.word(kReel1));
deallocateMem(data.word(kReel2));
deallocateMem(data.word(kReel3));
}
void DreamGenContext::getRidOfReels() {
if (data.byte(kRoomloaded) == 0)
return /* (dontgetrid) */;
deallocateMem(data.word(kReel1));
deallocateMem(data.word(kReel2));
deallocateMem(data.word(kReel3));
}
} /*namespace dreamgen */

View file

@ -473,5 +473,8 @@
void fadeScreenUpHalf();
void fadeScreenDown();
void fadeScreenDowns();
void clearBeforeLoad();
void clearReels();
void getRidOfReels();
#endif