DREAMWEB: 'wornerror' ported to C++

This commit is contained in:
Bertrand Augereau 2011-10-09 18:09:24 +02:00
parent 250fac9895
commit 4e825c069d
5 changed files with 17 additions and 23 deletions

View file

@ -199,6 +199,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'usetext',
'bresenhams',
'examineobtext',
'wornerror',
], skip_output = [
# These functions are processed but not output
'dreamweb',

View file

@ -5029,25 +5029,6 @@ void DreamGenContext::cantdrop() {
worktoscreenm();
}
void DreamGenContext::wornerror() {
STACK_CHECK;
data.byte(kCommandtype) = 255;
delpointer();
di = 76;
bx = 21;
al = 57;
dl = 240;
printmessage();
worktoscreenm();
cx = 50;
hangonp();
showpanel();
showman();
examicon();
data.byte(kCommandtype) = 255;
worktoscreenm();
}
void DreamGenContext::removeobfrominv() {
STACK_CHECK;
_cmp(data.byte(kCommand), 100);
@ -16866,7 +16847,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) {
case addr_dropobject: dropobject(); break;
case addr_droperror: droperror(); break;
case addr_cantdrop: cantdrop(); break;
case addr_wornerror: wornerror(); break;
case addr_removeobfrominv: removeobfrominv(); break;
case addr_selectopenob: selectopenob(); break;
case addr_useopened: useopened(); break;

View file

@ -452,7 +452,6 @@ public:
static const uint16 addr_useopened = 0xc3e0;
static const uint16 addr_selectopenob = 0xc3dc;
static const uint16 addr_removeobfrominv = 0xc3d8;
static const uint16 addr_wornerror = 0xc3d4;
static const uint16 addr_cantdrop = 0xc3d0;
static const uint16 addr_droperror = 0xc3cc;
static const uint16 addr_dropobject = 0xc3c8;
@ -1286,7 +1285,7 @@ public:
void showbyte();
void screenupdate();
//void addlength();
void wornerror();
//void usetimedtext();
void putundercentre();
void checkobjectsize();
//void commandonly();
@ -1433,7 +1432,6 @@ public:
//void showallex();
void openpoolboss();
void buttontwo();
//void usetimedtext();
//void delsprite();
//void getroomspaths();
//void dumptextline();
@ -1491,6 +1489,7 @@ public:
void saveload();
void monitorlogo();
void loadposition();
//void wornerror();
void entersymbol();
void showword();
void dirfile();

View file

@ -46,6 +46,19 @@ bool DreamGenContext::isitworn(const DynObject *object) {
return (object->id[0] == 'W'-'A') && (object->id[1] == 'E'-'A');
}
void DreamGenContext::wornerror() {
data.byte(kCommandtype) = 255;
delpointer();
printmessage(76, 21, 57, 240, false);
worktoscreenm();
hangonp(50);
showpanel();
showman();
examicon();
data.byte(kCommandtype) = 255;
worktoscreenm();
}
void DreamGenContext::makeworn() {
makeworn((DynObject *)es.ptr(bx, sizeof(DynObject)));
}

View file

@ -223,6 +223,7 @@
bool checkifpathison(uint8 index);
void isitworn();
bool isitworn(const DynObject *object);
void wornerror();
void makeworn();
void makeworn(DynObject *object);
void obtoinv();