mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-08 11:57:25 +00:00
DREAMWEB: 'delcurs' ported to C++
This commit is contained in:
parent
cfac223cee
commit
5461b03983
@ -239,6 +239,7 @@ generator = cpp(context, "DreamGen", blacklist = [
|
||||
'loadintotemp3',
|
||||
'loadtempcharset',
|
||||
'printcurs',
|
||||
'delcurs',
|
||||
'loadroomssample',
|
||||
], skip_output = [
|
||||
# These functions are processed but not output
|
||||
|
@ -7294,42 +7294,6 @@ void DreamGenContext::triggermessage() {
|
||||
data.byte(kLasttrigger) = 0;
|
||||
}
|
||||
|
||||
void DreamGenContext::delcurs() {
|
||||
STACK_CHECK;
|
||||
push(es);
|
||||
push(bx);
|
||||
push(di);
|
||||
push(ds);
|
||||
push(dx);
|
||||
push(si);
|
||||
di = data.word(kCurslocx);
|
||||
bx = data.word(kCurslocy);
|
||||
cl = 6;
|
||||
ch = 8;
|
||||
_cmp(data.byte(kForeignrelease), 0);
|
||||
if (flags.z())
|
||||
goto _tmp1;
|
||||
_sub(bx, 3);
|
||||
ch = 11;
|
||||
_tmp1:
|
||||
push(di);
|
||||
push(bx);
|
||||
push(cx);
|
||||
ds = data.word(kBuffers);
|
||||
si = (0);
|
||||
multiput();
|
||||
cx = pop();
|
||||
bx = pop();
|
||||
di = pop();
|
||||
multidump();
|
||||
si = pop();
|
||||
dx = pop();
|
||||
ds = pop();
|
||||
di = pop();
|
||||
bx = pop();
|
||||
es = pop();
|
||||
}
|
||||
|
||||
void DreamGenContext::useobject() {
|
||||
STACK_CHECK;
|
||||
data.byte(kWithobject) = 255;
|
||||
@ -15685,7 +15649,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) {
|
||||
case addr_monmessage: monmessage(); break;
|
||||
case addr_processtrigger: processtrigger(); break;
|
||||
case addr_triggermessage: triggermessage(); break;
|
||||
case addr_delcurs: delcurs(); break;
|
||||
case addr_useobject: useobject(); break;
|
||||
case addr_wheelsound: wheelsound(); break;
|
||||
case addr_runtap: runtap(); break;
|
||||
|
@ -342,7 +342,6 @@ public:
|
||||
static const uint16 addr_runtap = 0xc58c;
|
||||
static const uint16 addr_wheelsound = 0xc588;
|
||||
static const uint16 addr_useobject = 0xc580;
|
||||
static const uint16 addr_delcurs = 0xc57c;
|
||||
static const uint16 addr_triggermessage = 0xc574;
|
||||
static const uint16 addr_processtrigger = 0xc570;
|
||||
static const uint16 addr_monmessage = 0xc56c;
|
||||
@ -1848,7 +1847,7 @@ public:
|
||||
void getexad();
|
||||
void openforsave();
|
||||
void closefile();
|
||||
void delcurs();
|
||||
//void delcurs();
|
||||
void randomaccess();
|
||||
//void calcfrframe();
|
||||
//void checkifex();
|
||||
|
@ -270,6 +270,20 @@ void DreamGenContext::printcurs() {
|
||||
multidump(x - 6, y, 12, height);
|
||||
}
|
||||
|
||||
void DreamGenContext::delcurs() {
|
||||
uint16 x = data.word(kCurslocx);
|
||||
uint16 y = data.word(kCurslocy);
|
||||
uint16 width = 6;
|
||||
uint16 height;
|
||||
if (data.byte(kForeignrelease)) {
|
||||
y -= 3;
|
||||
height = 11;
|
||||
} else
|
||||
height = 8;
|
||||
multiput(segRef(data.word(kBuffers)).ptr(kTextunder, 0), x, y, width, height);
|
||||
multidump(x, y, width, height);
|
||||
}
|
||||
|
||||
void DreamGenContext::seecommandtail() {
|
||||
data.word(kSoundbaseadd) = 0x220;
|
||||
data.byte(kSoundint) = 5;
|
||||
|
@ -34,6 +34,7 @@
|
||||
void loadtempcharset();
|
||||
void loadtempcharset(const char *fileName);
|
||||
void printcurs();
|
||||
void delcurs();
|
||||
void multidump();
|
||||
void multidump(uint16 x, uint16 y, uint8 width, uint8 height);
|
||||
void frameoutv(uint8 *dst, const uint8 *src, uint16 pitch, uint16 width, uint16 height, int16 x, int16 y);
|
||||
|
Loading…
x
Reference in New Issue
Block a user