diff options
| author | Willem Jan Palenstijn | 2011-12-27 14:09:29 +0100 | 
|---|---|---|
| committer | Willem Jan Palenstijn | 2011-12-27 17:56:50 +0100 | 
| commit | 7bae1022eddc9805bb9163c01676f02f50459c4f (patch) | |
| tree | 983a261e4dc756b1fc081b8d3db36c4f9ecc80ed | |
| parent | 39a0153fbf503854011bc1947ef261e06868d971 (diff) | |
| download | scummvm-rg350-7bae1022eddc9805bb9163c01676f02f50459c4f.tar.gz scummvm-rg350-7bae1022eddc9805bb9163c01676f02f50459c4f.tar.bz2 scummvm-rg350-7bae1022eddc9805bb9163c01676f02f50459c4f.zip  | |
DREAMWEB: Remove mapData segment
| -rw-r--r-- | engines/dreamweb/backdrop.cpp | 5 | ||||
| -rw-r--r-- | engines/dreamweb/dreambase.h | 6 | ||||
| -rw-r--r-- | engines/dreamweb/sprite.cpp | 3 | ||||
| -rw-r--r-- | engines/dreamweb/stubs.cpp | 3 | 
4 files changed, 11 insertions, 6 deletions
diff --git a/engines/dreamweb/backdrop.cpp b/engines/dreamweb/backdrop.cpp index 875e16805e..e85889dae5 100644 --- a/engines/dreamweb/backdrop.cpp +++ b/engines/dreamweb/backdrop.cpp @@ -27,7 +27,7 @@ namespace DreamGen {  void DreamBase::doBlocks() {  	uint16 dstOffset = data.word(kMapady) * 320 + data.word(kMapadx);  	uint16 mapOffset = kMap + data.byte(kMapy) * kMapwidth + data.byte(kMapx); -	const uint8 *mapData = getSegment(data.word(kMapdata)).ptr(mapOffset, 0); +	const uint8 *mapData = _mapData + mapOffset;  	const uint8 *blocks = getSegment(data.word(kBackdrop)).ptr(kBlocks, 0);  	uint8 *dstBuffer = workspace() + dstOffset; @@ -242,7 +242,8 @@ void DreamBase::showAllFree() {  void DreamBase::drawFlags() {  	uint8 *mapFlags = _mapFlags; -	const uint8 *mapData = getSegment(data.word(kMapdata)).ptr(kMap + data.byte(kMapy) * kMapwidth + data.byte(kMapx), 0); +	uint16 mapOffset = kMap + data.byte(kMapy) * kMapwidth + data.byte(kMapx); +	const uint8 *mapData = _mapData + mapOffset;  	const uint8 *backdropFlags = getSegment(data.word(kBackdrop)).ptr(kFlags, 0);  	for (size_t i = 0; i < 10; ++i) { diff --git a/engines/dreamweb/dreambase.h b/engines/dreamweb/dreambase.h index ed384fae99..b310bb3b46 100644 --- a/engines/dreamweb/dreambase.h +++ b/engines/dreamweb/dreambase.h @@ -48,6 +48,9 @@ const unsigned int kUnderTimedTextBufSize = 256 * kUnderTimedTextSizeY_f;  const unsigned int kLengthOfVars = 68;  const unsigned int kNumChanges = 250;  const unsigned int kLenOfMapStore = 22*8*20*8; +const unsigned int kMapWidth = 66; +const unsigned int kMapHeight = 60; +const unsigned int kLengthOfMap = kMapWidth * kMapHeight;  /**   * This class is one of the parent classes of DreamGenContext. Its sole purpose @@ -62,6 +65,9 @@ class DreamBase : public SegmentManager {  protected:  	DreamWeb::DreamWebEngine *engine; +	// from backdrop.cpp +	uint8 _mapData[kLengthOfMap + 32]; +  	// from keypad.cpp  	uint8 _pressList[6]; diff --git a/engines/dreamweb/sprite.cpp b/engines/dreamweb/sprite.cpp index 3c1ba6be2f..244f6a32ae 100644 --- a/engines/dreamweb/sprite.cpp +++ b/engines/dreamweb/sprite.cpp @@ -1100,8 +1100,7 @@ void DreamBase::clearBeforeLoad() {  	clearReels();  	//clearRest -	uint8 *dst = (uint8 *)getSegment(data.word(kMapdata)).ptr(0, 0); -	memset(dst, 0, kMaplen); +	memset(_mapData, 0, kMaplen);  	deallocateMem(data.word(kBackdrop));  	deallocateMem(data.word(kSetframes));  	deallocateMem(data.word(kReels)); diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index 772509b842..e47e79250f 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -1885,7 +1885,7 @@ void DreamBase::zoomOnOff() {  void DreamBase::sortOutMap() {  	const uint8 *src = workspace(); -	uint8 *dst = (uint8 *)getSegment(data.word(kMapdata)).ptr(0, 0); +	uint8 *dst = _mapData;  	for (uint16 y = 0; y < kMaplength; ++y) {  		memcpy(dst, src, kMapwidth);  		dst += kMapwidth; @@ -2461,7 +2461,6 @@ void DreamBase::drawFloor() {  void DreamBase::allocateBuffers() {  	data.word(kExtras) = allocateMem(kLengthofextra/16); -	data.word(kMapdata) = allocateMem(kLengthofmap/16);  	data.word(kFreedat) = allocateMem(kFreedatlen/16);  	data.word(kSetdat) = allocateMem(kSetdatlen/16);  }  | 
