diff options
Diffstat (limited to 'engines/dreamweb/vgagrafx.cpp')
-rw-r--r-- | engines/dreamweb/vgagrafx.cpp | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/engines/dreamweb/vgagrafx.cpp b/engines/dreamweb/vgagrafx.cpp index 1088058fe5..4ad52378ee 100644 --- a/engines/dreamweb/vgagrafx.cpp +++ b/engines/dreamweb/vgagrafx.cpp @@ -431,11 +431,13 @@ void DreamGenContext::zoom() { } void DreamGenContext::panelToMap() { - multiGet(getSegment(data.word(kMapstore)).ptr(0, 0), data.word(kMapxstart) + data.word(kMapadx), data.word(kMapystart) + data.word(kMapady), data.byte(kMapxsize), data.byte(kMapysize)); + SegmentRef mapstore = getSegment(data.word(kMapstore)); + multiGet(getSegment(mapstore).ptr(0, 0), data.word(kMapxstart) + data.word(kMapadx), data.word(kMapystart) + data.word(kMapady), data.byte(kMapxsize), data.byte(kMapysize)); } void DreamGenContext::mapToPanel() { - multiPut(getSegment(data.word(kMapstore)).ptr(0, 0), data.word(kMapxstart) + data.word(kMapadx), data.word(kMapystart) + data.word(kMapady), data.byte(kMapxsize), data.byte(kMapysize)); + SegmentRef mapstore = getSegment(data.word(kMapstore)); + multiPut(getSegment(mapstore).ptr(0, 0), data.word(kMapxstart) + data.word(kMapadx), data.word(kMapystart) + data.word(kMapady), data.byte(kMapxsize), data.byte(kMapysize)); } void DreamGenContext::dumpMap() { @@ -469,15 +471,14 @@ bool DreamGenContext::pixelCheckSet(const ObjPos *pos, uint8 x, uint8 y) { } void DreamGenContext::loadPalFromIFF() { - dx = kPalettescreen; - openFile(); - cx = 2000; - ds = data.word(kMapstore); - dx = 0; - readFromFile(); - closeFile(); - - const uint8 *src = getSegment(data.word(kMapstore)).ptr(0x30, 0); + SegmentRef mapstore = getSegment(data.word(kMapstore)); + + // TODO: Get rid of data blob position kPalettescreen; + engine->openFile("DREAMWEB.PAL"); + engine->readFromFile(mapstore.ptr(0, 2000), 2000); + engine->closeFile(); + + const uint8 *src = mapstore.ptr(0x30, 0); uint8 *dst = mainPalette(); for (size_t i = 0; i < 256*3; ++i) { uint8 c = src[i] / 4; |