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',
|
'addtopeoplelist',
|
||||||
'getexpos',
|
'getexpos',
|
||||||
'paneltomap',
|
'paneltomap',
|
||||||
|
'maptopanel',
|
||||||
|
'dumpmap',
|
||||||
'obpicture',
|
'obpicture',
|
||||||
'delthisone',
|
'delthisone',
|
||||||
'transferinv',
|
'transferinv',
|
||||||
|
|
|
@ -2657,30 +2657,6 @@ nought:
|
||||||
goto palloop;
|
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() {
|
void DreamGenContext::pixelcheckset() {
|
||||||
STACK_CHECK;
|
STACK_CHECK;
|
||||||
push(ax);
|
push(ax);
|
||||||
|
@ -17676,8 +17652,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) {
|
||||||
case addr_showpcx: showpcx(); break;
|
case addr_showpcx: showpcx(); break;
|
||||||
case addr_loadpalfromiff: loadpalfromiff(); break;
|
case addr_loadpalfromiff: loadpalfromiff(); break;
|
||||||
case addr_setmode: setmode(); break;
|
case addr_setmode: setmode(); break;
|
||||||
case addr_maptopanel: maptopanel(); break;
|
|
||||||
case addr_dumpmap: dumpmap(); break;
|
|
||||||
case addr_pixelcheckset: pixelcheckset(); break;
|
case addr_pixelcheckset: pixelcheckset(); break;
|
||||||
case addr_createpanel: createpanel(); break;
|
case addr_createpanel: createpanel(); break;
|
||||||
case addr_createpanel2: createpanel2(); break;
|
case addr_createpanel2: createpanel2(); break;
|
||||||
|
|
|
@ -562,8 +562,6 @@ public:
|
||||||
static const uint16 addr_createpanel2 = 0xc200;
|
static const uint16 addr_createpanel2 = 0xc200;
|
||||||
static const uint16 addr_createpanel = 0xc1fc;
|
static const uint16 addr_createpanel = 0xc1fc;
|
||||||
static const uint16 addr_pixelcheckset = 0xc1f8;
|
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_setmode = 0xc1dc;
|
||||||
static const uint16 addr_loadpalfromiff = 0xc1d8;
|
static const uint16 addr_loadpalfromiff = 0xc1d8;
|
||||||
static const uint16 addr_showpcx = 0xc1cc;
|
static const uint16 addr_showpcx = 0xc1cc;
|
||||||
|
@ -1290,7 +1288,7 @@ public:
|
||||||
//void lockeddoorway();
|
//void lockeddoorway();
|
||||||
void isitworn();
|
void isitworn();
|
||||||
//void putundertimed();
|
//void putundertimed();
|
||||||
void dumpmap();
|
//void dumpmap();
|
||||||
//void multidump();
|
//void multidump();
|
||||||
void channel0only();
|
void channel0only();
|
||||||
void worktoscreenm();
|
void worktoscreenm();
|
||||||
|
@ -1539,7 +1537,7 @@ public:
|
||||||
void monks2text();
|
void monks2text();
|
||||||
void clearpalette();
|
void clearpalette();
|
||||||
void cantdrop();
|
void cantdrop();
|
||||||
void maptopanel();
|
//void maptopanel();
|
||||||
//void calcmapad();
|
//void calcmapad();
|
||||||
void getridofall();
|
void getridofall();
|
||||||
void copper();
|
void copper();
|
||||||
|
|
|
@ -201,6 +201,8 @@
|
||||||
void addtopeoplelist(ReelRoutine *routine);
|
void addtopeoplelist(ReelRoutine *routine);
|
||||||
void getexpos();
|
void getexpos();
|
||||||
void paneltomap();
|
void paneltomap();
|
||||||
|
void maptopanel();
|
||||||
|
void dumpmap();
|
||||||
void obpicture();
|
void obpicture();
|
||||||
void transferinv();
|
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));
|
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() {
|
void DreamGenContext::transferinv() {
|
||||||
const Frame *freeFrames = (const Frame *)segRef(data.word(kFreeframes)).ptr(kFrframedata, 0);
|
const Frame *freeFrames = (const Frame *)segRef(data.word(kFreeframes)).ptr(kFrframedata, 0);
|
||||||
const Frame *freeFrame = freeFrames + (3 * data.byte(kItemtotran) + 1);
|
const Frame *freeFrame = freeFrames + (3 * data.byte(kItemtotran) + 1);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue