DREAMWEB: 'reconstruct' ported to C++
This commit is contained in:
parent
8a2500cd64
commit
c50384bbf5
5 changed files with 15 additions and 22 deletions
|
@ -272,6 +272,7 @@ generator = cpp(context, "DreamGen", blacklist = [
|
|||
'createpanel2',
|
||||
'findroominloc',
|
||||
'reelsonscreen',
|
||||
'reconstruct',
|
||||
], skip_output = [
|
||||
# These functions are processed but not output
|
||||
'dreamweb',
|
||||
|
|
|
@ -2187,26 +2187,6 @@ endreelsound:
|
|||
data.word(kLastsoundreel) = -1;
|
||||
}
|
||||
|
||||
void DreamGenContext::reconstruct() {
|
||||
STACK_CHECK;
|
||||
_cmp(data.byte(kHavedoneobs), 0);
|
||||
if (flags.z())
|
||||
return /* (noneedtorecon) */;
|
||||
data.byte(kNewobs) = 1;
|
||||
drawfloor();
|
||||
spriteupdate();
|
||||
printsprites();
|
||||
_cmp(data.byte(kForeignrelease), 0);
|
||||
if (flags.z())
|
||||
goto notfudge;
|
||||
_cmp(data.byte(kReallocation), 20);
|
||||
if (!flags.z())
|
||||
goto notfudge;
|
||||
undertextline();
|
||||
notfudge:
|
||||
data.byte(kHavedoneobs) = 0;
|
||||
}
|
||||
|
||||
void DreamGenContext::deleverything() {
|
||||
STACK_CHECK;
|
||||
al = data.byte(kMapysize);
|
||||
|
|
|
@ -474,7 +474,6 @@ public:
|
|||
static const uint16 addr_setmode = 0xc1dc;
|
||||
static const uint16 addr_showpcx = 0xc1cc;
|
||||
static const uint16 addr_deleverything = 0xc1c0;
|
||||
static const uint16 addr_reconstruct = 0xc1ac;
|
||||
static const uint16 addr_soundonreels = 0xc1a8;
|
||||
static const uint16 addr_constant = 0xc184;
|
||||
static const uint16 addr_steady = 0xc180;
|
||||
|
@ -1558,7 +1557,7 @@ public:
|
|||
//void readheader();
|
||||
void getsetad();
|
||||
//void getyad();
|
||||
void reconstruct();
|
||||
//void reconstruct();
|
||||
void soldier1();
|
||||
//void animpointer();
|
||||
void getundercentre();
|
||||
|
|
|
@ -1020,5 +1020,17 @@ void DreamGenContext::reelsonscreen() {
|
|||
usetimedtext();
|
||||
}
|
||||
|
||||
void DreamGenContext::reconstruct() {
|
||||
if (data.byte(kHavedoneobs) == 0)
|
||||
return;
|
||||
data.byte(kNewobs) = 1;
|
||||
drawfloor();
|
||||
spriteupdate();
|
||||
printsprites();
|
||||
if ((data.byte(kForeignrelease) != 0) && (data.byte(kReallocation) == 20))
|
||||
undertextline();
|
||||
data.byte(kHavedoneobs) = 0;
|
||||
}
|
||||
|
||||
} /*namespace dreamgen */
|
||||
|
||||
|
|
|
@ -331,4 +331,5 @@
|
|||
void createpanel2();
|
||||
void findroominloc();
|
||||
void reelsonscreen();
|
||||
void reconstruct();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue