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',
|
'createpanel2',
|
||||||
'findroominloc',
|
'findroominloc',
|
||||||
'reelsonscreen',
|
'reelsonscreen',
|
||||||
|
'reconstruct',
|
||||||
], skip_output = [
|
], skip_output = [
|
||||||
# These functions are processed but not output
|
# These functions are processed but not output
|
||||||
'dreamweb',
|
'dreamweb',
|
||||||
|
|
|
@ -2187,26 +2187,6 @@ endreelsound:
|
||||||
data.word(kLastsoundreel) = -1;
|
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() {
|
void DreamGenContext::deleverything() {
|
||||||
STACK_CHECK;
|
STACK_CHECK;
|
||||||
al = data.byte(kMapysize);
|
al = data.byte(kMapysize);
|
||||||
|
|
|
@ -474,7 +474,6 @@ public:
|
||||||
static const uint16 addr_setmode = 0xc1dc;
|
static const uint16 addr_setmode = 0xc1dc;
|
||||||
static const uint16 addr_showpcx = 0xc1cc;
|
static const uint16 addr_showpcx = 0xc1cc;
|
||||||
static const uint16 addr_deleverything = 0xc1c0;
|
static const uint16 addr_deleverything = 0xc1c0;
|
||||||
static const uint16 addr_reconstruct = 0xc1ac;
|
|
||||||
static const uint16 addr_soundonreels = 0xc1a8;
|
static const uint16 addr_soundonreels = 0xc1a8;
|
||||||
static const uint16 addr_constant = 0xc184;
|
static const uint16 addr_constant = 0xc184;
|
||||||
static const uint16 addr_steady = 0xc180;
|
static const uint16 addr_steady = 0xc180;
|
||||||
|
@ -1558,7 +1557,7 @@ public:
|
||||||
//void readheader();
|
//void readheader();
|
||||||
void getsetad();
|
void getsetad();
|
||||||
//void getyad();
|
//void getyad();
|
||||||
void reconstruct();
|
//void reconstruct();
|
||||||
void soldier1();
|
void soldier1();
|
||||||
//void animpointer();
|
//void animpointer();
|
||||||
void getundercentre();
|
void getundercentre();
|
||||||
|
|
|
@ -1020,5 +1020,17 @@ void DreamGenContext::reelsonscreen() {
|
||||||
usetimedtext();
|
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 */
|
} /*namespace dreamgen */
|
||||||
|
|
||||||
|
|
|
@ -331,4 +331,5 @@
|
||||||
void createpanel2();
|
void createpanel2();
|
||||||
void findroominloc();
|
void findroominloc();
|
||||||
void reelsonscreen();
|
void reelsonscreen();
|
||||||
|
void reconstruct();
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue