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', 'usetext',
'bresenhams', 'bresenhams',
'examineobtext', 'examineobtext',
'wornerror',
], skip_output = [ ], skip_output = [
# These functions are processed but not output # These functions are processed but not output
'dreamweb', 'dreamweb',

View file

@ -5029,25 +5029,6 @@ void DreamGenContext::cantdrop() {
worktoscreenm(); 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() { void DreamGenContext::removeobfrominv() {
STACK_CHECK; STACK_CHECK;
_cmp(data.byte(kCommand), 100); _cmp(data.byte(kCommand), 100);
@ -16866,7 +16847,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) {
case addr_dropobject: dropobject(); break; case addr_dropobject: dropobject(); break;
case addr_droperror: droperror(); break; case addr_droperror: droperror(); break;
case addr_cantdrop: cantdrop(); break; case addr_cantdrop: cantdrop(); break;
case addr_wornerror: wornerror(); break;
case addr_removeobfrominv: removeobfrominv(); break; case addr_removeobfrominv: removeobfrominv(); break;
case addr_selectopenob: selectopenob(); break; case addr_selectopenob: selectopenob(); break;
case addr_useopened: useopened(); break; case addr_useopened: useopened(); break;

View file

@ -452,7 +452,6 @@ public:
static const uint16 addr_useopened = 0xc3e0; static const uint16 addr_useopened = 0xc3e0;
static const uint16 addr_selectopenob = 0xc3dc; static const uint16 addr_selectopenob = 0xc3dc;
static const uint16 addr_removeobfrominv = 0xc3d8; static const uint16 addr_removeobfrominv = 0xc3d8;
static const uint16 addr_wornerror = 0xc3d4;
static const uint16 addr_cantdrop = 0xc3d0; static const uint16 addr_cantdrop = 0xc3d0;
static const uint16 addr_droperror = 0xc3cc; static const uint16 addr_droperror = 0xc3cc;
static const uint16 addr_dropobject = 0xc3c8; static const uint16 addr_dropobject = 0xc3c8;
@ -1286,7 +1285,7 @@ public:
void showbyte(); void showbyte();
void screenupdate(); void screenupdate();
//void addlength(); //void addlength();
void wornerror(); //void usetimedtext();
void putundercentre(); void putundercentre();
void checkobjectsize(); void checkobjectsize();
//void commandonly(); //void commandonly();
@ -1433,7 +1432,6 @@ public:
//void showallex(); //void showallex();
void openpoolboss(); void openpoolboss();
void buttontwo(); void buttontwo();
//void usetimedtext();
//void delsprite(); //void delsprite();
//void getroomspaths(); //void getroomspaths();
//void dumptextline(); //void dumptextline();
@ -1491,6 +1489,7 @@ public:
void saveload(); void saveload();
void monitorlogo(); void monitorlogo();
void loadposition(); void loadposition();
//void wornerror();
void entersymbol(); void entersymbol();
void showword(); void showword();
void dirfile(); 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'); 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() { void DreamGenContext::makeworn() {
makeworn((DynObject *)es.ptr(bx, sizeof(DynObject))); makeworn((DynObject *)es.ptr(bx, sizeof(DynObject)));
} }

View file

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