DREAMWEB: 'readsetdata' ported to C++

This commit is contained in:
Bertrand Augereau 2011-11-17 17:44:19 +01:00
parent 21d3062d52
commit 8179a6bfa8
5 changed files with 37 additions and 39 deletions

View File

@ -232,6 +232,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'textforend',
'textformonk',
'twodigitnum',
'readsetdata',
'loadroomssample',
], skip_output = [
# These functions are processed but not output

View File

@ -14403,40 +14403,6 @@ void DreamGenContext::getridoftempsp() {
deallocatemem();
}
void DreamGenContext::readsetdata() {
STACK_CHECK;
dx = 1857;
standardload();
data.word(kCharset1) = ax;
dx = 1922;
standardload();
data.word(kIcons1) = ax;
dx = 1935;
standardload();
data.word(kIcons2) = ax;
dx = 1819;
standardload();
data.word(kMainsprites) = ax;
dx = 2221;
standardload();
data.word(kPuzzletext) = ax;
dx = 2273;
standardload();
data.word(kCommandtext) = ax;
ax = data.word(kCharset1);
data.word(kCurrentset) = ax;
_cmp(data.byte(kSoundint), 255);
if (flags.z())
return /* (novolumeload) */;
dx = 2286;
openfile();
cx = 2048-256;
ds = data.word(kSoundbuffer);
dx = 16384;
readfromfile();
closefile();
}
void DreamGenContext::__start() {
@ -16120,7 +16086,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) {
case addr_getridoftemp3: getridoftemp3(); break;
case addr_getridoftempcharset: getridoftempcharset(); break;
case addr_getridoftempsp: getridoftempsp(); break;
case addr_readsetdata: readsetdata(); break;
case addr_createfile: createfile(); break;
case addr_openfile: openfile(); break;
case addr_openfilefromc: openfilefromc(); break;

View File

@ -49,7 +49,6 @@ public:
static const uint16 addr_openfilefromc = 0xcb94;
static const uint16 addr_openfile = 0xcb90;
static const uint16 addr_createfile = 0xcb8c;
static const uint16 addr_readsetdata = 0xcb88;
static const uint16 addr_getridoftempsp = 0xcb84;
static const uint16 addr_getridoftempcharset = 0xcb80;
static const uint16 addr_getridoftemp3 = 0xcb7c;
@ -1268,7 +1267,6 @@ public:
//void getexpos();
void fadedos();
//void fillspace();
void selectlocation();
//void multiget();
//void autosetwalk();
void fadeupmonfirst();
@ -1625,6 +1623,7 @@ public:
void findopenpos();
void describeob();
void deleteexframe();
//void readsetdata();
void folderexit();
void dosreturn();
void wheelsound();
@ -1768,7 +1767,7 @@ public:
void calledensdlift();
void checkinside();
void gates();
void newgame();
void selectlocation();
//void showwatch();
//void turnanypathon();
void restorereels();
@ -1923,7 +1922,7 @@ public:
void getridoftempsp();
void scanfornames();
//void setallchanges();
void readsetdata();
void newgame();
//void printboth();
void standardload();
void undertextline();

View File

@ -2052,5 +2052,37 @@ void DreamGenContext::loadroomssample() {
loadsecondsample();
}
void DreamGenContext::readsetdata() {
dx = kCharacterset1;
standardload();
data.word(kCharset1) = ax;
dx = kIcongraphics0;
standardload();
data.word(kIcons1) = ax;
dx = kIcongraphics1;
standardload();
data.word(kIcons2) = ax;
dx = kSpritename1;
standardload();
data.word(kMainsprites) = ax;
dx = kPuzzletextname;
standardload();
data.word(kPuzzletext) = ax;
dx = kCommandtextname;
standardload();
data.word(kCommandtext) = ax;
ax = data.word(kCharset1);
data.word(kCurrentset) = ax;
if (data.byte(kSoundint) == 0xff)
return;
dx = kVolumetabname;
openfile();
cx = 2048-256;
ds = data.word(kSoundbuffer);
dx = 16384;
readfromfile();
closefile();
}
} /*namespace dreamgen */

View File

@ -275,5 +275,6 @@
void putundermenu();
void textformonk();
void textforend();
void readsetdata();
void loadroomssample();