DREAMWEB: 'maptopanel' and 'dumpmap' ported to C++
This commit is contained in:
parent
6a46429c44
commit
233592d28a
5 changed files with 14 additions and 30 deletions
|
@ -168,6 +168,8 @@ generator = cpp(context, "DreamGen", blacklist = [
|
|||
'addtopeoplelist',
|
||||
'getexpos',
|
||||
'paneltomap',
|
||||
'maptopanel',
|
||||
'dumpmap',
|
||||
'obpicture',
|
||||
'delthisone',
|
||||
'transferinv',
|
||||
|
|
|
@ -2657,30 +2657,6 @@ nought:
|
|||
goto palloop;
|
||||
}
|
||||
|
||||
void DreamGenContext::maptopanel() {
|
||||
STACK_CHECK;
|
||||
di = data.word(kMapxstart);
|
||||
_add(di, data.word(kMapadx));
|
||||
bx = data.word(kMapystart);
|
||||
_add(bx, data.word(kMapady));
|
||||
ds = data.word(kMapstore);
|
||||
si = 0;
|
||||
cl = data.byte(kMapxsize);
|
||||
ch = data.byte(kMapysize);
|
||||
multiput();
|
||||
}
|
||||
|
||||
void DreamGenContext::dumpmap() {
|
||||
STACK_CHECK;
|
||||
di = data.word(kMapxstart);
|
||||
_add(di, data.word(kMapadx));
|
||||
bx = data.word(kMapystart);
|
||||
_add(bx, data.word(kMapady));
|
||||
cl = data.byte(kMapxsize);
|
||||
ch = data.byte(kMapysize);
|
||||
multidump();
|
||||
}
|
||||
|
||||
void DreamGenContext::pixelcheckset() {
|
||||
STACK_CHECK;
|
||||
push(ax);
|
||||
|
@ -17676,8 +17652,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) {
|
|||
case addr_showpcx: showpcx(); break;
|
||||
case addr_loadpalfromiff: loadpalfromiff(); break;
|
||||
case addr_setmode: setmode(); break;
|
||||
case addr_maptopanel: maptopanel(); break;
|
||||
case addr_dumpmap: dumpmap(); break;
|
||||
case addr_pixelcheckset: pixelcheckset(); break;
|
||||
case addr_createpanel: createpanel(); break;
|
||||
case addr_createpanel2: createpanel2(); break;
|
||||
|
|
|
@ -562,8 +562,6 @@ public:
|
|||
static const uint16 addr_createpanel2 = 0xc200;
|
||||
static const uint16 addr_createpanel = 0xc1fc;
|
||||
static const uint16 addr_pixelcheckset = 0xc1f8;
|
||||
static const uint16 addr_dumpmap = 0xc1f4;
|
||||
static const uint16 addr_maptopanel = 0xc1f0;
|
||||
static const uint16 addr_setmode = 0xc1dc;
|
||||
static const uint16 addr_loadpalfromiff = 0xc1d8;
|
||||
static const uint16 addr_showpcx = 0xc1cc;
|
||||
|
@ -1290,7 +1288,7 @@ public:
|
|||
//void lockeddoorway();
|
||||
void isitworn();
|
||||
//void putundertimed();
|
||||
void dumpmap();
|
||||
//void dumpmap();
|
||||
//void multidump();
|
||||
void channel0only();
|
||||
void worktoscreenm();
|
||||
|
@ -1539,7 +1537,7 @@ public:
|
|||
void monks2text();
|
||||
void clearpalette();
|
||||
void cantdrop();
|
||||
void maptopanel();
|
||||
//void maptopanel();
|
||||
//void calcmapad();
|
||||
void getridofall();
|
||||
void copper();
|
||||
|
|
|
@ -201,6 +201,8 @@
|
|||
void addtopeoplelist(ReelRoutine *routine);
|
||||
void getexpos();
|
||||
void paneltomap();
|
||||
void maptopanel();
|
||||
void dumpmap();
|
||||
void obpicture();
|
||||
void transferinv();
|
||||
|
||||
|
|
|
@ -415,6 +415,14 @@ void DreamGenContext::paneltomap() {
|
|||
multiget(segRef(data.word(kMapstore)).ptr(0, 0), data.word(kMapxstart) + data.word(kMapadx), data.word(kMapystart) + data.word(kMapady), data.byte(kMapxsize), data.byte(kMapysize));
|
||||
}
|
||||
|
||||
void DreamGenContext::maptopanel() {
|
||||
multiput(segRef(data.word(kMapstore)).ptr(0, 0), data.word(kMapxstart) + data.word(kMapadx), data.word(kMapystart) + data.word(kMapady), data.byte(kMapxsize), data.byte(kMapysize));
|
||||
}
|
||||
|
||||
void DreamGenContext::dumpmap() {
|
||||
multidump(data.word(kMapxstart) + data.word(kMapadx), data.word(kMapystart) + data.word(kMapady), data.byte(kMapxsize), data.byte(kMapysize));
|
||||
}
|
||||
|
||||
void DreamGenContext::transferinv() {
|
||||
const Frame *freeFrames = (const Frame *)segRef(data.word(kFreeframes)).ptr(kFrframedata, 0);
|
||||
const Frame *freeFrame = freeFrames + (3 * data.byte(kItemtotran) + 1);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue