DREAMWEB: Remove globals kCurrentframe, kTakeoff

This commit is contained in:
Willem Jan Palenstijn 2011-12-08 14:50:33 +01:00
parent e8ccbe3558
commit e40f1af3dc
7 changed files with 513 additions and 521 deletions

View file

@ -97,6 +97,9 @@ p = parser(skip_binary_data = [
'icons1',
'icons2',
'tempcharset',
'currentframe',
'takeoff',
'reelpointer',
# vgagrafx.asm
'cityname',
'extragraphics1',

View file

@ -105,15 +105,15 @@ uint8 DreamGenContext::getMapAd(const uint8 *setData) {
return 1;
}
void DreamGenContext::calcFrFrame() {
void DreamGenContext::calcFrFrame(uint16 frame) {
uint8 width, height;
calcFrFrame(&width, &height);
calcFrFrame(frame, &width, &height);
cl = width;
ch = height;
}
void DreamGenContext::calcFrFrame(uint8* width, uint8* height) {
const Frame *frame = (const Frame *)getSegment(data.word(kFrsegment)).ptr(data.word(kCurrentframe) * sizeof(Frame), sizeof(Frame));
void DreamGenContext::calcFrFrame(uint16 frameNum, uint8* width, uint8* height) {
const Frame *frame = (const Frame *)getSegment(data.word(kFrsegment)).ptr(frameNum * sizeof(Frame), sizeof(Frame));
data.word(kSavesource) = data.word(kFramesad) + frame->ptr();
data.byte(kSavesize+0) = frame->width;
data.byte(kSavesize+1) = frame->height;
@ -151,17 +151,16 @@ void DreamGenContext::showAllObs() {
if (getMapAd(setEntry->mapad) == 0)
continue;
uint8 currentFrame = setEntry->frames[0];
data.word(kCurrentframe) = currentFrame;
if (currentFrame == 0xff)
continue;
calcFrFrame();
calcFrFrame(currentFrame);
uint16 x, y;
finalFrame(&x, &y);
setEntry->index = setEntry->frames[0];
if ((setEntry->type == 0) && (setEntry->priority != 5) && (setEntry->priority != 6)) {
x += data.word(kMapadx);
y += data.word(kMapady);
showFrame(frames, x, y, data.word(kCurrentframe), 0);
showFrame(frames, x, y, currentFrame, 0);
} else
makeBackOb(setEntry);
@ -251,15 +250,16 @@ void DreamGenContext::showAllFree() {
for(size_t i = 0; i < 80; ++i) {
uint8 mapAd = getMapAd(freeObjects[i].mapad);
if (mapAd != 0) {
data.word(kCurrentframe) = 3 * data.byte(kCurrentfree);
uint8 width, height;
calcFrFrame(&width, &height);
uint16 currentFrame = 3 * data.byte(kCurrentfree);
calcFrFrame(currentFrame, &width, &height);
uint16 x, y;
finalFrame(&x, &y);
if ((width != 0) || (height != 0)) {
x += data.word(kMapadx);
y += data.word(kMapady);
showFrame((Frame *)getSegment(data.word(kFrsegment)).ptr(0, 0), x, y, data.word(kCurrentframe) & 0xff, 0);
assert(currentFrame < 256);
showFrame((Frame *)getSegment(data.word(kFrsegment)).ptr(0, 0), x, y, currentFrame, 0);
ObjPos *objPos = (ObjPos *)getSegment(data.word(kBuffers)).ptr(data.word(kListpos), sizeof(ObjPos));
objPos->xMin = data.byte(kSavex);
objPos->yMin = data.byte(kSavey);
@ -307,13 +307,14 @@ void DreamGenContext::showAllEx() {
continue;
if (getMapAd(object->mapad) == 0)
continue;
data.word(kCurrentframe) = 3 * data.byte(kCurrentex);
uint8 width, height;
calcFrFrame(&width, &height);
uint16 currentFrame = 3 * data.byte(kCurrentex);
calcFrFrame(currentFrame, &width, &height);
uint16 x, y;
finalFrame(&x, &y);
if ((width != 0) || (height != 0)) {
showFrame((Frame *)getSegment(data.word(kFrsegment)).ptr(0, 0), x + data.word(kMapadx), y + data.word(kMapady), data.word(kCurrentframe) & 0xff, 0);
assert(currentFrame < 256);
showFrame((Frame *)getSegment(data.word(kFrsegment)).ptr(0, 0), x + data.word(kMapadx), y + data.word(kMapady), currentFrame, 0);
ObjPos *objPos = (ObjPos *)getSegment(data.word(kBuffers)).ptr(data.word(kListpos), sizeof(ObjPos));
objPos->xMin = data.byte(kSavex);
objPos->yMin = data.byte(kSavey);

View file

@ -1138,7 +1138,7 @@ void DreamGenContext::showGun() {
data.byte(kRoomssample) = 34;
loadRoomsSample();
data.byte(kVolume) = 0;
dx = 1061;
dx = 1055;
loadIntoTemp();
createPanel2();
ds = data.word(kTempgraphics);
@ -1161,7 +1161,7 @@ void DreamGenContext::showGun() {
al = 12;
ah = 0;
playChannel0();
dx = 1035;
dx = 1029;
loadTempText();
rollEndCredits2();
getRidOfTempText();
@ -1409,7 +1409,7 @@ void DreamGenContext::initialMonCols() {
void DreamGenContext::endGame() {
STACK_CHECK;
dx = 1035;
dx = 1029;
loadTempText();
monkSpeaking();
gettingShot();
@ -1424,7 +1424,7 @@ void DreamGenContext::monkSpeaking() {
STACK_CHECK;
data.byte(kRoomssample) = 35;
loadRoomsSample();
dx = 1074;
dx = 1068;
loadIntoTemp();
clearWork();
showMonk();
@ -3579,14 +3579,14 @@ void DreamGenContext::getDestInfo() {
push(ax);
dx = data;
es = dx;
si = 1661;
si = 1655;
_add(si, ax);
cl = es.byte(si);
ax = pop();
push(cx);
dx = data;
es = dx;
si = 1677;
si = 1671;
_add(si, ax);
ax = pop();
}
@ -3638,7 +3638,7 @@ clearedlocations:
bx = ax;
dx = data;
es = dx;
_add(bx, 1661);
_add(bx, 1655);
es.byte(bx) = 0;
}
@ -3708,7 +3708,7 @@ void DreamGenContext::execCommand() {
es = cs;
bx = offset_comlist;
ds = cs;
si = 1695;
si = 1689;
al = ds.byte(si);
_cmp(al, 0);
if (!flags.z())
@ -3801,7 +3801,7 @@ dirroot:
si = offset_rootdir;
_inc(si);
es = cs;
di = 1350;
di = 1344;
_inc(di);
cx = 12;
_movsb(cx, true);
@ -3903,7 +3903,7 @@ notyetassigned:
push(bx);
_add(bx, 2);
ds = cs;
si = 1695;
si = 1689;
checkpass:
_lodsw();
ah = es.byte(bx);
@ -3974,7 +3974,7 @@ void DreamGenContext::read() {
return;
okcom:
es = cs;
di = 1350;
di = 1344;
ax = data.word(kTextfile1);
data.word(kMonsource) = ax;
ds = ax;
@ -4104,7 +4104,7 @@ keyok2:
ds = cs;
si = offset_operand1+1;
es = cs;
di = 1350+1;
di = 1344+1;
cx = 12;
_movsb(cx, true);
monitorLogo();
@ -4231,7 +4231,7 @@ void DreamGenContext::parser() {
al = '=';
_stosb();
ds = cs;
si = 1695;
si = 1689;
notspace1:
_lodsw();
_cmp(al, 32);
@ -5818,11 +5818,11 @@ notwrapbackb:
void DreamGenContext::useDiary() {
STACK_CHECK;
getRidOfReels();
dx = 1009;
dx = 1003;
loadIntoTemp();
dx = 1022;
dx = 1016;
loadTempText();
dx = 983;
dx = 977;
loadTempCharset();
createPanel();
showIcon();
@ -6217,7 +6217,7 @@ void DreamGenContext::getNamePos() {
_mul(cx);
dx = data;
es = dx;
bx = 1829;
bx = 1823;
_add(bx, ax);
al = data.byte(kCursorpos);
ah = 0;
@ -6313,7 +6313,7 @@ void DreamGenContext::showNames() {
STACK_CHECK;
dx = data;
es = dx;
si = 1829+1;
si = 1823+1;
di = (60)+21;
bx = (52)+10;
cl = 0;
@ -6694,7 +6694,7 @@ notalley:
void DreamGenContext::clearBuffers() {
STACK_CHECK;
es = data.word(kBuffers);
cx = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+983-526+68-0)/2;
cx = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+977-520+68-0)/2;
ax = 0;
di = 0;
_stosw(cx, true);
@ -6706,11 +6706,11 @@ void DreamGenContext::clearBuffers() {
es = data.word(kBuffers);
di = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64));
ds = cs;
si = 526;
cx = (983-526);
si = 520;
cx = (977-520);
_movsb(cx, true);
es = data.word(kBuffers);
di = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+983-526);
di = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+977-520);
ds = cs;
si = 0;
cx = (68-0);
@ -6728,11 +6728,11 @@ void DreamGenContext::clearChanges() {
ds = data.word(kBuffers);
si = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64));
es = cs;
di = 526;
cx = (983-526);
di = 520;
cx = (977-520);
_movsb(cx, true);
ds = data.word(kBuffers);
si = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+983-526);
si = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+977-520);
es = cs;
di = 0;
cx = (68-0);
@ -6746,7 +6746,7 @@ void DreamGenContext::clearChanges() {
di = 0;
_stosw(cx, true);
es = cs;
di = 1661;
di = 1655;
al = 1;
_stosb(2);
al = 0;
@ -7156,13 +7156,13 @@ void DreamGenContext::__start() {
//0x0090: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x00a0: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x00b0: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x00c0: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x00d0: .... .... .... ....
0x00, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x00e0: .. .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x00f0: .... .... .... ....
@ -7176,175 +7176,175 @@ void DreamGenContext::__start() {
//0x0130: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x0140: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
//0x0150: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x0160: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x05, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x0170: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x0180: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
//0x0190: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
//0x01a0: .... .... .... ....
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
//0x01b0: .... .... .... ....
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x17, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x01c0: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x01d0: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x01e0: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x01f0: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x2c,
//0x0200: .... .... .... ...,
0x00, 0x14, 0x00, 0x02, 0x00, 0x01, 0x01, 0x37, 0x00, 0x00, 0x00, 0x32, 0x14, 0x00, 0x18, 0x16,
//0x0210: .... ...7 ...2 ....
0x00, 0x4a, 0x00, 0x01, 0x00, 0x00, 0x18, 0x21, 0x0a, 0x4b, 0x00, 0x01, 0x00, 0x01, 0x01, 0x2c,
//0x0220: .J.. ...! .K.. ...,
0x00, 0x1b, 0x00, 0x02, 0x00, 0x02, 0x01, 0x2c, 0x00, 0x60, 0x00, 0x03, 0x00, 0x04, 0x01, 0x2c,
//0x0230: .... ..., .`.. ...,
0x00, 0x76, 0x00, 0x02, 0x00, 0x05, 0x01, 0x2c, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x00, 0x05, 0x16,
//0x0240: .v.. ..., .... ....
0x14, 0x35, 0x00, 0x03, 0x00, 0x00, 0x05, 0x16, 0x14, 0x28, 0x00, 0x01, 0x00, 0x02, 0x05, 0x16,
//0x0250: .5.. .... .(.. ....
0x14, 0x32, 0x00, 0x01, 0x00, 0x03, 0x02, 0x0b, 0x0a, 0xc0, 0x00, 0x01, 0x00, 0x00, 0x02, 0x0b,
//0x0260: .2.. .... .... ....
0x0a, 0xb6, 0x00, 0x02, 0x00, 0x01, 0x08, 0x0b, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x01, 0x17, 0x00,
//0x0270: .... .... .... ....
0x32, 0x00, 0x00, 0x03, 0x00, 0x00, 0x1c, 0x0b, 0x14, 0xfa, 0x00, 0x04, 0x00, 0x00, 0x17, 0x00,
//0x0280: 2... .... .... ....
0x32, 0x2b, 0x00, 0x02, 0x00, 0x08, 0x17, 0x0b, 0x28, 0x82, 0x00, 0x02, 0x00, 0x01, 0x17, 0x16,
//0x0290: 2+.. .... (... ....
0x28, 0x7a, 0x00, 0x02, 0x00, 0x02, 0x17, 0x16, 0x28, 0x69, 0x00, 0x02, 0x00, 0x03, 0x17, 0x16,
//0x02a0: (z.. .... (i.. ....
0x28, 0x51, 0x00, 0x02, 0x00, 0x04, 0x17, 0x0b, 0x28, 0x87, 0x00, 0x02, 0x00, 0x05, 0x17, 0x16,
//0x02b0: (Q.. .... (... ....
0x28, 0x91, 0x00, 0x02, 0x00, 0x06, 0x04, 0x16, 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x2d, 0x16,
//0x02c0: (... .... .... ..-.
0x1e, 0xc8, 0x00, 0x00, 0x00, 0x14, 0x2d, 0x16, 0x1e, 0x27, 0x00, 0x02, 0x00, 0x00, 0x2d, 0x16,
//0x02d0: .... ..-. .'.. ..-.
0x1e, 0x19, 0x00, 0x02, 0x00, 0x00, 0x08, 0x16, 0x28, 0x20, 0x00, 0x02, 0x00, 0x00, 0x07, 0x0b,
//0x02e0: .... .... ( .. ....
0x14, 0x40, 0x00, 0x02, 0x00, 0x00, 0x16, 0x16, 0x14, 0x52, 0x00, 0x02, 0x00, 0x00, 0x1b, 0x0b,
//0x02f0: .@.. .... .R.. ....
0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x14, 0x00, 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x0e, 0x21,
//0x0300: .... .... .... ...!
0x28, 0x15, 0x00, 0x01, 0x00, 0x00, 0x1d, 0x0b, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0x16,
//0x0310: (... .... .... ....
0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x19, 0x00, 0x32, 0x04, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16,
//0x0320: .... .... 2... ..2.
0x1e, 0x79, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16, 0x1e, 0x00, 0x00, 0x14, 0x00, 0x00, 0x34, 0x16,
//0x0330: .y.. ..2. .... ..4.
0x1e, 0xc0, 0x00, 0x02, 0x00, 0x00, 0x34, 0x16, 0x1e, 0xe9, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16,
//0x0340: .... ..4. .... ..2.
0x28, 0x68, 0x00, 0x37, 0x00, 0x00, 0x35, 0x21, 0x00, 0x63, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16,
//0x0350: (h.7 ..5! .c.. ..2.
0x28, 0x00, 0x00, 0x03, 0x00, 0x00, 0x32, 0x16, 0x1e, 0xa2, 0x00, 0x02, 0x00, 0x00, 0x34, 0x16,
//0x0360: (... ..2. .... ..4.
0x1e, 0x39, 0x00, 0x02, 0x00, 0x00, 0x34, 0x16, 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x36, 0x00,
//0x0370: .9.. ..4. .... ..6.
0x00, 0x48, 0x00, 0x03, 0x00, 0x00, 0x37, 0x2c, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x13, 0x00,
//0x0380: .H.. ..7, .... ....
0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x0e, 0x16, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x0e, 0x16,
//0x0390: .... .... .... ....
0x00, 0x2c, 0x01, 0x01, 0x00, 0x00, 0x0a, 0x16, 0x1e, 0xae, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x16,
//0x03a0: .,.. .... .... ....
0x14, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0b, 0x0b, 0x14, 0x00, 0x00, 0x32, 0x14, 0x00, 0x0b, 0x0b,
//0x03b0: .... .... ...2 ....
0x1e, 0x00, 0x00, 0x32, 0x14, 0x00, 0x0b, 0x16, 0x14, 0x00, 0x00, 0x32, 0x14, 0x00, 0x0e, 0x21,
//0x03c0: ...2 .... ...2 ...!
0x28, 0x00, 0x00, 0x32, 0x14, 0x00, 0xff, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e,
//0x03d0: (..2 ...D REAM WEB.
0x43, 0x30, 0x32, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x56, 0x39, 0x39,
//0x03e0: C02. DREA MWEB .V99
0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x31, 0x34, 0x00, 0x44, 0x52,
//0x03f0: .DRE AMWE B.G1 4.DR
0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x54, 0x35, 0x31, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d,
//0x0400: EAMW EB.T 51.D REAM
0x57, 0x45, 0x42, 0x2e, 0x54, 0x38, 0x33, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42,
//0x0410: WEB. T83. DREA MWEB
0x2e, 0x56, 0x4f, 0x4c, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x31,
//0x0420: .VOL .DRE AMWE B.G1
0x33, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x31, 0x35, 0x00, 0x44,
//0x0430: 3.DR EAMW EB.G 15.D
0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x37, 0x00, 0x00, 0x01, 0x11, 0x01,
//0x0440: REAM WEB. I07. ....
0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00, 0x7c, 0xc4, 0xf0, 0x00, 0x22, 0x01, 0x02, 0x00, 0x2c, 0x00,
//0x0450: @... ..|. ..". ..,.
0x94, 0xc4, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x11, 0x01,
//0x0460: .... @... .... ....
0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00, 0x7c, 0xc4, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00,
//0x0470: @... ..|. ..@. ....
0xa0, 0xca, 0xff, 0xff, 0x45, 0x58, 0x49, 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x48, 0x45,
//0x0480: .... EXIT HE
0x4c, 0x50, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x49, 0x53, 0x54, 0x20, 0x20, 0x20, 0x20,
//0x0490: LP LIST
0x20, 0x20, 0x52, 0x45, 0x41, 0x44, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x4f, 0x47, 0x4f,
//0x04a0: RE AD LOGO
0x4e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4b, 0x45, 0x59, 0x53, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
//0x04b0: N KE YS
0x01, 0x00, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, 0x55,
//0x04c0: ..PU BLIC PU
0x42, 0x4c, 0x49, 0x43, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x42, 0x4c, 0x41, 0x43,
//0x04d0: BLIC ... BLAC
0x4b, 0x44, 0x52, 0x41, 0x47, 0x4f, 0x4e, 0x20, 0x52, 0x59, 0x41, 0x4e, 0x20, 0x20, 0x20, 0x20,
//0x04e0: KDRA GON RYAN
0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x48, 0x45, 0x4e, 0x44, 0x52, 0x49, 0x58, 0x20, 0x20, 0x20,
//0x04f0: . ..HE NDRI X
0x20, 0x20, 0x4c, 0x4f, 0x55, 0x49, 0x53, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00,
//0x0500: LO UIS ...
0x53, 0x45, 0x50, 0x54, 0x49, 0x4d, 0x55, 0x53, 0x20, 0x20, 0x20, 0x20, 0x42, 0x45, 0x43, 0x4b,
//0x0510: SEPT IMUS BECK
0x45, 0x54, 0x54, 0x20, 0x20, 0x20, 0x20, 0x00, 0xff, 0xff, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
//0x0520: ETT . ..
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x22, 0x52, 0x4f, 0x4f, 0x54, 0x20, 0x20, 0x20,
//0x0530: . "ROO T
0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
//0x0540: ."
0x20, 0x20, 0x20, 0x00, 0x30, 0x30, 0x30, 0x30, 0x00, 0x30, 0x30, 0x00, 0xba, 0x00, 0xca, 0x00,
//0x0550: . 0000 .00. ....
0x9d, 0x00, 0xad, 0x00, 0x1c, 0xc8, 0xf3, 0x00, 0x03, 0x01, 0x83, 0x00, 0x93, 0x00, 0x18, 0xc8,
0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x2c, 0x00, 0x14, 0x00, 0x02, 0x00, 0x01,
//0x0200: .... .... .,.. ....
0x01, 0x37, 0x00, 0x00, 0x00, 0x32, 0x14, 0x00, 0x18, 0x16, 0x00, 0x4a, 0x00, 0x01, 0x00, 0x00,
//0x0210: .7.. .2.. ...J ....
0x18, 0x21, 0x0a, 0x4b, 0x00, 0x01, 0x00, 0x01, 0x01, 0x2c, 0x00, 0x1b, 0x00, 0x02, 0x00, 0x02,
//0x0220: .!.K .... .,.. ....
0x01, 0x2c, 0x00, 0x60, 0x00, 0x03, 0x00, 0x04, 0x01, 0x2c, 0x00, 0x76, 0x00, 0x02, 0x00, 0x05,
//0x0230: .,.` .... .,.v ....
0x01, 0x2c, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x00, 0x05, 0x16, 0x14, 0x35, 0x00, 0x03, 0x00, 0x00,
//0x0240: .,.. .... ...5 ....
0x05, 0x16, 0x14, 0x28, 0x00, 0x01, 0x00, 0x02, 0x05, 0x16, 0x14, 0x32, 0x00, 0x01, 0x00, 0x03,
//0x0250: ...( .... ...2 ....
0x02, 0x0b, 0x0a, 0xc0, 0x00, 0x01, 0x00, 0x00, 0x02, 0x0b, 0x0a, 0xb6, 0x00, 0x02, 0x00, 0x01,
//0x0260: .... .... .... ....
0x08, 0x0b, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x01, 0x17, 0x00, 0x32, 0x00, 0x00, 0x03, 0x00, 0x00,
//0x0270: .... .... ..2. ....
0x1c, 0x0b, 0x14, 0xfa, 0x00, 0x04, 0x00, 0x00, 0x17, 0x00, 0x32, 0x2b, 0x00, 0x02, 0x00, 0x08,
//0x0280: .... .... ..2+ ....
0x17, 0x0b, 0x28, 0x82, 0x00, 0x02, 0x00, 0x01, 0x17, 0x16, 0x28, 0x7a, 0x00, 0x02, 0x00, 0x02,
//0x0290: ..(. .... ..(z ....
0x17, 0x16, 0x28, 0x69, 0x00, 0x02, 0x00, 0x03, 0x17, 0x16, 0x28, 0x51, 0x00, 0x02, 0x00, 0x04,
//0x02a0: ..(i .... ..(Q ....
0x17, 0x0b, 0x28, 0x87, 0x00, 0x02, 0x00, 0x05, 0x17, 0x16, 0x28, 0x91, 0x00, 0x02, 0x00, 0x06,
//0x02b0: ..(. .... ..(. ....
0x04, 0x16, 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x2d, 0x16, 0x1e, 0xc8, 0x00, 0x00, 0x00, 0x14,
//0x02c0: .... .... -... ....
0x2d, 0x16, 0x1e, 0x27, 0x00, 0x02, 0x00, 0x00, 0x2d, 0x16, 0x1e, 0x19, 0x00, 0x02, 0x00, 0x00,
//0x02d0: -..' .... -... ....
0x08, 0x16, 0x28, 0x20, 0x00, 0x02, 0x00, 0x00, 0x07, 0x0b, 0x14, 0x40, 0x00, 0x02, 0x00, 0x00,
//0x02e0: ..( .... ...@ ....
0x16, 0x16, 0x14, 0x52, 0x00, 0x02, 0x00, 0x00, 0x1b, 0x0b, 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00,
//0x02f0: ...R .... .... ....
0x14, 0x00, 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x0e, 0x21, 0x28, 0x15, 0x00, 0x01, 0x00, 0x00,
//0x0300: .... .... .!(. ....
0x1d, 0x0b, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0x16, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00,
//0x0310: .... .... .... ....
0x19, 0x00, 0x32, 0x04, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16, 0x1e, 0x79, 0x00, 0x02, 0x00, 0x00,
//0x0320: ..2. .... 2..y ....
0x32, 0x16, 0x1e, 0x00, 0x00, 0x14, 0x00, 0x00, 0x34, 0x16, 0x1e, 0xc0, 0x00, 0x02, 0x00, 0x00,
//0x0330: 2... .... 4... ....
0x34, 0x16, 0x1e, 0xe9, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16, 0x28, 0x68, 0x00, 0x37, 0x00, 0x00,
//0x0340: 4... .... 2.(h .7..
0x35, 0x21, 0x00, 0x63, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16, 0x28, 0x00, 0x00, 0x03, 0x00, 0x00,
//0x0350: 5!.c .... 2.(. ....
0x32, 0x16, 0x1e, 0xa2, 0x00, 0x02, 0x00, 0x00, 0x34, 0x16, 0x1e, 0x39, 0x00, 0x02, 0x00, 0x00,
//0x0360: 2... .... 4..9 ....
0x34, 0x16, 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x36, 0x00, 0x00, 0x48, 0x00, 0x03, 0x00, 0x00,
//0x0370: 4... .... 6..H ....
0x37, 0x2c, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00,
//0x0380: 7,.. .... .... ....
0x0e, 0x16, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x0e, 0x16, 0x00, 0x2c, 0x01, 0x01, 0x00, 0x00,
//0x0390: .... .... ..., ....
0x0a, 0x16, 0x1e, 0xae, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x16, 0x14, 0x00, 0x00, 0x01, 0x00, 0x00,
//0x03a0: .... .... .... ....
0x0b, 0x0b, 0x14, 0x00, 0x00, 0x32, 0x14, 0x00, 0x0b, 0x0b, 0x1e, 0x00, 0x00, 0x32, 0x14, 0x00,
//0x03b0: .... .2.. .... .2..
0x0b, 0x16, 0x14, 0x00, 0x00, 0x32, 0x14, 0x00, 0x0e, 0x21, 0x28, 0x00, 0x00, 0x32, 0x14, 0x00,
//0x03c0: .... .2.. .!(. .2..
0xff, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x43, 0x30, 0x32, 0x00, 0x44, 0x52,
//0x03d0: .DRE AMWE B.C0 2.DR
0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x56, 0x39, 0x39, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d,
//0x03e0: EAMW EB.V 99.D REAM
0x57, 0x45, 0x42, 0x2e, 0x47, 0x31, 0x34, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42,
//0x03f0: WEB. G14. DREA MWEB
0x2e, 0x54, 0x35, 0x31, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x54, 0x38,
//0x0400: .T51 .DRE AMWE B.T8
0x33, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x56, 0x4f, 0x4c, 0x00, 0x44,
//0x0410: 3.DR EAMW EB.V OL.D
0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x31, 0x33, 0x00, 0x44, 0x52, 0x45, 0x41,
//0x0420: REAM WEB. G13. DREA
0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x31, 0x35, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45,
//0x0430: MWEB .G15 .DRE AMWE
0x42, 0x2e, 0x49, 0x30, 0x37, 0x00, 0x00, 0x01, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00,
//0x0440: B.I0 7... ..@. ....
0x7c, 0xc4, 0xf0, 0x00, 0x22, 0x01, 0x02, 0x00, 0x2c, 0x00, 0x94, 0xc4, 0x00, 0x00, 0x40, 0x01,
//0x0450: |... "... ,... ..@.
0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00,
//0x0460: .... .... ..@. ....
0x7c, 0xc4, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x45, 0x58,
//0x0470: |... @... .... ..EX
0x49, 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x48, 0x45, 0x4c, 0x50, 0x20, 0x20, 0x20, 0x20,
//0x0480: IT HELP
0x20, 0x20, 0x4c, 0x49, 0x53, 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x45, 0x41, 0x44,
//0x0490: LI ST READ
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x4f, 0x47, 0x4f, 0x4e, 0x20, 0x20, 0x20, 0x20, 0x20,
//0x04a0: LO GON
0x4b, 0x45, 0x59, 0x53, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x01, 0x00, 0x50, 0x55, 0x42, 0x4c,
//0x04b0: KEYS .. PUBL
0x49, 0x43, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x20,
//0x04c0: IC PUBL IC
0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x44, 0x52, 0x41, 0x47, 0x4f,
//0x04d0: . ..BL ACKD RAGO
0x4e, 0x20, 0x52, 0x59, 0x41, 0x4e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00,
//0x04e0: N RY AN ...
0x48, 0x45, 0x4e, 0x44, 0x52, 0x49, 0x58, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x4f, 0x55, 0x49,
//0x04f0: HEND RIX LOUI
0x53, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x53, 0x45, 0x50, 0x54, 0x49, 0x4d,
//0x0500: S . ..SE PTIM
0x55, 0x53, 0x20, 0x20, 0x20, 0x20, 0x42, 0x45, 0x43, 0x4b, 0x45, 0x54, 0x54, 0x20, 0x20, 0x20,
//0x0510: US BE CKET T
0x20, 0x00, 0xff, 0xff, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
//0x0520: ...
0x20, 0x00, 0x22, 0x52, 0x4f, 0x4f, 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00,
//0x0530: ."R OOT .
0x22, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x30, 0x30,
//0x0540: " .00
0x30, 0x30, 0x00, 0x30, 0x30, 0x00, 0xba, 0x00, 0xca, 0x00, 0x9d, 0x00, 0xad, 0x00, 0x1c, 0xc8,
//0x0550: 00.0 0... .... ....
0xf3, 0x00, 0x03, 0x01, 0x83, 0x00, 0x93, 0x00, 0x18, 0xc8, 0x0c, 0x01, 0x1c, 0x01, 0xa8, 0x00,
//0x0560: .... .... .... ....
0x0c, 0x01, 0x1c, 0x01, 0xa8, 0x00, 0xb8, 0x00, 0x50, 0xc7, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00,
//0x0570: .... .... P... @...
0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x77, 0x00, 0xae, 0x00, 0x52, 0x00, 0x80, 0x00, 0x34, 0xc8,
//0x0580: .... ..w. ..R. ..4.
0x46, 0x00, 0x89, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0x80, 0xc8, 0xbc, 0x00, 0xfa, 0x00, 0x44, 0x00,
//0x0590: F... >.o. .... ..D.
0x98, 0x00, 0x4c, 0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff,
//0x05a0: ..L. ..@. .... ....
0x77, 0x00, 0xae, 0x00, 0x52, 0x00, 0x80, 0x00, 0x44, 0xc8, 0x46, 0x00, 0x8b, 0x00, 0x3e, 0x00,
//0x05b0: w... R... D.F. ..>.
0x6f, 0x00, 0x50, 0xc8, 0xec, 0x00, 0xfc, 0x00, 0x70, 0x00, 0x80, 0x00, 0x48, 0xc8, 0x00, 0x00,
//0x05c0: o.P. .... p... H...
0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x0d, 0x0a, 0x0d, 0x0a, 0x24, 0x81,
//0x05d0: @... .... .... ..$.
0x00, 0xb8, 0x00, 0x52, 0x00, 0x80, 0x00, 0xc0, 0xc8, 0x50, 0x00, 0x93, 0x00, 0x3e, 0x00, 0x6f,
//0x05e0: ...R .... .P.. .>.o
0x00, 0x80, 0xc8, 0xb7, 0x00, 0xfa, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0xc4, 0xc8, 0x00, 0x00, 0x40,
//0x05f0: .... ...> .o.. ...@
0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x53, 0x50, 0x45, 0x45, 0x43, 0x48, 0x52,
//0x0600: .... .... .SPE ECHR
0x32, 0x34, 0x43, 0x30, 0x30, 0x30, 0x35, 0x2e, 0x52, 0x41, 0x57, 0x00, 0x4f, 0x42, 0x4a, 0x45,
//0x0610: 24C0 005. RAW. OBJE
0x43, 0x54, 0x20, 0x4e, 0x41, 0x4d, 0x45, 0x20, 0x4f, 0x4e, 0x45, 0x20, 0x20, 0x20, 0x20, 0x20,
//0x0620: CT N AME ONE
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
//0x0630:
0x20, 0x20, 0x20, 0x20, 0x00, 0x10, 0x12, 0x12, 0x11, 0x10, 0x10, 0x10, 0x01, 0x01, 0x01, 0x01,
//0x0640: .... .... ....
0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x44, 0x3a, 0x00,
//0x0650: .... .... .... .D:.
0xb8, 0x00, 0x50, 0xc7, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff,
//0x0570: ..P. ..@. .... ....
0x77, 0x00, 0xae, 0x00, 0x52, 0x00, 0x80, 0x00, 0x34, 0xc8, 0x46, 0x00, 0x89, 0x00, 0x3e, 0x00,
//0x0580: w... R... 4.F. ..>.
0x6f, 0x00, 0x80, 0xc8, 0xbc, 0x00, 0xfa, 0x00, 0x44, 0x00, 0x98, 0x00, 0x4c, 0xc8, 0x00, 0x00,
//0x0590: o... .... D... L...
0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x77, 0x00, 0xae, 0x00, 0x52, 0x00,
//0x05a0: @... .... ..w. ..R.
0x80, 0x00, 0x44, 0xc8, 0x46, 0x00, 0x8b, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0x50, 0xc8, 0xec, 0x00,
//0x05b0: ..D. F... >.o. P...
0xfc, 0x00, 0x70, 0x00, 0x80, 0x00, 0x48, 0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00,
//0x05c0: ..p. ..H. ..@. ....
0xa0, 0xca, 0xff, 0xff, 0x0d, 0x0a, 0x0d, 0x0a, 0x24, 0x81, 0x00, 0xb8, 0x00, 0x52, 0x00, 0x80,
//0x05d0: .... .... $... .R..
0x00, 0xc0, 0xc8, 0x50, 0x00, 0x93, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0x80, 0xc8, 0xb7, 0x00, 0xfa,
//0x05e0: ...P ...> .o.. ....
0x00, 0x3e, 0x00, 0x6f, 0x00, 0xc4, 0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0,
//0x05f0: .>.o .... .@.. ....
0xca, 0xff, 0xff, 0x53, 0x50, 0x45, 0x45, 0x43, 0x48, 0x52, 0x32, 0x34, 0x43, 0x30, 0x30, 0x30,
//0x0600: ...S PEEC HR24 C000
0x35, 0x2e, 0x52, 0x41, 0x57, 0x00, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x20, 0x4e, 0x41, 0x4d,
//0x0610: 5.RA W.OB JECT NAM
0x45, 0x20, 0x4f, 0x4e, 0x45, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
//0x0620: E ON E
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x10,
//0x0630: ..
0x12, 0x12, 0x11, 0x10, 0x10, 0x10, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02,
//0x0640: .... .... .... ....
0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x44, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x0650: .... ...D :... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x0660: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x0670: .... .... .... ....
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x02, 0x04, 0x01, 0x0a, 0x09, 0x08,
//0x0680: .... .... .... ....
0x02, 0x04, 0x01, 0x0a, 0x09, 0x08, 0x06, 0x0b, 0x04, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
0x06, 0x0b, 0x04, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x0690: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x06a0: .... .... .... ....
@ -7360,23 +7360,23 @@ void DreamGenContext::__start() {
//0x06f0: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x0700: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x02,
//0x0710: .... .... .... ....
0xff, 0xff, 0xff, 0xff, 0xff, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
//0x0720: .... .... .... ....
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
//0x0730: .... .... .... ....
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
//0x0740: .... .... .... ....
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
//0x0750: .... .... .... ....
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
//0x0760: .... .... .... ....
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
//0x0770: .... .... .... ....
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
//0x0780: .... .... .... ....
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, };
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, };
ds.assign(src, src + sizeof(src));
dreamweb();
}

View file

@ -32,21 +32,21 @@
namespace DreamGen {
static const uint16 offset_speechfile = 0x060f;
static const uint16 offset_operand1 = 0x052a;
static const uint16 offset_comlist = 0x0484;
static const uint16 offset_money2poke = 0x0559;
static const uint16 offset_discopslist = 0x05b0;
static const uint16 offset_openchangesize = 0x044c;
static const uint16 offset_keys = 0x04c0;
static const uint16 offset_diarylist = 0x055c;
static const uint16 offset_quitlist = 0x046e;
static const uint16 offset_rootdir = 0x0538;
static const uint16 offset_decidelist = 0x05df;
static const uint16 offset_money1poke = 0x0554;
static const uint16 offset_commandline = 0x061c;
static const uint16 offset_opslist = 0x0586;
static const uint16 offset_talklist = 0x044e;
static const uint16 offset_money1poke = 0x054e;
static const uint16 offset_talklist = 0x0448;
static const uint16 offset_decidelist = 0x05d9;
static const uint16 offset_discopslist = 0x05aa;
static const uint16 offset_openchangesize = 0x0446;
static const uint16 offset_operand1 = 0x0524;
static const uint16 offset_speechfile = 0x0609;
static const uint16 offset_comlist = 0x047e;
static const uint16 offset_opslist = 0x0580;
static const uint16 offset_diarylist = 0x0556;
static const uint16 offset_rootdir = 0x0532;
static const uint16 offset_money2poke = 0x0553;
static const uint16 offset_commandline = 0x0616;
static const uint16 offset_keys = 0x04ba;
static const uint16 offset_quitlist = 0x0468;
static const uint16 kStartvars = 0;
static const uint16 kProgresspoints = 1;
static const uint16 kWatchon = 2;
@ -174,272 +174,269 @@ static const uint16 kFlagx = 154;
static const uint16 kFlagy = 155;
static const uint16 kCurrentex = 156;
static const uint16 kCurrentfree = 157;
static const uint16 kCurrentframe = 158;
static const uint16 kFramesad = 160;
static const uint16 kDataad = 162;
static const uint16 kFrsegment = 164;
static const uint16 kObjectx = 166;
static const uint16 kObjecty = 168;
static const uint16 kOffsetx = 170;
static const uint16 kOffsety = 172;
static const uint16 kSavesize = 174;
static const uint16 kSavesource = 176;
static const uint16 kSavex = 178;
static const uint16 kSavey = 179;
static const uint16 kCurrentob = 180;
static const uint16 kPrioritydep = 181;
static const uint16 kDestpos = 182;
static const uint16 kReallocation = 183;
static const uint16 kRoomnum = 184;
static const uint16 kNowinnewroom = 185;
static const uint16 kResetmanxy = 186;
static const uint16 kNewlocation = 187;
static const uint16 kAutolocation = 188;
static const uint16 kMustload = 189;
static const uint16 kAnswered = 190;
static const uint16 kSaidno = 191;
static const uint16 kDoorcheck1 = 192;
static const uint16 kDoorcheck2 = 193;
static const uint16 kDoorcheck3 = 194;
static const uint16 kDoorcheck4 = 195;
static const uint16 kMousex = 196;
static const uint16 kMousey = 198;
static const uint16 kMousebutton = 200;
static const uint16 kMousebutton1 = 202;
static const uint16 kMousebutton2 = 204;
static const uint16 kMousebutton3 = 206;
static const uint16 kMousebutton4 = 208;
static const uint16 kOldbutton = 210;
static const uint16 kOldx = 212;
static const uint16 kOldy = 214;
static const uint16 kLastbutton = 216;
static const uint16 kOldpointerx = 218;
static const uint16 kOldpointery = 220;
static const uint16 kDelherex = 222;
static const uint16 kDelherey = 224;
static const uint16 kPointerxs = 226;
static const uint16 kPointerys = 227;
static const uint16 kDelxs = 228;
static const uint16 kDelys = 229;
static const uint16 kPointerframe = 230;
static const uint16 kPointerpower = 231;
static const uint16 kAuxpointerframe = 232;
static const uint16 kPointermode = 233;
static const uint16 kPointerspeed = 234;
static const uint16 kPointercount = 235;
static const uint16 kInmaparea = 236;
static const uint16 kReelpointer = 237;
static const uint16 kSlotdata = 239;
static const uint16 kThisslot = 240;
static const uint16 kSlotflags = 241;
static const uint16 kTakeoff = 242;
static const uint16 kTalkmode = 244;
static const uint16 kTalkpos = 245;
static const uint16 kCharacter = 246;
static const uint16 kPersondata = 247;
static const uint16 kTalknum = 249;
static const uint16 kNumberinroom = 250;
static const uint16 kCurrentcel = 251;
static const uint16 kOldselection = 252;
static const uint16 kStopwalking = 253;
static const uint16 kMouseon = 254;
static const uint16 kPlayed = 255;
static const uint16 kTimer1 = 257;
static const uint16 kTimer2 = 258;
static const uint16 kTimer3 = 259;
static const uint16 kWholetimer = 260;
static const uint16 kTimer1to = 262;
static const uint16 kTimer2to = 263;
static const uint16 kTimer3to = 264;
static const uint16 kWatchdump = 265;
static const uint16 kLogonum = 266;
static const uint16 kOldlogonum = 267;
static const uint16 kNewlogonum = 268;
static const uint16 kNetseg = 269;
static const uint16 kNetpoint = 271;
static const uint16 kKeynum = 273;
static const uint16 kCursorstate = 274;
static const uint16 kPressed = 275;
static const uint16 kPresspointer = 276;
static const uint16 kGraphicpress = 278;
static const uint16 kPresscount = 279;
static const uint16 kKeypadax = 280;
static const uint16 kKeypadcx = 282;
static const uint16 kLightcount = 284;
static const uint16 kFolderpage = 285;
static const uint16 kDiarypage = 286;
static const uint16 kMenucount = 287;
static const uint16 kSymboltopx = 288;
static const uint16 kSymboltopnum = 289;
static const uint16 kSymboltopdir = 290;
static const uint16 kSymbolbotx = 291;
static const uint16 kSymbolbotnum = 292;
static const uint16 kSymbolbotdir = 293;
static const uint16 kSymboltolight = 294;
static const uint16 kSymbol1 = 295;
static const uint16 kSymbol2 = 296;
static const uint16 kSymbol3 = 297;
static const uint16 kSymbolnum = 298;
static const uint16 kDumpx = 299;
static const uint16 kDumpy = 301;
static const uint16 kWalkandexam = 303;
static const uint16 kWalkexamtype = 304;
static const uint16 kWalkexamnum = 305;
static const uint16 kCursloc = 306;
static const uint16 kCurslocx = 308;
static const uint16 kCurslocy = 310;
static const uint16 kCurpos = 312;
static const uint16 kMonadx = 314;
static const uint16 kMonady = 316;
static const uint16 kGotfrom = 318;
static const uint16 kMonsource = 320;
static const uint16 kNumtodo = 322;
static const uint16 kTimecount = 324;
static const uint16 kCounttotimed = 326;
static const uint16 kTimedseg = 328;
static const uint16 kTimedoffset = 330;
static const uint16 kTimedy = 332;
static const uint16 kTimedx = 333;
static const uint16 kNeedtodumptimed = 334;
static const uint16 kHandle = 335;
static const uint16 kLoadingorsave = 337;
static const uint16 kCurrentslot = 338;
static const uint16 kCursorpos = 339;
static const uint16 kColourpos = 340;
static const uint16 kFadedirection = 341;
static const uint16 kNumtofade = 342;
static const uint16 kFadecount = 343;
static const uint16 kAddtogreen = 344;
static const uint16 kAddtored = 345;
static const uint16 kAddtoblue = 346;
static const uint16 kLastsoundreel = 347;
static const uint16 kSoundbuffer = 349;
static const uint16 kSoundbufferad = 351;
static const uint16 kSoundbufferpage = 353;
static const uint16 kSoundtimes = 354;
static const uint16 kNeedsoundbuff = 355;
static const uint16 kOldint9seg = 356;
static const uint16 kOldint9add = 358;
static const uint16 kOldint8seg = 360;
static const uint16 kOldint8add = 362;
static const uint16 kOldsoundintseg = 364;
static const uint16 kOldsoundintadd = 366;
static const uint16 kSoundbaseadd = 368;
static const uint16 kDsp_status = 370;
static const uint16 kDsp_write = 372;
static const uint16 kDmaaddress = 374;
static const uint16 kSoundint = 375;
static const uint16 kSounddmachannel = 376;
static const uint16 kSampleplaying = 377;
static const uint16 kTestresult = 378;
static const uint16 kCurrentirq = 379;
static const uint16 kSpeechloaded = 380;
static const uint16 kSpeechlength = 381;
static const uint16 kVolume = 383;
static const uint16 kVolumeto = 384;
static const uint16 kVolumedirection = 385;
static const uint16 kVolumecount = 386;
static const uint16 kPlayblock = 387;
static const uint16 kWongame = 388;
static const uint16 kLasthardkey = 389;
static const uint16 kBufferin = 390;
static const uint16 kBufferout = 392;
static const uint16 kExtras = 394;
static const uint16 kWorkspace = 396;
static const uint16 kMapstore = 398;
static const uint16 kCharset1 = 400;
static const uint16 kBuffers = 402;
static const uint16 kMainsprites = 404;
static const uint16 kBackdrop = 406;
static const uint16 kMapdata = 408;
static const uint16 kSounddata = 410;
static const uint16 kSounddata2 = 412;
static const uint16 kRecordspace = 414;
static const uint16 kFreedat = 416;
static const uint16 kSetdat = 418;
static const uint16 kReel1 = 420;
static const uint16 kReel2 = 422;
static const uint16 kReel3 = 424;
static const uint16 kRoomdesc = 426;
static const uint16 kFreedesc = 428;
static const uint16 kSetdesc = 430;
static const uint16 kBlockdesc = 432;
static const uint16 kSetframes = 434;
static const uint16 kFreeframes = 436;
static const uint16 kPeople = 438;
static const uint16 kReels = 440;
static const uint16 kCommandtext = 442;
static const uint16 kPuzzletext = 444;
static const uint16 kTraveltext = 446;
static const uint16 kTempgraphics = 448;
static const uint16 kTempgraphics2 = 450;
static const uint16 kTempgraphics3 = 452;
static const uint16 kTempsprites = 454;
static const uint16 kTextfile1 = 456;
static const uint16 kTextfile2 = 458;
static const uint16 kTextfile3 = 460;
static const uint16 kBlinkframe = 462;
static const uint16 kBlinkcount = 463;
static const uint16 kReasseschanges = 464;
static const uint16 kPointerspath = 465;
static const uint16 kManspath = 466;
static const uint16 kPointerfirstpath = 467;
static const uint16 kFinaldest = 468;
static const uint16 kDestination = 469;
static const uint16 kLinestartx = 470;
static const uint16 kLinestarty = 472;
static const uint16 kLineendx = 474;
static const uint16 kLineendy = 476;
static const uint16 kIncrement1 = 478;
static const uint16 kIncrement2 = 480;
static const uint16 kLineroutine = 482;
static const uint16 kLinepointer = 483;
static const uint16 kLinedirection = 484;
static const uint16 kLinelength = 485;
static const uint16 kLiftsoundcount = 486;
static const uint16 kEmmhandle = 487;
static const uint16 kEmmpageframe = 489;
static const uint16 kEmmhardwarepage = 491;
static const uint16 kCh0emmpage = 492;
static const uint16 kCh0offset = 494;
static const uint16 kCh0blockstocopy = 496;
static const uint16 kCh0playing = 498;
static const uint16 kCh0repeat = 499;
static const uint16 kCh0oldemmpage = 500;
static const uint16 kCh0oldoffset = 502;
static const uint16 kCh0oldblockstocopy = 504;
static const uint16 kCh1playing = 506;
static const uint16 kCh1emmpage = 507;
static const uint16 kCh1offset = 509;
static const uint16 kCh1blockstocopy = 511;
static const uint16 kCh1blocksplayed = 513;
static const uint16 kSoundbufferwrite = 515;
static const uint16 kSoundemmpage = 517;
static const uint16 kSpeechemmpage = 519;
static const uint16 kCurrentsample = 521;
static const uint16 kRoomssample = 522;
static const uint16 kGameerror = 523;
static const uint16 kHowmuchalloc = 524;
static const uint16 kReelroutines = 526;
static const uint16 kCharacterset3 = 983;
static const uint16 kBasicsample = 996;
static const uint16 kDiarygraphic = 1009;
static const uint16 kDiarytext = 1022;
static const uint16 kEndtextname = 1035;
static const uint16 kVolumetabname = 1048;
static const uint16 kGungraphic = 1061;
static const uint16 kMonkface = 1074;
static const uint16 kTitle7graphics = 1087;
static const uint16 kCurrentfile = 1350;
static const uint16 kRoomscango = 1661;
static const uint16 kRoompics = 1677;
static const uint16 kOplist = 1692;
static const uint16 kInputline = 1695;
static const uint16 kPresslist = 1823;
static const uint16 kSavenames = 1829;
static const uint16 kQuitrequested = 1948;
static const uint16 kSubtitles = 1949;
static const uint16 kForeignrelease = 1950;
static const uint16 kFramesad = 158;
static const uint16 kDataad = 160;
static const uint16 kFrsegment = 162;
static const uint16 kObjectx = 164;
static const uint16 kObjecty = 166;
static const uint16 kOffsetx = 168;
static const uint16 kOffsety = 170;
static const uint16 kSavesize = 172;
static const uint16 kSavesource = 174;
static const uint16 kSavex = 176;
static const uint16 kSavey = 177;
static const uint16 kCurrentob = 178;
static const uint16 kPrioritydep = 179;
static const uint16 kDestpos = 180;
static const uint16 kReallocation = 181;
static const uint16 kRoomnum = 182;
static const uint16 kNowinnewroom = 183;
static const uint16 kResetmanxy = 184;
static const uint16 kNewlocation = 185;
static const uint16 kAutolocation = 186;
static const uint16 kMustload = 187;
static const uint16 kAnswered = 188;
static const uint16 kSaidno = 189;
static const uint16 kDoorcheck1 = 190;
static const uint16 kDoorcheck2 = 191;
static const uint16 kDoorcheck3 = 192;
static const uint16 kDoorcheck4 = 193;
static const uint16 kMousex = 194;
static const uint16 kMousey = 196;
static const uint16 kMousebutton = 198;
static const uint16 kMousebutton1 = 200;
static const uint16 kMousebutton2 = 202;
static const uint16 kMousebutton3 = 204;
static const uint16 kMousebutton4 = 206;
static const uint16 kOldbutton = 208;
static const uint16 kOldx = 210;
static const uint16 kOldy = 212;
static const uint16 kLastbutton = 214;
static const uint16 kOldpointerx = 216;
static const uint16 kOldpointery = 218;
static const uint16 kDelherex = 220;
static const uint16 kDelherey = 222;
static const uint16 kPointerxs = 224;
static const uint16 kPointerys = 225;
static const uint16 kDelxs = 226;
static const uint16 kDelys = 227;
static const uint16 kPointerframe = 228;
static const uint16 kPointerpower = 229;
static const uint16 kAuxpointerframe = 230;
static const uint16 kPointermode = 231;
static const uint16 kPointerspeed = 232;
static const uint16 kPointercount = 233;
static const uint16 kInmaparea = 234;
static const uint16 kSlotdata = 235;
static const uint16 kThisslot = 236;
static const uint16 kSlotflags = 237;
static const uint16 kTalkmode = 238;
static const uint16 kTalkpos = 239;
static const uint16 kCharacter = 240;
static const uint16 kPersondata = 241;
static const uint16 kTalknum = 243;
static const uint16 kNumberinroom = 244;
static const uint16 kCurrentcel = 245;
static const uint16 kOldselection = 246;
static const uint16 kStopwalking = 247;
static const uint16 kMouseon = 248;
static const uint16 kPlayed = 249;
static const uint16 kTimer1 = 251;
static const uint16 kTimer2 = 252;
static const uint16 kTimer3 = 253;
static const uint16 kWholetimer = 254;
static const uint16 kTimer1to = 256;
static const uint16 kTimer2to = 257;
static const uint16 kTimer3to = 258;
static const uint16 kWatchdump = 259;
static const uint16 kLogonum = 260;
static const uint16 kOldlogonum = 261;
static const uint16 kNewlogonum = 262;
static const uint16 kNetseg = 263;
static const uint16 kNetpoint = 265;
static const uint16 kKeynum = 267;
static const uint16 kCursorstate = 268;
static const uint16 kPressed = 269;
static const uint16 kPresspointer = 270;
static const uint16 kGraphicpress = 272;
static const uint16 kPresscount = 273;
static const uint16 kKeypadax = 274;
static const uint16 kKeypadcx = 276;
static const uint16 kLightcount = 278;
static const uint16 kFolderpage = 279;
static const uint16 kDiarypage = 280;
static const uint16 kMenucount = 281;
static const uint16 kSymboltopx = 282;
static const uint16 kSymboltopnum = 283;
static const uint16 kSymboltopdir = 284;
static const uint16 kSymbolbotx = 285;
static const uint16 kSymbolbotnum = 286;
static const uint16 kSymbolbotdir = 287;
static const uint16 kSymboltolight = 288;
static const uint16 kSymbol1 = 289;
static const uint16 kSymbol2 = 290;
static const uint16 kSymbol3 = 291;
static const uint16 kSymbolnum = 292;
static const uint16 kDumpx = 293;
static const uint16 kDumpy = 295;
static const uint16 kWalkandexam = 297;
static const uint16 kWalkexamtype = 298;
static const uint16 kWalkexamnum = 299;
static const uint16 kCursloc = 300;
static const uint16 kCurslocx = 302;
static const uint16 kCurslocy = 304;
static const uint16 kCurpos = 306;
static const uint16 kMonadx = 308;
static const uint16 kMonady = 310;
static const uint16 kGotfrom = 312;
static const uint16 kMonsource = 314;
static const uint16 kNumtodo = 316;
static const uint16 kTimecount = 318;
static const uint16 kCounttotimed = 320;
static const uint16 kTimedseg = 322;
static const uint16 kTimedoffset = 324;
static const uint16 kTimedy = 326;
static const uint16 kTimedx = 327;
static const uint16 kNeedtodumptimed = 328;
static const uint16 kHandle = 329;
static const uint16 kLoadingorsave = 331;
static const uint16 kCurrentslot = 332;
static const uint16 kCursorpos = 333;
static const uint16 kColourpos = 334;
static const uint16 kFadedirection = 335;
static const uint16 kNumtofade = 336;
static const uint16 kFadecount = 337;
static const uint16 kAddtogreen = 338;
static const uint16 kAddtored = 339;
static const uint16 kAddtoblue = 340;
static const uint16 kLastsoundreel = 341;
static const uint16 kSoundbuffer = 343;
static const uint16 kSoundbufferad = 345;
static const uint16 kSoundbufferpage = 347;
static const uint16 kSoundtimes = 348;
static const uint16 kNeedsoundbuff = 349;
static const uint16 kOldint9seg = 350;
static const uint16 kOldint9add = 352;
static const uint16 kOldint8seg = 354;
static const uint16 kOldint8add = 356;
static const uint16 kOldsoundintseg = 358;
static const uint16 kOldsoundintadd = 360;
static const uint16 kSoundbaseadd = 362;
static const uint16 kDsp_status = 364;
static const uint16 kDsp_write = 366;
static const uint16 kDmaaddress = 368;
static const uint16 kSoundint = 369;
static const uint16 kSounddmachannel = 370;
static const uint16 kSampleplaying = 371;
static const uint16 kTestresult = 372;
static const uint16 kCurrentirq = 373;
static const uint16 kSpeechloaded = 374;
static const uint16 kSpeechlength = 375;
static const uint16 kVolume = 377;
static const uint16 kVolumeto = 378;
static const uint16 kVolumedirection = 379;
static const uint16 kVolumecount = 380;
static const uint16 kPlayblock = 381;
static const uint16 kWongame = 382;
static const uint16 kLasthardkey = 383;
static const uint16 kBufferin = 384;
static const uint16 kBufferout = 386;
static const uint16 kExtras = 388;
static const uint16 kWorkspace = 390;
static const uint16 kMapstore = 392;
static const uint16 kCharset1 = 394;
static const uint16 kBuffers = 396;
static const uint16 kMainsprites = 398;
static const uint16 kBackdrop = 400;
static const uint16 kMapdata = 402;
static const uint16 kSounddata = 404;
static const uint16 kSounddata2 = 406;
static const uint16 kRecordspace = 408;
static const uint16 kFreedat = 410;
static const uint16 kSetdat = 412;
static const uint16 kReel1 = 414;
static const uint16 kReel2 = 416;
static const uint16 kReel3 = 418;
static const uint16 kRoomdesc = 420;
static const uint16 kFreedesc = 422;
static const uint16 kSetdesc = 424;
static const uint16 kBlockdesc = 426;
static const uint16 kSetframes = 428;
static const uint16 kFreeframes = 430;
static const uint16 kPeople = 432;
static const uint16 kReels = 434;
static const uint16 kCommandtext = 436;
static const uint16 kPuzzletext = 438;
static const uint16 kTraveltext = 440;
static const uint16 kTempgraphics = 442;
static const uint16 kTempgraphics2 = 444;
static const uint16 kTempgraphics3 = 446;
static const uint16 kTempsprites = 448;
static const uint16 kTextfile1 = 450;
static const uint16 kTextfile2 = 452;
static const uint16 kTextfile3 = 454;
static const uint16 kBlinkframe = 456;
static const uint16 kBlinkcount = 457;
static const uint16 kReasseschanges = 458;
static const uint16 kPointerspath = 459;
static const uint16 kManspath = 460;
static const uint16 kPointerfirstpath = 461;
static const uint16 kFinaldest = 462;
static const uint16 kDestination = 463;
static const uint16 kLinestartx = 464;
static const uint16 kLinestarty = 466;
static const uint16 kLineendx = 468;
static const uint16 kLineendy = 470;
static const uint16 kIncrement1 = 472;
static const uint16 kIncrement2 = 474;
static const uint16 kLineroutine = 476;
static const uint16 kLinepointer = 477;
static const uint16 kLinedirection = 478;
static const uint16 kLinelength = 479;
static const uint16 kLiftsoundcount = 480;
static const uint16 kEmmhandle = 481;
static const uint16 kEmmpageframe = 483;
static const uint16 kEmmhardwarepage = 485;
static const uint16 kCh0emmpage = 486;
static const uint16 kCh0offset = 488;
static const uint16 kCh0blockstocopy = 490;
static const uint16 kCh0playing = 492;
static const uint16 kCh0repeat = 493;
static const uint16 kCh0oldemmpage = 494;
static const uint16 kCh0oldoffset = 496;
static const uint16 kCh0oldblockstocopy = 498;
static const uint16 kCh1playing = 500;
static const uint16 kCh1emmpage = 501;
static const uint16 kCh1offset = 503;
static const uint16 kCh1blockstocopy = 505;
static const uint16 kCh1blocksplayed = 507;
static const uint16 kSoundbufferwrite = 509;
static const uint16 kSoundemmpage = 511;
static const uint16 kSpeechemmpage = 513;
static const uint16 kCurrentsample = 515;
static const uint16 kRoomssample = 516;
static const uint16 kGameerror = 517;
static const uint16 kHowmuchalloc = 518;
static const uint16 kReelroutines = 520;
static const uint16 kCharacterset3 = 977;
static const uint16 kBasicsample = 990;
static const uint16 kDiarygraphic = 1003;
static const uint16 kDiarytext = 1016;
static const uint16 kEndtextname = 1029;
static const uint16 kVolumetabname = 1042;
static const uint16 kGungraphic = 1055;
static const uint16 kMonkface = 1068;
static const uint16 kTitle7graphics = 1081;
static const uint16 kCurrentfile = 1344;
static const uint16 kRoomscango = 1655;
static const uint16 kRoompics = 1671;
static const uint16 kOplist = 1686;
static const uint16 kInputline = 1689;
static const uint16 kPresslist = 1817;
static const uint16 kSavenames = 1823;
static const uint16 kQuitrequested = 1942;
static const uint16 kSubtitles = 1943;
static const uint16 kForeignrelease = 1944;
static const uint16 kBlocktextdat = (0);
static const uint16 kPersonframes = (0);
static const uint16 kDebuglevel1 = (0);
@ -478,8 +475,8 @@ static const uint16 kListofchanges = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768
static const uint16 kUndertimedtext = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4));
static const uint16 kRainlist = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30));
static const uint16 kInitialreelrouts = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64));
static const uint16 kInitialvars = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+983-526);
static const uint16 kLengthofbuffer = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+983-526+68-0);
static const uint16 kInitialvars = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+977-520);
static const uint16 kLengthofbuffer = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+977-520+68-0);
static const uint16 kReellist = (0+(36*144));
static const uint16 kIntext = (0+(38*2));
static const uint16 kLengthofmap = (0+(66*60));
@ -531,7 +528,7 @@ static const uint16 kZoomx = (8);
static const uint16 kInventx = (80);
static const uint16 kMenux = (80+40);
static const uint16 kHeaderlen = (96);
static const uint16 kLenofreelrouts = (983-526);
static const uint16 kLenofreelrouts = (977-520);
class DreamGenContext : public DreamBase, public Context {

View file

@ -464,36 +464,33 @@ void DreamGenContext::faceRightWay() {
data.byte(kLeavedirection) = dir;
}
// Locate the reel segment (reel1, reel2, reel3) this frame is stored in.
// The return value is a pointer to the start of the segment.
// data.word(kCurrentframe) - data.word(kTakeoff) is the number of the frame
// inside that segment
Frame *DreamGenContext::findSource() {
uint16 currentFrame = data.word(kCurrentframe);
if (currentFrame < 160) {
data.word(kTakeoff) = 0;
return (Frame *)getSegment(data.word(kReel1)).ptr(0, 0);
} else if (currentFrame < 320) {
data.word(kTakeoff) = 160;
return (Frame *)getSegment(data.word(kReel2)).ptr(0, 0);
} else {
data.word(kTakeoff) = 320;
return (Frame *)getSegment(data.word(kReel3)).ptr(0, 0);
}
}
Reel *DreamBase::getReelStart(uint16 reelPointer) {
Reel *reel = (Reel *)getSegment(data.word(kReels)).ptr(kReellist + reelPointer * sizeof(Reel) * 8, sizeof(Reel));
return reel;
}
void DreamGenContext::showReelFrame(Reel *reel) {
// Locate the reel segment (reel1, reel2, reel3) this frame is stored in,
// and adjust the frame number relative to this segment.
const Frame *DreamBase::findSource(uint16 &frame) {
uint16 base;
if (frame < 160) {
base = data.word(kReel1);
} else if (frame < 320) {
frame -= 160;
base = data.word(kReel2);
} else {
frame -= 320;
base = data.word(kReel3);
}
return (const Frame *)getSegment(base).ptr(0, (frame+1)*sizeof(Frame));
}
void DreamBase::showReelFrame(Reel *reel) {
uint16 x = reel->x + data.word(kMapadx);
uint16 y = reel->y + data.word(kMapady);
data.word(kCurrentframe) = reel->frame();
Frame *source = findSource();
uint16 frame = data.word(kCurrentframe) - data.word(kTakeoff);
showFrame(source, x, y, frame, 8);
uint16 frame = reel->frame();
const Frame *base = findSource(frame);
showFrame(base, x, y, frame, 8);
}
void DreamGenContext::showGameReel() {
@ -508,11 +505,9 @@ void DreamGenContext::showGameReel(ReelRoutine *routine) {
routine->setReelPointer(reelPointer);
}
const Frame *DreamGenContext::getReelFrameAX(uint16 frame) {
data.word(kCurrentframe) = frame;
Frame *source = findSource();
uint16 offset = data.word(kCurrentframe) - data.word(kTakeoff);
return source + offset;
const Frame *DreamBase::getReelFrameAX(uint16 frame) {
const Frame *base = findSource(frame);
return base + frame;
}
void DreamGenContext::showRain() {

View file

@ -115,11 +115,8 @@
void wideDoor(Sprite *sprite, SetObject *objData);
void lockedDoorway(Sprite *sprite, SetObject *objData);
void liftSprite(Sprite *sprite, SetObject *objData);
Frame *findSource();
void showGameReel();
void showGameReel(ReelRoutine *routine);
void showReelFrame(Reel *reel);
const Frame *getReelFrameAX(uint16 frame);
void turnPathOn(uint8 param);
void turnPathOff(uint8 param);
void turnPathOn();
@ -162,8 +159,8 @@
uint8 getMapAd(const uint8 *setData);
uint8 getXAd(const uint8 *setData, uint8 *result);
uint8 getYAd(const uint8 *setData, uint8 *result);
void calcFrFrame();
void calcFrFrame(uint8* width, uint8* height);
void calcFrFrame(uint16 frame);
void calcFrFrame(uint16 frame, uint8* width, uint8* height);
void finalFrame();
void finalFrame(uint16 *x, uint16 *y);
void showAllObs();

View file

@ -30,10 +30,9 @@ uint16 DreamGenContext::getPersFrame(uint8 index) {
void DreamGenContext::convIcons() {
uint8 index = data.byte(kCharacter) & 127;
data.word(kCurrentframe) = getPersFrame(index);
Frame *frame = findSource();
uint16 frameNumber = (data.word(kCurrentframe) - data.word(kTakeoff)) & 0xff;
showFrame(frame, 234, 2, frameNumber, 0);
uint16 frame = getPersFrame(index);
const Frame *base = findSource(frame);
showFrame(base, 234, 2, frame, 0);
}
} // End of namespace DreamGen