DREAMWEB: 'wornerror' ported to C++
This commit is contained in:
parent
250fac9895
commit
4e825c069d
5 changed files with 17 additions and 23 deletions
|
@ -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',
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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();
|
||||||
|
|
|
@ -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)));
|
||||||
}
|
}
|
||||||
|
|
|
@ -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();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue